在DigitalOcean上安装Shadowsocks服务器

Shadowsocks是SOCKS5开源代理,根据其官方网站,该代理旨在保护您的互联网流量。作为在中国的外籍人士,我尝试了一些VPN服务。知名提供商的主要缺点是其VPN为所有流量创建一个连接(中国的GFW更容易检测/阻止/减速)。

最近,我在新加坡的Ubuntu服务器上测试了Shadowsocks,我必须说我对SOCKS5而不是付费服务感到非常满意。我知道那里有很多关于如何配置Shadowsocks的教程。但是,我想更精确地提供最佳提示和解决方法。

在本教程中,您将学习如何在Ubuntu服务器上安装Shadowsocks和相关软件包,并绕过中国防火墙。

先决条件

  1. DigitalOcean Droplet(最好是Ubuntu或CentOS x64服​​务器)/费用:每月5美元起。如果您有兴趣,请随时使用我的推荐链接进行注册。
  2. 如果您不喜欢UNIX vi编辑器,请使用Notepad ++ / Sublime Text Editor。
  3. SFTP / FTP客户端,例如WinSCP(如果您喜欢GUI)。

如何在DigitalOcean中创建新的Droplet

注意:我强烈建议新用户在创建Droplet时生成/设置SSH密钥,因为它们提供了一种比单独使用密码更安全的方式使用SSH登录虚拟专用服务器的方法。

shadowsocks-digitalocean

如何在Ubuntu 18.04上安装Shadowsocks

让我们启动腻子或任何其他SSH客户端,然后以root用户身份登录到服务器。

0

登录到服务器后,运行以下命令来更新软件包:

$ 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官方网站上列出的不同平台的客户端