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