ShadowSocks用于加密客户端和服务器通信之间的数据。ShadowSocks服务器是一个代理服务器,它将与ShadowSocks客户端使用指定的加密方法进行通信。它不是VPN,但它可以像VPN一样通过加密您的互联网数据来保护您。因此,本文将告诉您如何在Ubuntu中设置和配置ShadowSocks服务器,以及如何在MacOS,Windows和Linux中设置和使用ShadowSocks客户端工具。
1.在Ubuntu中设置ShadowSocks服务器。
- 使用SSH客户端连接Ubuntu服务器。
- 执行
sudo -i
切换到root用户。 - 使用以下命令更新和升级OS软件包。
#apt update #apt升级
- 通过使用gedit编辑/etc/sysctl.conf文件启用BBR 。启用bbr可以通过最大化网络带宽使用来提高ShadowSocks代理性能。
〜#gedit /etc/sysctl.conf
- 在文件/etc/sysctl.conf的末尾添加以下两行并保存。
net.core.default_qdisc = FQ net.ipv4.tcp_congestion_control = BBR
- 执行命令
reboot
重启ubuntu操作系统。 - 重启后,运行
lsmod | grep bbr
命令验证bbr配置。如果在控制台输出中看到tcp_bbr行,则表示正确启用了bbr。〜#lsmod | grep bbr tcp_bbr 20480 11
- 现在,您可以通过以下任一命令安装ShadowSocks服务器。
〜#apt安装shadowsocks 要么 〜#apt install python-pip 〜#pip安装shadowsocks
- 之后,您可以
ssserver
在终端中运行命令以验证是否已安装ShadowSocks服务器。
2.配置并启动ShadowSocks Server。
- 如果文件夹不存在,请创建目录/ etc / shadowsocks。
$ sudo mkdir / etc / shadowsocks
- 如果文件不存在,请在上面的文件夹中创建ShadowSocks配置文件。
$ sudo gedit /etc/shadowsocks/config.json
- 在上面的文件中添加以下json数据。在下面的json数据中使用您自己的服务器数据。
{ “server”:“0.0.0.0”,##代理服务器外部ip地址。 “server_port”:8888,##代理服务器侦听端口号。 “local_address”: “127.0.0.1”, “local_port”:1080,##本地侦听端口号。 “password”:“888888”,##代理服务器连接密码 “超时”:300, “method”:“aes-256-cfb”,##数据加密方法 “dast_open”:假的 }
- 使用以下命令启动ShadowSocks服务器。要确保可以正确启动shadowsocks服务器,请删除
-d
命令参数以在控制台中显示服务器日志。〜 $ sudo ssserver -c /etc/shadowsocks/config.json -d start
- 如果您遇到如下错误消息。
AttributeError:/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1:未定义的符号:EVP_CIPHER_CTX_cleanup - 您需要编辑 /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py文件。
将第22行从 libcrypto.EVP_CIPHER_CTX_cleanup.argtypes =(c_void_p,) 更改为 libcrypto.EVP_CIPHER_CTX_reset.argtypes =(c_void_p,),将
第111行从libcrypto.EVP_CIPHER_CTX_cleanup(self._ctx)更改 为 libcrypto.EVP_CIPHER_CTX_reset(self._ctx)。 - 然后再次启动ShadowSocks服务器,错误将消失。
- 如果您遇到socket.error:[Errno 99]启动shadowsocks服务器时无法分配请求的地址错误,如下所示。要修复它,只需在/etc/shadowsocks/config.json文件中将服务器ip更改为“0.0.0.0”。
root @ instance-3 :〜#ssserver -c /etc/shadowsocks/config.json start 信息:从/etc/shadowsocks/config.json加载配置 2019-02-06 09:47:00 INFO从libcrypto.so.1.1加载libcrypto 2019-02-06 09:47:00 INFO启动服务器在34.73.193.214:9090 Traceback(最近一次调用最后一次): 在<module>中的文件“/ usr / bin / ssserver”,第11行 load_entry_point('shadowsocks == 2.9.0','console_scripts','ssserver')() 文件“/usr/lib/python2.7/dist-packages/shadowsocks/server.py”,第74行,主要 tcp_servers.append(tcprelay.TCPRelay(a_config,dns_resolver,False)) 在__init__中输入文件“/usr/lib/python2.7/dist-packages/shadowsocks/tcprelay.py”,第733行 server_socket.bind(SA) 文件“/usr/lib/python2.7/socket.py”,第228行,在meth return getattr(self._sock,name)(* args) socket.error:[Errno 99]无法分配请求的地址
3.设置ShadowSocks客户端工具。
您可以从官方下载页面下载ShadowSocks客户端工具。
阅读: 如何在Amazon EC2 Linux上安装ShadowSocks Server
3.1对于MacOS。
- 从github 下载ShadowsocksX-NG。
- 它是一个zip文件,解压缩后,您可以直接使用它。
- 当您单击它开始时,它将出现在MacOS查找器栏的右上角。第一个小飞机图标就是它的图标。
- 单击小平面图标,将弹出菜单列表,单击服务器 – >服务器首选项…菜单项以打开服务器管理器对话框。
- 单击服务器列表中的+按钮添加新的ShadowSocks服务器,输入相关的服务器信息,单击确定按钮进行保存。
- 现在您可以在ShadossocksX NG弹出菜单列表中选择ShadowSocks服务器来使用它。打开Web浏览器,然后您可以通过ShadowSocks服务器找到Web流量。
3.2对于Windows。
ShadowSocks windows客户端工具与MacOS客户端工具类似,可以 从github 下载shadowsocks-win,配置也很容易像MacOS。
3.3对于Linux。
3.3.1设置ShadowSocks客户端工具。
此工具将与ShadowSocks服务器通信使用加密通信数据。
- 在Linux中安装ShadowSocks遵循本文第1,2节。
- ShadowSocks安装可以用作服务器,但也可以用作客户端工具。当您将其用作服务器时,使用ssserver命令,sslocal命令将启动客户端工具。
- 运行以下命令以安装ShadowSocks软件。
〜$ sudo apt安装shadowsocks
- 安装后,已创建/etc/shadowsocks/config.json文件。只需将其内容编辑为您自己的内容即可。
〜$ sudo gedit /etc/shadowsocks/config.json { “服务器”: “1.2.1.2”, “SERVER_PORT”:8888, “local_address”: “127.0.0.1”, “LOCAL_PORT”:1080, “密码”: “888888”, “超时”:300, “方法”: “AES-256-CFB”, “dast_open”:假的 }
- 运行sslocal命令以启动ShadowSocks客户端工具。当您看到以下消息时,表示客户端工具已成功启动。
jerry @jerry-VirtualBox :〜$ sslocal -c /etc/shadowsocks/config.json 信息:从/etc/shadowsocks/config.json加载配置 2018-10-01 21:28:25 INFO从libcrypto.so.1.1加载libcrypto 2018-10-01 21:28:25 INFO从127.0.0.1:1080开始本地化
3.3.2设置本地Http代理服务器。
polipo是一个缓存Web代理,它可以将您的http请求重定向到socks5代理服务器。或者您可以使用其他http代理工具具有您熟悉的相同功能。
- 在ubuntu下使用以下命令安装polipo。
〜$ sudo apt-get install polipo
- 停止polipo并在polipo配置文件/ etc / polipo / configure中添加以下代理配置代码
〜$ sudo服务polipo停止 〜$ sudo gedit / etc / polipo / config #添加以下polopo设置数据 socksParentProxy = localhost:1080 proxyPort = 8787
- 再次启动polipo服务。
〜$ sudo服务polipo开始
- 运行
ps -ef | grep polipo
以确保polipo已启动。杰里@jerry-VirtualBox :〜$ ps -ef | grep polipo proxy 641 1 0 15:37?00:00:00 / usr / bin / polipo -c / etc / polipo / config pidFile = / var / run / polipo / polipo.pid daemonise = true
export http_proxy=http://127.0.0.1:8787
在当前用户$ HOME / .bashrc文件的末尾添加 。- 运行
source $HOME/.bashrc
命令使上述配置生效。
阅读: 如何在Mac OS和Linux中编辑主机文件
3.3.3设置Firefox使用polipo本地Http代理服务器。
- 打开Firefox Web浏览器。单击右上角的“ 打开菜单”按钮,然后单击“首选项”菜单项,在顶部搜索框中输入代理,单击“ 网络代理配置” 后面的“设置…”按钮。
- 选择手动代理配置单选按钮,在地址输入框中输入127.0.0.1,在端口号输入框中输入8787。我们的polipo缓存代理只在localhost上运行,并在端口8787上侦听。
3.3.4设置Chrome使用polipo本地Http代理服务器。
- 打开谷歌浏览器设置对话框。
- 在Google Chrome设置对话框中搜索代理。
- 单击打开代理设置 项以打开网络配置对话框。
- 单击网络代理项目以手动将代理服务器IP更改为127.0.0.1并将端口更改为polipo http代理服务器正在侦听的8787。
3.3.5设置ShadowSocks Android App。
- 从谷歌游戏商店下载ShadowSocks安卓应用程序。
- 在Android设备上安装它。
- 单击ShadowSocks图标以启动Android应用程序。
- 在应用程序中添加ShadowSocks服务器配置文件。
- 单击配置文件列表中的ShadowSocks服务器,单击右下方的小平面按钮以连接到ShadowSocks服务器。当您在顶部状态栏中看到一个键图标时,ShadowSocks服务器已连接。
Comments are closed.