Shadowsocks是SOCKS5开源代理,根据其官方网站,该代理旨在保护您的互联网流量。作为在中国的外籍人士,我尝试了一些VPN服务。知名提供商的主要缺点是其VPN为所有流量创建一个连接(中国的GFW更容易检测/阻止/减速)。
最近,我在新加坡的Ubuntu服务器上测试了Shadowsocks,我必须说我对SOCKS5而不是付费服务感到非常满意。我知道那里有很多关于如何配置Shadowsocks的教程。但是,我想更精确地提供最佳提示和解决方法。
在本教程中,您将学习如何在Ubuntu服务器上安装Shadowsocks和相关软件包,并绕过中国防火墙。
先决条件
- DigitalOcean Droplet(最好是Ubuntu或CentOS x64服务器)/费用:每月5美元起。如果您有兴趣,请随时使用我的推荐链接进行注册。
- 如果您不喜欢UNIX vi编辑器,请使用Notepad ++ / Sublime Text Editor。
- SFTP / FTP客户端,例如WinSCP(如果您喜欢GUI)。
如何在DigitalOcean中创建新的Droplet
注意:我强烈建议新用户在创建Droplet时生成/设置SSH密钥,因为它们提供了一种比单独使用密码更安全的方式使用SSH登录虚拟专用服务器的方法。
如何在Ubuntu 18.04上安装Shadowsocks
让我们启动腻子或任何其他SSH客户端,然后以root用户身份登录到服务器。
登录到服务器后,运行以下命令来更新软件包:
$ apt-get更新
现在,运行以下命令来安装Python,然后安装Shadowsocks:
$ apt-get安装python-pip $ pip安装shadowsocks
现在安装M2Crypto,这是OpenSSL最完整的Python包装器,具有RSA,DSA,DH,EC,HMAC,消息摘要,对称密码(包括AES)。运行以下命令以安装M2Crypto:
$ apt-get安装python-m2crypto $ apt-get install build-essential
由于salsa20和chacha20是快速流密码。在x86_64上优化的salsa20 / chacha20实现比rc4还要快2倍(但在ARM上要慢一些)。您必须安装libsodium才能使用它们:
$ wget https://github.com/jedisct1/libsodium/releases/download/1.0.10/libsodium-1.0.10.tar.gz $ tar xf libsodium-1.0.10.tar.gz && cd libsodium-1.0.10 $ ./configure && make &&进行安装 $ ldconfig
完成上述步骤后,我们必须为Shadowsocks创建一个.json文件(配置文件)。为此,启动Vi编辑器或打开文本编辑器并创建一个新文件。将这些数据添加到文件中:
{ “ server”:“ your_droplet's_IP_address”, “ server_port”:8000, “ local_port”:1080, “ password”:“ your_password”, “超时”:600, “方法”:“ aes-256-cfb” }
您可以从此处选择任何加密方法。
将文件另存为2.6.8 以.json并将其复制到的/ etc文件夹中。
现在启动您的Shadowsocks服务器。运行以下命令来这样做:
$ ssserver -c /etc/shadowsocks.json -d开始
您可以检查Shadowsocks日志文件,该文件位于/var/log/shadowsocks.log中,以确保一切正常。
现在您已经快完成了,我们需要确保Shadowsocks服务器将在系统重新引导期间自动启动。编辑名为/etc/rc.local的文件。
打开/etc/rc.local并在出口0行之前添加以下内容。
/ usr / bin / python / usr / local / bin / ssserver -c /etc/shadowsocks.json -d开始
现在您可以开始滚动了。
注意:将来,请使用以下命令:“ ssserver -c /etc/shadowsocks.json -d stop”停止Shadowsocks服务器。和“ ssserver -c /etc/shadowsocks.json -d restart”重新启动。
服务器优化
有多种优化服务器的方法,以下是最佳方法。
要增加文件描述符的最大数量:
编辑位于/etc/security/limits.conf中的limits.conf文件,并添加以下两行:
*软nofile 51200 *硬nofile 51200
现在,暂时停止Shadowsocks服务器以设置ulimit。
跑:
$ ssserver -c /etc/shadowsocks.json -d停止
现在设置ulimit:
$ ulimit -n 51200
要优化内核:
我们可以通过编辑/etc/sysctl.conf文件来优化内核参数。打开文件,并将以下行添加到文档末尾:
fs.file-max = 51200 net.core.rmem_max = 67108864 net.core.wmem_max = 67108864 net.core.netdev_max_backlog = 250000 net.core.somaxconn = 4096 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 0 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.ip_local_port_range = 10000 65000 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_mem = 25600 51200 102400 net.ipv4.tcp_rmem = 4096 87380 67108864 net.ipv4.tcp_wmem = 4096 65536 67108864 net.ipv4.tcp_mtu_probing = 1 net.ipv4.tcp_congestion_control =立方
保存并运行以下命令:
$ sysctl -p
现在您完成了优化,请启动服务器!
$ ssserver -c /etc/shadowsocks.json -d开始
Shadowsocks客户:
查看Shadowsock官方网站上列出的不同平台的客户端。