Snell 伺服器由 PSK(預先共用金鑰)和其版本描述,另外可搭配混淆。Snell 是 Surge 團隊的代理協定。用戶端的版本必須與伺服器一致,所以請先確認:它就是服務商 Surge 設定中的 version,或是你的伺服器執行的 snell-server 版本。
你可以手動加入 Snell 伺服器、使用 snell:// 連結,或透過匯入:
- Clash 或 Mihomo 訂閱,
- Surge 設定。
版本
| 版本 | 支援 | 測試對象 |
|---|---|---|
| v1、v2 | ❌ | |
| v3 | ✅ | open-snell |
| v4 | ✅ | snell-server v4 |
| v5 | ✅ 不含 QUIC Proxy Mode | snell-server v5 |
| v6 | ✅ | snell-server v6 |
v5 伺服器也接受 v4 用戶端,v4 伺服器也接受設為 v5 的用戶端。其他版本組合都無法連線。
v5 的 QUIC Proxy Mode 是 Surge 轉送 QUIC 流量的一種方式。Potatso 則像其他 UDP 流量一樣轉送 QUIC,所以 QUIC 仍然可以使用。
Snell v6 在 Surge 仍處於 Beta 階段,可能還會以導致舊版用戶端無法使用的方式變動。請讓伺服器的版本維持服務商建議的版本。
混淆
| 混淆 | v3 | v4、v5 | v6 |
|---|---|---|---|
| 無 | ✅ | ✅ | ✅ |
| HTTP | ✅ | ✅ | |
| TLS | ✅ | ❌ 伺服器只提供 HTTP |
混淆會讓連線的開頭看起來像 HTTP 請求或 TLS 交握。它必須與伺服器的 obfs 設定一致。請把混淆主機設為服務商提供的主機名稱:未設定時,Potatso 會使用 bing.com,與 Clash 相同。
v6 伺服器沒有混淆。它改為依 PSK 調整流量形態,你的裝置不需要為此做任何設定。
v6 模式
| 模式 | 支援 |
|---|---|
default:加密並調整流量形態 |
✅ |
unshaped:加密但不調整流量形態 |
✅ |
unsafe-raw:不加密,也不調整流量形態 |
✅ |
模式必須與伺服器的 mode 設定一致。unsafe-raw 會原樣傳送你的流量,也不會檢查 PSK:只在另一條安全通道內使用。
連線重複使用
開啟重複使用連線後,當與某個網站的連線結束時,Potatso 會保持 Snell 連線開啟,並用於下一個連線。這能省下一次往返。v4 以上才支援重複使用。v3 伺服器從不重複使用連線,因此 v3 不會顯示這個設定。
UDP
Snell v3 以上在 Snell 連線內承載 UDP。UDP 預設為關閉,與 Clash 相同。如果你的伺服器轉送 UDP,請在伺服器的設定中開啟 UDP 轉送。Surge 設定一律會將它開啟,與 Surge 的行為相同。
使用 v5 伺服器時,大於約 2.5 KB 的 UDP 回覆會被截斷:伺服器以只有 Surge 能讀取的形式傳送它們。大多數 UDP 流量(例如 DNS、QUIC 和通話)使用較小的封包。v4 或 v6 伺服器沒有這個問題。
Surge 設定
Potatso 會匯入 Surge 設定中的 snell 行:
Snell = snell, snell.example.com, 8443, psk=secret, version=4, obfs=http, obfs-host=bing.com, reuse=true| 設定 | 支援 |
|---|---|
psk |
✅ |
version |
✅ 3 到 6。未指定 version 時 Surge 使用 v1,所以 Potatso 不會匯入該行。 |
obfs、obfs-host |
✅ 請見混淆 |
obfs-uri |
❌ |
reuse |
✅ |
mode |
✅ 僅限 v6 |
udp-port |
❌ |
shadow-tls-password |
❌ |
tfo |
❌ 忽略 |
Potatso 不會匯入需要上述不支援設定之一的行,也不會匯入搭配 v4 以上的 obfs=tls,因為它無法連線到那樣的伺服器。
功能支援
| 功能 | 支援 |
|---|---|
| Snell v3、v4、v5 和 v6 | ✅ |
| Snell v1、v2 | ❌ |
| HTTP 混淆(v3 到 v5)、TLS 混淆(v3) | ✅ |
| v6 模式 | ✅ |
| 連線重複使用(v4 以上) | ✅ |
| UDP(v3 以上) | ✅ |
| v5 QUIC Proxy Mode | ❌ QUIC 改走 UDP |
| 在 Snell 外包覆 ShadowTLS、Restls 或 JLS | ❌ |
snell:// 連結 |
✅ |
每個支援的版本都以真實的 Snell 伺服器測試過:Surge 的 snell-server v4、v5 和 v6,以及 v3 的 open-snell,因為 Surge 已不再提供 v3 伺服器。
當 PSK、版本或混淆不一致時,伺服器會關閉連線。當 Snell 伺服器始終無法連線時,請先檢查這三項。
snell:// 連結
Snell 沒有官方的連結格式。Potatso 讀取與分享 Snell 伺服器時使用以下格式:
snell://psk@host:port?version=4&obfs=http&obfs-host=bing.com#name| 部分 | 說明 |
|---|---|
psk |
PSK,經過百分比編碼。 |
host |
伺服器位址。IPv6 位址請放在方括號中,例如 [2001:db8::1]。 |
port |
伺服器連接埠。 |
version |
Snell 版本,缺少時為 4。 |
obfs、obfs-host |
混淆及其主機名稱。 |
name |
選填。伺服器在 Potatso 中的名稱。 |
範例
每個範例都顯示要匯入的連結。PSK 是 secret。
v4 伺服器:
snell://secret@snell.example.com:8443?version=4#Basic使用 HTTP 混淆的 v4 伺服器:
snell://secret@snell.example.com:8443?version=4&obfs=http&obfs-host=bing.com#HTTP