🏄♂️ 實戰 Shadowsocks,上網就該如此簡單!打造專屬數位任意門
🔥 一句話總結懶人包:
Surfing, it’s so simple! 上網就該如此簡單!
如同大陸同胞常喊的,Shadowsocks 跟 Squid 一樣是很成熟的 Proxy 程式了。雖然我自己是比較喜歡 Squid,但是應用在手機上連線就比較麻煩了。市面上免費 VPN 一大堆,可是限制很多、不然就是廣告一大堆 😩
所以選擇了占用資源最少的 shadowsocks-libev,而且全部透過 dnf 安裝。在 Debian 11, CentOS 6.10 (Final)、7.6.1810 安裝上也順利成功執行,方便性非常高 🤖🤓🤖。
這就像是你在網路上建了一道專屬的「數位任意門」,不論原本的網路環境怎麼封鎖,只要推開這扇門,就能暢遊全世界!🚪✨
💡 為什麼不直接買現成 VPN,要自己租 VPS 架設?
很多新手會問:「網路上 VPN 這麼多,為什麼還要那麼麻煩自己買機器裝?」這就像是你出國旅行,「買現成免費 VPN」就像是去擠免費的青年旅館,幾百個人搶同一條走道(頻寬),動不動就斷線;而「租 VPS 架設 Shadowsocks」則像是在國外租一間專屬你的小套房,不用跟別人搶網路,速度快又極度隱私安全!
至於說為什麼要選買 VPS 裝 Shadowsocks 不直接買 VPN 呢?我們來看看這價格到底有多香:
| 主機代管商與方案 | 記憶體規格 | 每月流量限制 | 年繳費用 (換算台幣) |
|---|---|---|---|
| HostUS (KVM-0.5 方案) | 512MB | 750GB | $45 美金 (約 1,400 台幣) |
| RamNode (SKVMS 方案) | 512MB | 1TB | $32.40 美金 (約 1,010 台幣) |
所以如果擔心網速慢又不想跟太多人共用頻寬,而且沒有特殊需要切換國家的需求,如果又想學習操作 Linux (或是過個乾癮?!),買個便宜的 VPS 來裝 Shadowsocks 做 VPN 應用是最實惠的 🤖🤓🤖。
🛠️ 伺服器端安裝方法 (SOP 教學)
階段 A. Debian 系統快速安裝
sudo apt update sudo apt install -y shadowsocks-libev # 接著直接往下跳到建立設定檔的階段C
階段 B. CentOS 8 系統安裝流程
- ❶ 安裝 epel 的軟體源:
cd /opt sudo yum install -y dnf epel-release
- ❷ 下載專屬 repo:
rm -f /etc/yum.repos.d/outman-shadowsocks-libev.repo URL=https://copr.fedorainfracloud.org/coprs/outman/shadowsocks-libev/repo/epel-8/outman-shadowsocks-libev-epel-8.repo curl -sSL "$URL" -o /etc/yum.repos.d/outman-shadowsocks-libev.repo cat /etc/yum.repos.d/outman-shadowsocks-libev.repo
- ❸ 安裝依賴套件並更新系統: 此時應該會出現有 shadowsocks-libev 可以安裝了 🤓:
sudo dnf update -y && dnf info shadowsocks-libev
- ❹ 安裝 shadowsocks-libev 主程式:
sudo dnf install -y libsodium simple-obfs shadowsocks-libev
階段 C. 修改設定檔 (打造專屬金庫密碼)
這一步就像是設定你專屬小套房的「電子門鎖密碼」。請注意 server_port (連接埠) 與 password (密碼) 兩個部分可以自訂,其他無須修改:
rm -f /etc/shadowsocks-libev/config.json
cat >> /etc/shadowsocks-libev/config.json <<- EOF
{
"server":["::0","0.0.0.0"],
"mode":"tcp_and_udp",
"server_port":8088,
"password":"520be",
"timeout":60,
"method":"chacha20-ietf-poly1305"
}
EOF
階段 D. 設定防火牆 (讓警衛放行)
設定好門鎖後,還要記得跟大樓警衛(防火牆)說一聲。將自訂的 8088 連接埠 加入白名單 (預設是 8388):
service iptables stop iptables -A INPUT -p tcp --dport 8088 -j ACCEPT iptables -A INPUT -p udp --dport 8088 -j ACCEPT service iptables save systemctl restart iptables
如果是較新的系統使用 firewalld 則切換成下列指令:
firewall-cmd --permanent --add-port=8088/tcp firewall-cmd --permanent --add-port=8088/udp firewall-cmd --reload
階段 F. 啟用並啟動服務
systemctl enable shadowsocks-libev systemctl start shadowsocks-libev
💻 額外的進階指令 (系統最佳化)
為了讓伺服器跑得更順,我們可以對 Linux 系統底層進行「最佳化」。這就像是把鄉間的雙線小路,直接拓寬成八線道的高速公路,讓網路封包不再塞車!
- 檢查 shadowsocks-libev 啟動狀態:
systemctl restart shadowsocks-libev systemctl status shadowsocks-libev -l ps ax | grep ss-server netstat -atunp | grep ss-server
- 查詢最消耗記憶體的程式:
top -b -o +%MEM
- (可選) 最佳化系統的吞吐量、支撐能力:
ulimit -n 51200 sysctl -w net.core.default_qdisc=fq sysctl -w net.core.rmem_default=65536 sysctl -w net.core.wmem_default=65536 sysctl -w net.core.rmem_max=67108864 sysctl -w net.core.wmem_max=67108864 sysctl -w net.core.netdev_max_backlog=4096 sysctl -w net.ipv4.tcp_congestion_control=htcp sysctl -w net.ipv4.tcp_mtu_probing=1 sysctl -w net.ipv4.tcp_rmem='4096 87380 33554432' sysctl -w net.ipv4.tcp_wmem='4096 65536 33554432' # 個人常用的最佳化指令開始 sysctl -w net.core.optmem_max=25165824 sysctl -w net.core.somaxconn=4096 sysctl -w net.ipv4.ip_forward=1 sysctl -w net.ipv4.route.flush=1 sysctl -w net.ipv4.tcp_fastopen=3 sysctl -w net.ipv4.tcp_fin_timeout=30 sysctl -w net.ipv4.tcp_keepalive_time=1200 sysctl -w net.ipv4.tcp_max_syn_backlog=4096 sysctl -w net.ipv4.tcp_max_tw_buckets=1440000 sysctl -w net.ipv4.tcp_mtu_probing=1 sysctl -w net.ipv4.tcp_syncookies=1 sysctl -w net.ipv4.tcp_tw_recycle=0 sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w fs.file-max=2097152 ###個人常用的最佳化指令結束 sysctl --system
🚨 畫重點!千萬別踩雷: 修改 sysctl 是非常深度的底層最佳化,如果你不確定你的 VPS 主機商是否有開放這些權限(某些 OpenVZ 架構的虛擬機會鎖死核心參數),請斟酌使用,以免導致網路斷線!
📱 各大平台用戶端 (Client) 下載與連線
伺服器架好了,接下來就是要讓你的手機、電腦連線進去。這就像是下載一把「專屬鑰匙 App」,請依照你的作業系統點擊下方頁籤:
🤖 Android 用戶端
🍎 iOS 用戶端
🪟 Windows 用戶端
🍏 Mac OS 用戶端
🐧 Linux 用戶端
- 使用 pip 安裝:pip install shadowsocks
- Shadowsocks-Qt5 @ GitHub
- Outline App @ GitHub
🛜 OpenWRT 用戶端
- opkg install shadowsocks-libev
- opkg install shadowsocks-libev-polarssl
📚 參考資料與文獻
- librehat/shadowsocks (GitHub)
- Shadowsocks 使用說明 · shadowsocks Wiki
- Shadowsocks Windows 使用說明 · shadowsocks Wiki
- Configuration via Config File · shadowsocks Wiki
- Troubleshooting · shadowsocks Wiki
- Optimizing Shadowsocks · shadowsocks Wiki
列印本文
逆向行駛 最愛的最殘酷、最美的最虛無


