Shadowsocks是一個開源SOCKS5代理,根據他們的官方網站,旨在保護您的互聯網流量。作為一名在中國的外籍人士,我嘗試過很少的VPN服務。眾所周知的提供商的主要缺點是他們的VPN為所有流量創建了一個連接(中國的GFW更容易檢測/阻止/減速)。
最近,我在新加坡的Ubuntu伺服器上測試了Shadowsocks,我必須說我對SOCKS5而不是付費服務非常滿意。我知道有很多關於如何配置Shadowsocks的教程。但是,我想更準確地提供最好的提示和解決方法。
在本教程中,您將學習如何在Ubuntu伺服器上安裝Shadowsocks及相關軟體包,並繞過中國的防火牆。
先決條件
- DigitalOcean Droplet(最好是Ubuntu或CentOS x64服務器)/ Cost:從每月5美元起。
- Notepad ++ / Sublime Text Editor如果您不喜歡UNIX vi編輯器。
- 如果你喜歡GUI,可以使用像WinSCP這樣的SFTP / FTP客戶端。
如何在DigitalOcean中創建一個新的Droplet
注意:我強烈建議新用戶在創建Droplet時生成/設置SSH密鑰,因為它們提供了一種使用SSH登錄虛擬專用伺服器比單獨使用密碼更安全的方式。
如何在Ubuntu 16.04上安裝Shadowsocks
讓我們啟動putty或任何其他SSH客戶端,並以root用戶身份登錄到您的伺服器。
登錄伺服器後,運行以下命令更新軟體包:
$ apt-get update
現在,運行以下命令安裝Python然後Shadowsocks:
$ apt-get install python-pip $ pip安裝shadowsocks
現在安裝M2Crypto,它是OpenSSL最完整的Python包裝器,具有RSA,DSA,DH,EC,HMAC,消息摘要,對稱密碼(包括AES)。運行以下命令安裝M2Crypto:
$ apt-get install 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 && make install $ ldconfig
完成上述步驟後,我們必須為Shadowsocks創建一個.json文件(配置文件)。為此,請啟動Vi編輯器或打開文本編輯器並創建新文件。將這些數據添加到文件中:
{ 「伺服器」:「your_droplet's_IP_address」 「SERVER_PORT」:8000, 「LOCAL_PORT」:1080, 「密碼」:「your_password」 「超時」:600, 「方法」: 「AES-256-CFB」 }
您可以從此處選擇任何加密方法。
將文件另存為2.6.8 以.json並將其複製到的/ etc文件夾中。
現在啟動Shadowsocks伺服器。運行以下命令來執行此操作:
$ ssserver -c /etc/shadowsocks.json -d start
您可以檢查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 start
現在你準備好了。
注意:將來,使用此命令:「ssserver -c /etc/shadowsocks.json -d stop」停止Shadowsocks伺服器。和「ssserver -c /etc/shadowsocks.json -d restart」重啟。
伺服器優化
有許多方法可以優化您的伺服器,這裡有最好的方法。
要增加文件描述符的最大數量:
編輯位於/etc/security/limits.conf中的limits.conf文件,並添加以下兩行:
* soft nofile 51200 * hard nofile 51200
現在,暫時停止Shadowsocks伺服器以設置ulimit。
跑:
$ ssserver -c /etc/shadowsocks.json -d stop
現在設置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 start