SSR 與 Shadowsocks 的設定差異
ShadowsocksR 是舊 SSR 伺服器端使用的相容出站類型。用戶端會依序應用 SSR 混淆、流加密和 SSR Protocol,因此設定不只包含 SS 的 cipher 與 password。
現有 SSR 節點應以伺服器端或可信訂閱提供的完整欄位為準。不能把現代 Shadowsocks 節點僅修改 type 後當作 SSR 使用。
最小必填欄位
一個 SSR 節點除通用位址欄位外,還必須同時給出密碼、流加密方法、混淆方式和 SSR Protocol。
name必填- 節點名稱,在目前設定中必須唯一。
type必填- 固定填寫
ssr。 server必填- SSR 伺服器端網域或 IP。
port必填- SSR 伺服器端監聽連接埠。
cipher必填- SSR 使用的流加密方法,必須與伺服器端一致。
password必填- SSR 節點密碼。
obfs必填- SSR 混淆名稱,決定連線外觀處理。
protocol必填- SSR Protocol 名稱,決定認證和資料封裝。
Cipher、Obfs 與 Protocol 必須成組匹配
目前 SSR 實作接受受支援的流加密方法,也相容 none。none 會在內部按 dummy 處理;現代 SS AEAD cipher 不能直接用於 SSR。
| 欄位 | 作用 | 設定要求 |
|---|---|---|
cipher | 加密 SSR 資料流 | 使用 SSR 伺服器端給出的流加密方法,不能用 AEAD 名稱替換 |
password | 派生加密金鑰 | 與目前 SSR 節點密碼完全一致 |
obfs | 處理連線外觀 | 名稱必須由伺服器端支援 |
protocol | 處理認證與報文封裝 | 名稱必須由伺服器端支援 |
參數、UDP 與通用連線選項
參數欄位只在對應伺服器端設定需要時填寫。訂閱已提供參數時應完整保留,不要憑其他 SSR 節點推斷。
obfs-param按需- 傳給 SSR 混淆模組的參數,常見內容由伺服器端設定決定。
protocol-param按需- 傳給 SSR Protocol 的參數,必須保持伺服器端要求的格式。
udp按需- 允許該節點處理 UDP,伺服器端、Protocol 與網路也需支援。
ip-version按需- 控制網域形式伺服器位址使用 IPv4、IPv6 或雙棧。
dialer-proxy按需- 透過另一個節點或策略群組連線 SSR 伺服器端。
- SSR 節點沒有 Shadowsocks 的
plugin與plugin-opts欄位。 - SSR 節點也沒有協議級頂層 TLS 欄位,不要補寫
tls: true。 - UDP 開關不能修復錯誤的 cipher、obfs 或 protocol 組合。
SSR 節點示例與檢查
示例展示官方設定中的基礎欄位。若伺服器端還給出 obfs-param 或 protocol-param,應在相同層級追加。
- 出現 cipher 初始化錯誤時,確認使用的是 SSR 支援的流加密方法。
- 能夠連線但無法傳輸資料時,優先核對
protocol與protocol-param。 - 握手外觀不匹配時,核對
obfs、obfs-param以及伺服器端位址和連接埠。
proxies:
- name: ssr-node
type: ssr
server: server.example.com
port: 443
cipher: chacha20-ietf
password: your-password
protocol: auth_sha1_v4
obfs: tls1.2_ticket_auth