Shadowsocks 是一種輕量級的、基於 SOCKS5 的加密代理協議,最初設計用於繞過普通網路上的流量整形和封鎖。與完整的 VPN 不同,它只代理應用程式明確傳送給它的流量,幾乎沒有協定開銷,即使在頻寬受限的連線上也能運作良好。它不像 VLESS+Reality 那樣試圖模擬真實的 TLS 握手——它的優勢在於簡單易用、廣泛的客戶端支援(路由器、手機、瀏覽器)以及極低的延遲,但代價是在經過嚴格監控的網路中更容易透過流量模式識別。
目前有兩個正在積極維護的伺服器實作:
- shadowsocks-rust — shadowsocks 組織用 Rust 寫的現代參考實作。它支援較新的 AEAD-2022 密碼系列,目前仍在積極開發中,本指南將詳細介紹如何安裝和設定該實作。
- shadowsocks-libev 是較早的 C 語言實作。它仍在維護以修復 bug,並以現成的 apt 軟體包形式提供,自帶 systemd 單元。如果您想要最簡單的安裝方式,無需手動處理二進位文件,它是一個不錯的選擇。本指南在第 3 節中將其作為備選安裝路徑進行介紹。
本指南說明如何透過命令列手動設定伺服器,無需使用 Web 控制面板或 Docker。請將所有出現的「IP 位址」欄位替換為您的 VPS 的實際 IP 位址。
你需要:一台運行 Ubuntu 22.04/24.04 或 Debian 11/12 的 VPS、root 權限、你的 VPS 的 IP 位址以及一個空閒的 UDP/TCP 連接埠(本指南使用 8388,即 Shadowsocks 的預設連接埠)。
還沒有伺服器?請參閱「如何訂購服務器並支付費用」。
想先與其他自架方案比較?請參閱Xray VLESS Reality Guide(基於 TLS 偽裝的替代方案)、AmneziaWG Server Deployment Guide(基於 WireGuard 的方案)或Hysteria2 和 TUIC 設定(另外兩種現代代理協定)。
正在連接伺服器
Windows(PuTTY)
開啟 PuTTY,在主機名字段中輸入您的 VPS IP 位址,將連接埠設定為 22,然後使用您的 VPS 提供者透過電子郵件傳送給您的密碼以 root 使用者身分登入。
伺服器 IP 位址:您的 IP 位址
login as: root
密碼:您的密碼
有關透過 PuTTY/SSH 連線的詳細步驟,請參閱如何透過 SSH 連線至 Linux 伺服器。
Linux / macOS(終端機)
ssh root@your_IP_address
以下所有命令均在伺服器上的相同 SSH 會話中執行—這涵蓋了第 2 節到第 7 節,以及第 13 節中的伺服器端檢查。第 8 節到第 12 節(安裝和設定用戶端應用程式)則在您自己的 Windows/macOS/Linux/Android/iOS 裝置上執行,因為代理程式需要在該裝置上執行;這些章節中明確說明了哪些行(如果有)仍然與伺服器互動。
準備伺服器
更新系統
在安裝任何軟體之前,請先刷新軟體包清單並升級已安裝的軟體包:
apt update -y && apt upgrade -y
如果此操作升級了內核,建議重新啟動系統後再繼續。 (如需複習 apt 以及 Linux 軟體套件管理器的工作原理,請參閱Linux 軟體套件管理器。)檢查:
cat /var/run/reboot-required
如果檔案存在,請先使用「reboot」指令重啟,等待約 30 秒,然後重新連線。
安裝本指南使用的工具
apt install -y curl wget tar xz-utils ufw qrencode
curl/wget 和 tar/xz-utils 是獲取和壓縮 shadowsocks-rust 發布歸檔所必需的;ufw 是下面配置的防火牆;qrencode 將完成的客戶端連結轉換為第 7 節中可掃描的二維碼。
配置防火牆(UFW)
有關 UFW 規則的更多信息,請參閱在 Linux 上配置防火牆。
打開你需要的兩個連接埠:22/tcp 用於 SSH(跳過此規則可能會導致失去對伺服器的存取權)和 8388,包括 TCP 和 UDP — Shadowsocks 代理 TCP 連線和 UDP 關聯(對 DNS 和某些遊戲/應用程式很有用),因此連接埠的兩個方向都必須開啟。
ufw allow 22/tcp
ufw allow 8388/tcp
ufw allow 8388/udp
ufw --force enable
ufw status
這三條規則在 ufw 狀態輸出中都應顯示為「ALLOW」。如果您之後更改了 config.json 中的端口,請更新這些規則以匹配更改。
安裝伺服器軟體
請從以下兩個選項中選擇一個。建議使用選項 A (shadowsocks-rust):它是目前仍在積極開發的實現,並支援本指南後續部分將使用的最新 AEAD-2022 加密演算法。如果您更傾向於使用現成 systemd 單元的普通 apt 軟體包,並且不需要 AEAD-2022,那麼選項 B (shadowsocks-libev) 也是一個不錯的選擇。
選項 A — shadowsocks-rust(建議)
Shadowsocks-rust 目前版本沒有提供 apt 軟體包,因此需要從專案的 GitHub 發布頁面下載預先編譯的靜態二進位進行安裝。從 GitHub API 取得最新的發布標籤,並下載對應的 Linux x86_64 歸檔檔案:
SS_VER=$(curl -s https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep -Po '"tag_name": "\K[^"]*')
echo "Latest version: $SS_VER"
cd /root
wget "https://github.com/shadowsocks/shadowsocks-rust/releases/download/${SS_VER}/shadowsocks-${SS_VER}.x86_64-unknown-linux-gnu.tar.xz"
如果您的 VPS 是 arm64 而不是 x86_64(使用 `uname -m` 檢查),請將上述檔案名稱中的 x86_64-unknown-linux-gnu 替換為 aarch64-unknown-linux-gnu。
解壓縮壓縮包並將二進位檔案安裝到系統全域:
tar -xf shadowsocks-*.tar.xz
install -m 755 ssserver ssservice ssmanager ssurl /usr/local/bin/
rm -f shadowsocks-*.tar.xz ssserver ssservice ssmanager ssurl sslocal 2>/dev/null
確認二進位已安裝到位並檢查已安裝的版本:
ssserver --version
建立設定檔所在的目錄:
mkdir -p /etc/shadowsocks-rust
本指南安裝的是固定版本,而不是透過管道將安裝腳本傳遞給 bash。如需稍後升級,請使用最新的 SS_VER 查詢結果重新執行上述兩個命令,停止服務,取代二進位文件,然後重新啟動服務(請參閱第 6 節)。
選項 B — shadowsocks-libev(替代方案,apt 軟體包)
Shadowsocks-libev 已包含在 Ubuntu 的 universe 軟體倉庫(Ubuntu 16.10+)和 Debian 的主軟體倉庫(Debian 8+)中,因此在 22.04/24.04 或 Debian 11/12 上不需要第三方 PPA:
apt install -y shadowsocks-libev
如果 apt 報告找不到軟體包,則表示 universe 軟體來源已停用;請啟用該軟體來源並重試:
add-apt-repository universe && apt update && apt install -y shadowsocks-libev
軟體包會安裝自己的 systemd 單元(預設配置為 shadowsocks-libev.service,每個實例的命名配置則使用[email protected]),並自動建立 /etc/shadowsocks-libev/config.json 檔案-第 4-6 節會說明 libev 特有的命令和檔案路徑,以及 Rust 的內容相關。本指南的其餘客戶端章節(第 7-13 節)對兩種伺服器實作都適用,因為它們都使用相同的 Shadowsocks/SIP002 協定進行網路通訊。
產生密碼並選擇密碼
Shadowsocks 驗證採用雙方必須同意的單一共用密碼和密碼(加密方法)-無需管理單獨的 UUID、金鑰對或憑證。
密碼家族
- AEAD-2022(推薦,僅限 shadowsocks-rust):2022-blake3-aes-128-gcm、2022-blake3-aes-256-gcm、2022-blake3-chacha20-poly1305。新設計(SIP022)具有更強的重播保護,並支援多個使用者共享一個連接埠。密碼必須是長度與密碼金鑰長度完全相同的 base64 字串(128 位元版本為 16 位元組,256 位元版本為 32 位元組)。
- 經典 AEAD(rust 和 libev 都支援):aes-256-gcm、aes-128-gcm、chacha20-ietf-poly1305。廣泛兼容舊客戶端和 shadowsocks-libev;密碼可以是任何口令,因為它是透過密鑰派生函數傳遞的,而不是直接用作密鑰材料。
本指南使用 2022-blake3-aes-256-gcm 作為 shadowsocks-rust 伺服器的加密方案,因為它是目前最強大、最新的方案,並且後續建議的所有客戶端(v2rayN、v2rayNG、Shadowrocket、Streisand、ShadowsocksX-NG)都支援該方案。如果您在第 3 節中安裝了 shadowsocks-libev,請改用 chacha20-ietf-poly1305 或 aes-256-gcm,因為 libev 不支援 AEAD-2022 編碼。
產生金鑰(shadowsocks-rust)
ssservice genkey -m "2022-blake3-aes-256-gcm"
這將列印出一個 base64 字串——那就是你的密碼。請將其複製到安全的地方;你需要將其貼上到第 5 節的伺服器配置和第 7 節的客戶端連結。
選擇一個密碼短語(shadowsocks-libev)
對於 shadowsocks-libev 使用的經典 AEAD 密碼,任何足夠長的隨機字串都可以,因為它會經過 PBKDF/HKDF 處理,而不是直接用作原始金鑰。可以使用以下命令產生一個隨機字串:
openssl rand -base64 32
編寫伺服器配置
Shadowsocks-rust
開啟設定檔進行編輯:
nano /etc/shadowsocks-rust/config.json
請將以下範本貼到您的信箱中,並將第 4 部分中的密碼替換為您自己的密碼(如果您將連接埠號碼從 8388 變更為其他連接埠號碼,則還需要替換為第 2 部分中的連接埠號碼):
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "YOUR-GENERATED-KEY-HERE",
"method": "2022-blake3-aes-256-gcm",
"mode": "tcp_and_udp",
"timeout": 300,
"nofile": 51200
}
按 Ctrl+O(寫入)儲存文件,按 Enter 確認檔名,然後按 Ctrl+X 退出 nano。
重要欄位:伺服器監聽所有介面(0.0.0.0);server_port 是第 2 節中開啟的連接埠;password/method 是第 4 節中的憑證和密碼;mode 啟用 TCP 和 UDP 中繼;timeout 是空閒連線逾時時間(以秒為單位);nofile 提高繁忙的檔案描述符限制。
在將 JSON 資料注入 systemd 之前,請先驗證 JSON 資料是否已被二進位檔案接受:
ssserver -c /etc/shadowsocks-rust/config.json --help >/dev/null && echo "binary OK"
python3 -m json.tool /etc/shadowsocks-rust/config.json >/dev/null && echo "JSON OK"
建立 systemd 單元(shadowsocks-rust)
二進位版本中沒有包含 systemd 單元,所以需要建立一個:
nano /etc/systemd/system/ssserver.service
[Unit]
Description=Shadowsocks-Rust Server
Documentation=https://github.com/shadowsocks/shadowsocks-rust
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks-rust/config.json
Restart=on-failure
RestartSec=5s
LimitNOFILE=51200
User=root
[Install]
WantedBy=multi-user.target
請按照上述步驟儲存並退出,然後告訴 systemd 讀取新的單元檔案:
systemctl daemon-reload
Shadowsocks-libev
apt 軟體套件已建立了 /etc/shadowsocks-libev/config.json 文件,其中包含預設配置(僅環回位址,隨機密碼)及其自身的 systemd 單元。開啟該文件進行編輯:
nano /etc/shadowsocks-libev/config.json
替換內容為:
{
"server":"0.0.0.0",
"server_port":8388,
"password":"YOUR-PASSPHRASE-HERE",
"method":"chacha20-ietf-poly1305",
"mode":"tcp_and_udp",
"timeout":300
}
預設設定使用 server: ["::1", "127.0.0.1"](僅限回環);將其變更為 "0.0.0.0" 即可使伺服器可從公用 IP 存取-如果您複製的是原始檔案而不是上面的模板,請不要跳過此步驟。
啟動服務並啟用自動啟動
Shadowsocks-rust
systemctl enable --now ssserver
systemctl status ssserver --no-pager
狀態應顯示為活動(正在運行)。請確認是否有服務正在監聽該連接埠(兩種協定都應如此):
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
如果服務啟動失敗,最快的查看原因是查看 systemd 日誌(有關閱讀 Linux 日誌的一般背景知識,請參閱如何閱讀 Linux 日誌以及在哪裡可以找到它):
journalctl -u ssserver -n 50 --no-pager
Shadowsocks-libev
systemctl restart shadowsocks-libev
systemctl enable shadowsocks-libev
systemctl status shadowsocks-libev --no-pager
檢查連接埠和日誌的方式與檢查 shadowsocks-rust 的方式相同,只需替換為服務名稱:
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager
建立客戶端連結連結
Shadowsocks 用戶端匯入的是單一 ss:// 共享連結(SIP002 URL 格式),而不是設定檔。此連結將加密演算法和密碼以 base64 編碼的形式儲存在 URL 的使用者資訊部分:
ss://base64(method:password)@your_IP_address:port#label
在伺服器上建立 base64 部分(這樣可以避免手動編碼時出現任何拼字錯誤):
METHOD="2022-blake3-aes-256-gcm"
PASSWORD="YOUR-GENERATED-KEY-HERE"
USERINFO=$(echo -n "${METHOD}:${PASSWORD}" | base64 -w0)
echo "ss://${USERINFO}@your_IP_address:8388#My-SS-Server"
範例輸出(使用佔位符鍵):
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server
# 後面的文字只是一個顯示標籤,您可以在任何用戶端中自由重新命名。對於 shadowsocks-libev 伺服器,請將 METHOD="chacha20-ietf-poly1305"(或 aes-256-gcm)及其在第 4 節中的密碼短語替換為 # 後面的文字。
將其轉換為二維碼,以便行動用戶可以直接掃描:
qrencode -o ~/ss-client.png "ss://${USERINFO}@your_IP_address:8388#My-SS-Server"
使用 scp 命令將 PNG 檔案複製到您自己的電腦上,並在您電腦的終端機(或 Windows 上的 PowerShell)中執行該命令,而不是在伺服器上執行:
scp root@your_IP_address:~/ss-client.png .
從 Windows 連線
本節中的所有操作都在您的 Windows PC 上進行,而不是透過 SSH 進行——用戶端必須在實際使用代理程式的裝置上執行。
安裝 v2rayN
v2rayN 是一款免費且持續維護的圖形使用者介面用戶端,原生支援 Shadowsocks,同時也支援 VLESS、VMess、Trojan 等其他協定。您可以從專案頁面下載最新版本。
取得 Windows 64 位元 .zip 資源(自包含版本,從最新的 v2rayN 版本開始,無需單獨的 .NET 執行時間),將其解壓縮到任意位置,然後執行 v2rayN.exe。
導入伺服器
將第 7 部分內建的 ss:// 連結複製到剪貼簿(或使用 scp 指令複製 QR PNG 檔案並開啟),然後在 v2rayN 中選擇「伺服器」→「從剪貼簿批次匯入 URL」(或使用內建掃描器掃描 QR 碼)。新的伺服器設定檔將出現在清單中,並在 # 後面顯示您設定的標籤。
右鍵單擊設定檔並將其選為活動設定文件,然後從主視窗工具列啟用系統代理程式(或 TUN 模式,用於路由整台電腦)。
從 macOS 連接
本節中的所有操作都在您的 Mac 上進行,而不是透過 SSH 進行。
安裝 ShadowsocksX-NG
ShadowsocksX-NG 是 Shadowsocks 的長期原生 macOS 圖形使用者介面用戶端;目前版本同時提供 Apple Silicon 和 Intel 原生版本。請從發布頁面下載最新的 .dmg 檔案。
打開 .dmg 文件,將 ShadowsocksX-NG 拖入「應用程式」資料夾,然後啟動它——它會在功能表列中顯示為圖示。
導入伺服器
將第 7 部分的 ss:// 連結複製到剪貼簿,然後點擊選單列圖示 → 伺服器 → 伺服器首選項 → 左下角的「+」號,選擇「從剪貼簿匯入」(或開啟 PNG 檔案後,使用「掃描螢幕上的二維碼」掃描二維碼)。從功能表列下拉選單中選擇新設定文件,然後切換“Shadowsocks: On”選項,並從同一選單中選擇“PAC 自動”或“全域”路由模式。
從 Linux 桌面連接
本節中的所有操作都在您自己的 Linux 機器上進行,而不是在 VPS 上進行。
安裝本地客戶端
如果您已依照第 3 節中的說明在伺服器上安裝了 shadowsocks-rust,則同一個發布套件中也包含 sslocal,一個 SOCKS5/HTTP 本機代理用戶端。下載並安裝它的方式與安裝伺服器二進位檔案相同(如果您的桌面作業系統不是 x86_64-unknown-linux-gnu,請調整作業系統/架構後綴):
SS_VER=$(curl -s https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep -Po '"tag_name": "\K[^"]*')
wget "https://github.com/shadowsocks/shadowsocks-rust/releases/download/${SS_VER}/shadowsocks-${SS_VER}.x86_64-unknown-linux-gnu.tar.xz"
tar -xf shadowsocks-*.tar.xz
sudo install -m 755 sslocal /usr/local/bin/
配置並運行
建立一個監聽 127.0.0.1:1080 的本機小型 SOCKS5 代理程式:
mkdir -p ~/.config/shadowsocks-rust
cat > ~/.config/shadowsocks-rust/local.json << 'EOF'
{
"server": "your_IP_address",
"server_port": 8388,
"password": "YOUR-GENERATED-KEY-HERE",
"method": "2022-blake3-aes-256-gcm",
"local_address": "127.0.0.1",
"local_port": 1080,
"mode": "tcp_and_udp"
}
EOF
sslocal -c ~/.config/shadowsocks-rust/local.json
將瀏覽器或系統網路設定指向 127.0.0.1:1080 上的 SOCKS5 代理程式。對於 GUI,Nekoray或 ShadowsocksX-Qt5 風格的分支可以從第 7 節導入相同的 ss:// 鏈接,並為您管理 sslocal,而無需手動運行。
透過 Android 連接
這裡的所有操作都在您的安卓設備上進行,而不是透過 SSH。
安裝客戶端
兩個不錯的選擇:
- Shadowsocks 安卓版-Shadowsocks 官方用戶端。您可以從 Google Play 安裝(搜尋「Shadowsocks」),或者如果您的 Google Play 不可用,也可以直接從專案發布頁面下載 APK 檔案。 地區。
- v2rayNG——v2rayN 的 Android 版本,支援 Shadowsocks 以及 VLESS/VMess/Trojan;如果您希望一個應用程式支援多種協議,這將非常有用。 類型。
導入伺服器
在任一應用程式中:點擊“+”按鈕,複製第 7 部分中的 ss:// 連結後,選擇“從剪貼簿匯入”,或“掃描二維碼”並將相機對準 PNG 圖片。點擊匯入的設定檔進行選擇,然後點擊連接按鈕。 Android 系統首次連線時會提示授予 VPN 權限-請允許以建立連線。
從 iOS 連接
這裡的一切都在你的 iPhone 或 iPad 上進行,而不是透過 SSH。
安裝支援 Shadowsocks 的客戶端
Shadowrocket 是目前使用最廣泛的支援 Shadowsocks 的 iOS 用戶端;它在大多數應用程式商店中都是付費應用程式。您可以在 App Store 中搜尋或開啟它。
Streisand 是一個免費的開源替代方案,除了 VLESS、Trojan 和其他協議外,還支援 Shadowsocks 。
App Store 的目錄因商店/地區而異,並且會隨時間而變化;如果您的商店中沒有顯示“Shadowsocks”或“V2Box”,請在 App Store 中搜尋“Shadowsocks”或“V2Box”。
導入伺服器
將 ss:// 連結複製到剪貼簿,開啟用戶端,然後使用其「從剪貼簿新增/匯入」選項,或使用用戶端內建的掃描器掃描第 7 部分中的二維碼。啟用新設定檔;iOS 系統首次啟用時會提示授予 VPN 設定權限,您需要透過面容 ID、觸控 ID 或密碼進行授權。
驗證連接
從第 8、9、10、11 或 12 節啟動隧道後,回到您自己的裝置(而不是 SSH 會話),並在瀏覽器中開啟任何「我的 IP 位址是什麼」檢查器——顯示的位址應該與您的 VPS 的 IP 位址 your_IP_address 相符。
若要從伺服器端進行驗證,請檢查 systemd 日誌中的連線活動,並確認連接埠上已建立的會話(使用 ssserver 查看 rust 日誌,或使用 shadowsocks-libev 查看 libev 日誌):
journalctl -u ssserver -n 50 --no-pager
ss -tnp | grep ':8388'
參考:
|
場 |
價值 |
|
地址 |
您的VPS的公網IP位址 |
|
港口 |
8388(與第 2 部分開啟的連接埠相同) |
|
密碼: |
在第 4 節中產生的密鑰/密碼短語 |
|
選項 |
2022-blake3-aes-256-gcm (rust) 或 chacha20-ietf-poly1305 (libev) — 必須在兩邊完全匹配 |
|
模式 |
tcp_and_udp — 同時啟用 TCP 代理和 UDP 中繼(DNS、某些遊戲) |
|
插件 |
本指南中未使用任何此類外掛程式——Shadowsocks 無需 SNI、憑證或傳輸外掛程式即可正常運作。 |
結語
按照本指南操作,您的 VPS 將運行自己的 Shadowsocks 伺服器——可以是具有現代 AEAD-2022 密碼的 shadowsocks-rust,也可以是來自 Ubuntu/Debian 官方倉庫的 shadowsocks-libev——作為 systemd 服務,無需您進行任何操作即可在重啟後繼續運行。
新增更多用戶:
- 最簡單的方法:產生第二個密碼(第 4 節),並在不同的連接埠上執行第二個 ssserver/shadowsocks-libev 實例,該實例具有自己的設定檔和 systemd 單元,然後對該連接埠重複第 5-7 節。
- shadowsocks-rust 配合 AEAD-2022 密碼,也支援多個使用者透過 config.json 中的「users」陣列共用一個連接埠和密碼派生金鑰(可擴充身分標頭,SIP022)-如果您需要對單一連接埠上的每個使用者進行流量統計,請參閱 shadowsocks-rust README 的語法組態。
伺服器運行後,以下幾個習慣值得保持:
- 保持伺服器更新。對於 shadowsocks-rust,請定期使用最新的版本號重新執行第 3 節中的下載和安裝步驟,然後執行 systemctl restart ssserver。對於 shadowsocks-libev,只需執行 apt upgrade 即可。
- 將 config.json 檔案備份到伺服器以外的私密位置。該文件保存所有客戶端的密碼;遺失該文件意味著需要為每個設備重新產生憑證。
- 如果裝置遺失或用戶端被入侵,則輪換密碼:為每個剩餘裝置產生新密碼(第 4 節),更新 config.json,重新啟動服務,並重建用戶端連結(第 7 節)。
如果連線始終無法建立,請依照下列順序檢查:
- 服務狀態(systemctl status ssserver --no-pager 或 shadowsocks-libev)和日誌(journalctl -u ssserver -n 50 --no-pager)
- 防火牆規則(ufw 狀態-連接埠必須同時對 TCP 和 UDP 開放)
- 連接埠未被其他服務佔用(ss -lntp | grep ':8388' 應該只顯示 ssserver/ss-server)
- 客戶端中的密碼、方法和連接埠必須與 config.json 檔案中的完全一致—即使只有一個字元不匹配,也會導致握手失敗,通常表現為連線逾時,而不是明確錯誤。
- 如果用戶端需要 UDP 協定(例如 DNS over proxy、某些遊戲/應用程式),而不僅僅是 tcp_only 協議,則伺服器端會將該模式設為 tcp_and_udp。
想比較 Shadowsocks 與其他方案?請參閱Xray VLESS Reality Guide,了解基於 TLS 偽裝的協議,這種協議在高度過濾的網絡中更難被識別;AmneziaWG Server Deployment Guide和How to set Wireguard VPN on your server,了解基於 WireGuard 的替代方案;或者參閱兩種過濾器 2 和 TUIC 設置,了解網路設計的高度過濾器。如果您只需要一個簡單的代理程式而不是完整的隧道設置,CentOS/ArchLinux 上的 3proxy 配置是一個更輕量級的選擇;而 Linux 上的舊版VPN 伺服器設定:PPTP 還是 OpenVPN?涵蓋了設定更簡單但更容易被深度套件檢測 (DPI) 檢測和阻止的協議。代理程式上線後,如需進行常規伺服器加固,請參閱Linux 使用者:管理和權限。