ShadowsocksR(SSR)伺服器由三項設定描述:加密方式、協定和混淆(obfs)方式。Potatso 只有在三者都支援時才會連線到伺服器。請使用下方表格,對照服務商提供或 ssr:// 連結中顯示的伺服器設定。
你可以手動加入 SSR 伺服器、使用 ssr:// 連結,或從 Clash 或 Mihomo 訂閱匯入。Potatso 會保留服務商指定的協定與混淆,包含 _compatible 形式。
加密方式
| 加密方式 | 支援 |
|---|---|
none |
✅ |
aes-128-ctr、aes-192-ctr、aes-256-ctr |
✅ |
aes-128-cfb、aes-192-cfb、aes-256-cfb |
✅ |
camellia-128-cfb、camellia-192-cfb、camellia-256-cfb |
✅ |
chacha20、chacha20-ietf |
✅ |
salsa20 |
✅ |
bf-cfb |
✅ |
rc4-md5 |
✅ |
cast5-cfb、des-cfb、idea-cfb、rc2-cfb、seed-cfb |
✅ |
rc4-md5-6、table |
✅ |
xchacha20、xsalsa20 |
❌ |
aes-256-gcm 之類的 AEAD 加密方式屬於 Shadowsocks,而不是 ShadowsocksR。如果服務商為 SSR 伺服器列出了這類加密方式,請確認該伺服器實際上是不是 Shadowsocks 伺服器。
協定
| 協定 | 支援 | 多使用者 |
|---|---|---|
origin |
✅ | — |
verify_deflate |
✅ | — |
auth_sha1、auth_sha1_v2 |
已棄用(未以真實伺服器測試) | — |
auth_sha1_v4 |
✅ | — |
auth_sha1_v4_compatible |
✅ | — |
auth_aes128_md5 |
✅ | ✅ |
auth_aes128_sha1 |
✅ | ✅ |
auth_chain_a |
✅ | ✅ |
auth_chain_b |
✅ | ✅ |
verify_simple、verify_sha1、auth_simple |
已棄用(以 origin 匯入) |
— |
多使用者伺服器讓多位使用者共用同一個連接埠。對於這類伺服器,請把協定參數(protocol-param,在 ssr:// 連結中為 protoparam)設為 uid:key,使用服務商提供的使用者 ID 與金鑰。
目前的 ShadowsocksR 伺服器已不再提供 auth_sha1 和 auth_sha1_v2。Potatso 仍可使用它們連線,但尚未以真實伺服器測試,因此如果服務商提供其他協定,請優先使用其他協定。
舊版 Potatso 雖然列出 verify_simple、verify_sha1 和 auth_simple,但實際上一律以 origin 連線。Potatso 現在仍會把它們當作 origin 匯入,並在匯入時顯示警告。
混淆
| 混淆 | 支援 |
|---|---|
plain |
✅ |
http_simple、http_simple_compatible |
✅ |
http_post、http_post_compatible |
✅ |
tls1.2_ticket_auth、tls1.2_ticket_auth_compatible |
✅ |
tls1.2_ticket_fastauth、tls1.2_ticket_fastauth_compatible |
✅ |
random_head、random_head_compatible |
✅ 已棄用 |
名稱帶有 _compatible 表示伺服器也接受不使用混淆的用戶端。Potatso 會使用它所指定的混淆方式,因此你可以沿用服務商提供的名稱。
對於 HTTP 方式,混淆參數(obfs-param,在 ssr:// 連結中為 obfsparam)用來設定 Host 標頭。它可以是單一主機、以逗號分隔的主機清單,或一組自訂標頭。留空時,Potatso 會使用伺服器的位址。對於 TLS 方式,它用來設定 TLS 交握中傳送的伺服器名稱。
UDP
UDP 適用於每一種支援的協定,且 SSR 伺服器預設為開啟。如果你的伺服器不轉送 UDP,請在伺服器的設定中將它關閉。
ssr:// 連結
ssr:// 連結用一行就包含整台伺服器。ssr:// 之後的所有內容都以 Base64 編碼:
ssr://base64(host:port:protocol:cipher:obfs:base64(password)/?obfsparam=…&protoparam=…&remarks=…)/? 之前的部分是以冒號分隔的六個欄位:
| 欄位 | 說明 |
|---|---|
host |
伺服器位址。IPv6 位址請放在方括號中,例如 [2001:db8::1]。 |
port |
伺服器連接埠。 |
protocol |
上方協定之一。若為空,Potatso 會使用 origin。 |
cipher |
上方加密方式之一。必填。 |
obfs |
上方混淆方式之一。若為空,Potatso 會使用 plain。 |
password |
密碼,以 Base64 編碼。 |
/? 之後的部分為選填。每個值都以 Base64 編碼:
| 參數 | 說明 |
|---|---|
obfsparam |
混淆參數,例如 http_simple 的 Host。 |
protoparam |
協定參數,例如多使用者伺服器的 uid:key。 |
remarks |
伺服器在 Potatso 中的名稱。 |
Potatso 會忽略其他參數,例如 group、udpport 和 uot,以及連結結尾的任何 #name。UDP 不屬於連結的一部分:它預設為開啟,你可以在匯入後將它關閉。
Potatso 接受標準與 URL-safe 的 Base64,有無 = 補位皆可。名稱不分大小寫,因此 AUTH_CHAIN_A 與 auth_chain_a 的作用相同。Potatso 分享伺服器時,會寫出不帶補位的 URL-safe Base64。
範例
每個範例都先顯示解碼後的文字,再顯示要匯入的連結。每個範例中的密碼都是 secret。
沒有協定外掛程式也沒有混淆的基本伺服器:
ssr.example.com:8388:origin:aes-256-cfb:plain:c2VjcmV0/?remarks=QmFzaWMssr://c3NyLmV4YW1wbGUuY29tOjgzODg6b3JpZ2luOmFlcy0yNTYtY2ZiOnBsYWluOmMyVmpjbVYwLz9yZW1hcmtzPVFtRnphV00TLS 混淆,以 cdn.example.com 作為伺服器名稱:
ssr.example.com:443:auth_aes128_md5:chacha20-ietf:tls1.2_ticket_auth:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&remarks=VExTIG9iZnMssr://c3NyLmV4YW1wbGUuY29tOjQ0MzphdXRoX2FlczEyOF9tZDU6Y2hhY2hhMjAtaWV0Zjp0bHMxLjJfdGlja2V0X2F1dGg6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZyZW1hcmtzPVZFeFRJRzlpWm5N多使用者伺服器:使用者 2173、金鑰 userkey、none 加密方式,以及 HTTP 混淆:
ssr.example.com:8080:auth_chain_a:none:http_simple:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&protoparam=MjE3Mzp1c2Vya2V5&remarks=TXVsdGktdXNlcgssr://c3NyLmV4YW1wbGUuY29tOjgwODA6YXV0aF9jaGFpbl9hOm5vbmU6aHR0cF9zaW1wbGU6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZwcm90b3BhcmFtPU1qRTNNenAxYzJWeWEyVjUmcmVtYXJrcz1UWFZzZEdrdGRYTmxjZw使用 IPv6 位址的伺服器:
[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ngssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc