Skip to content

Snell

Potatso 支援的 Snell 版本、混淆、Surge 設定與功能。

Updated 以 Markdown 檢視

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 沒有官方的連結格式。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
導覽

Type to search…

↑↓ navigate↵ selectEsc close