AnyTLS 伺服器由密碼及其 TLS 設定描述。AnyTLS 在 TLS 內執行並填充流量,因此連線看起來就像一般的 HTTPS 瀏覽,不會顯示 TLS 內代理常見的特徵。當 Potatso 支援伺服器的 TLS 設定時,就能連上該伺服器。請使用下方表格,對照服務商提供或 anytls:// 連結中顯示的伺服器設定。
你可以手動加入 AnyTLS 伺服器、使用 anytls:// 連結,或透過匯入:
- Clash 或 Mihomo 訂閱,
- Surge 設定。
Potatso 目前還無法從 sing-box 設定匯入 AnyTLS 伺服器。請改用該伺服器的 anytls:// 連結。
TLS
| 設定 | Clash 鍵 | 連結參數 | 支援 |
|---|---|---|---|
| 伺服器名稱(SNI) | sni |
sni |
✅ 未設定時,Potatso 會使用伺服器的位址。 |
| ALPN | alpn |
alpn |
✅ 未設定時,Potatso 不傳送任何值,與 Clash 相同。 |
| 略過憑證驗證 | skip-cert-verify |
insecure |
✅ |
| 憑證釘選(SHA-256) | fingerprint |
hpkp |
✅ |
| 瀏覽器指紋 | client-fingerprint |
fp |
✅ chrome、firefox、safari、ios、android、edge 和 random。其他名稱會以預設的交握連線。 |
| REALITY | reality-opts |
✅ | |
| Encrypted Client Hello(ECH) | ech-opts |
✅ 使用訂閱中的 ECH 設定,或從 DNS 查詢 | |
| 自訂 CA 憑證 | ❌ | ||
| TLS 用戶端憑證 | certificate、private-key |
❌ |
關閉憑證驗證會讓你與伺服器之間的任何人都能讀取你的流量。如果伺服器使用自簽憑證,請改為釘選伺服器的憑證:把該憑證的 SHA-256 設為憑證釘選。
瀏覽器指紋會讓連線的 TLS 交握看起來像該瀏覽器的交握。它不會改變伺服器必須支援的內容。
Potatso 不會匯入需要 TLS 用戶端憑證的伺服器,因為伺服器會拒絕連線。
REALITY
REALITY 伺服器借用另一個網站的 TLS 憑證,因此不需要自己的憑證。sing-box 伺服器提供搭配 REALITY 的 AnyTLS。請依服務商給你的內容設定伺服器的公鑰和 short ID,並把伺服器名稱設為該伺服器所借用的網站。REALITY 需要瀏覽器指紋,例如 chrome。
連線
AnyTLS 會重複使用它的 TLS 連線:當與某個網站的連線結束時,下一個連線會使用同一條 TLS 連線,而不是開啟新的。每條 TLS 連線一次只承載一個連線,所以同時有多個連線時會開啟多條 TLS 連線,之後再重複使用。
| 設定 | Clash 鍵 | 支援 |
|---|---|---|
| 檢查閒置連線的頻率 | idle-session-check-interval |
✅ 單位為秒,預設 30 |
| 閒置連線保持開啟的時間 | idle-session-timeout |
✅ 單位為秒,預設 60 |
| 保持開啟的閒置連線數量 | min-idle-session |
✅ 預設 1 |
5 秒以下的值會視為 30,與 Clash 相同。這些設定來自 Clash 訂閱。對於你手動或透過連結加入的伺服器,Potatso 使用預設值。
Surge 設定中的 reuse=false 不會生效:Potatso 一律重複使用連線,與 AnyTLS 規格相同。Potatso 會匯入該伺服器並顯示警告。
填充
AnyTLS 會填充每個連線的開頭,以隱藏洩漏代理特徵的封包大小。伺服器可以傳送自己的填充方案,Potatso 會從下一條 TLS 連線開始採用,與 AnyTLS 的定義相同。你的裝置上不需要設定任何東西。
UDP
AnyTLS 在它的 TLS 連線內承載 UDP(UDP over TCP)。UDP 預設為關閉,與 Clash 相同。如果你的伺服器轉送 UDP,請在伺服器的設定中開啟 UDP 轉送。Clash 訂閱以 udp: true 開啟它,Surge 設定則一律開啟。
功能支援
| 功能 | 支援 |
|---|---|
| AnyTLS 協定 v2:密碼、填充、連線重複使用 | ✅ |
| 伺服器傳送的填充方案 | ✅ |
| UDP over TCP | ✅ |
| 閒置連線設定 | ✅ |
| REALITY、ECH | ✅ |
| 憑證釘選、瀏覽器指紋 | ✅ |
| 自訂 CA、TLS 用戶端憑證 | ❌ |
anytls:// 連結 |
✅ |
每一項支援的功能都至少用一台真實的 AnyTLS 伺服器測試過:anytls-go、sing-box 或 mihomo。
密碼錯誤時,伺服器會關閉連線。當 AnyTLS 伺服器始終無法連線時,請先檢查密碼。
anytls:// 連結
anytls:// 連結用一行就包含整台伺服器:
anytls://password@host:port/?parameters#name| 部分 | 說明 |
|---|---|
password |
密碼,經過百分比編碼。 |
host |
伺服器位址。IPv6 位址請放在方括號中,例如 [2001:db8::1]。 |
port |
伺服器連接埠。缺少時,Potatso 使用 443。 |
name |
選填。伺服器在 Potatso 中的名稱。 |
參數遵循 anytls-go 格式,再加上一些 App 額外加入的參數:
| 參數 | 說明 |
|---|---|
sni |
TLS 伺服器名稱。 |
insecure |
1 表示關閉憑證驗證。 |
alpn |
ALPN 清單,以逗號分隔並經過百分比編碼。 |
fp |
瀏覽器指紋。 |
hpkp |
伺服器憑證的 SHA-256。 |
Potatso 分享 AnyTLS 伺服器時,會提供帶有相同參數的 anytls:// 連結。
範例
每個範例都顯示要匯入的連結。密碼是 secret。
基本伺服器:
anytls://secret@anytls.example.com:443/?sni=anytls.example.com#Basic自簽憑證,不驗證:
anytls://secret@203.0.113.7/?insecure=1#Self-signedChrome 指紋、ALPN 清單與釘選的憑證:
anytls://secret@anytls.example.com:443/?sni=anytls.example.com&alpn=h2%2Chttp%2F1.1&fp=chrome&hpkp=abababababababababababababababababababababababababababababababab#Shaped