在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官方網站上列出的不同平台的客戶端