Trojan 伺服器由密碼及其 TLS 設定描述,另外可搭配承載連線的傳輸,例如 WebSocket 或 gRPC。Trojan 一律在 TLS(或 REALITY)內執行,所以在旁觀者眼中,連線看起來就像一般的 HTTPS 瀏覽。當 Potatso 支援伺服器的傳輸與 TLS 設定時,就能連上該伺服器。請使用下方表格,對照服務商提供或 trojan:// 連結中顯示的伺服器設定。
你可以手動加入 Trojan 伺服器、使用 trojan:// 連結,或透過匯入:
- Clash 或 Mihomo 訂閱,
- Xray 或 V2Ray 設定,
- Surge 設定。
Potatso 目前還無法從 sing-box 設定匯入 Trojan 伺服器。請改用該伺服器的 trojan:// 連結。
傳輸
| 傳輸 | 連結 type |
支援 | 測試對象 |
|---|---|---|---|
| 僅 TLS(無傳輸) | tcp,或不指定 |
✅ | Xray、sing-box、trojan-go |
| WebSocket | ws |
✅ 可搭配或不搭配 early data | Xray、sing-box、trojan-go |
| gRPC | grpc |
✅ | Xray、sing-box |
| HTTP/2 | http 或 h2 |
✅ | sing-box |
| HTTP Upgrade | httpupgrade |
✅ | Xray、sing-box |
| XHTTP | xhttp |
❌ | |
| mKCP、QUIC | kcp、quic |
❌ |
每種傳輸都支援 UDP。Potatso 不會匯入使用不支援傳輸的伺服器。
Xray 已不再提供 HTTP/2:原本使用它的 Xray 伺服器現在改用 XHTTP,而 Potatso 尚未支援 XHTTP。
TLS
| 設定 | Clash 鍵 | 連結參數 | 支援 |
|---|---|---|---|
| 伺服器名稱(SNI) | sni |
sni、peer |
✅ 未設定時,Potatso 會使用伺服器的位址。 |
| ALPN | alpn |
alpn |
✅ 未設定時,Potatso 傳送 h2, http/1.1;WebSocket 與 HTTP Upgrade 傳送 http/1.1;gRPC 與 HTTP/2 傳送 h2。 |
| 略過憑證驗證 | skip-cert-verify |
allowInsecure、insecure |
✅ |
| 憑證釘選(SHA-256) | fingerprint |
✅ | |
| 瀏覽器指紋 | client-fingerprint |
fp |
✅ chrome、firefox、safari、ios、android、edge 和 random。其他名稱會以預設的交握連線。 |
| REALITY | reality-opts |
security=reality、pbk、sid |
✅ 搭配無傳輸或 gRPC |
| Encrypted Client Hello(ECH) | ech-opts |
ech |
✅ 使用連結或訂閱中的 ECH 設定 |
| 自訂 CA 憑證 | ❌ | ||
| TLS 用戶端憑證 | certificate、private-key |
❌ |
關閉憑證驗證會讓你與伺服器之間的任何人都能讀取你的流量。如果伺服器使用自簽憑證,請改為釘選伺服器的憑證:把該憑證的 SHA-256 設為憑證釘選。
瀏覽器指紋會讓連線的 TLS 交握看起來像該瀏覽器的交握。它不會改變伺服器必須支援的內容。
REALITY
REALITY 伺服器借用另一個網站的 TLS 憑證,因此不需要自己的憑證。請依服務商給你的內容設定伺服器的公鑰和 short ID,並把伺服器名稱設為該伺服器所借用的網站。REALITY 需要瀏覽器指紋:當你的連結或設定中沒有時,Potatso 會使用 chrome。
REALITY 可搭配無傳輸與 gRPC。Potatso 不會匯入使用其他傳輸的 REALITY 伺服器。
多工
Potatso 可以用 sing-box 的多工(smux、yamux 或 h2mux),讓多個連線共用同一條 Trojan 連線,在 Clash 訂閱中以 smux 設定。伺服器必須開啟多工。TCP 與 UDP 都適用。
trojan-go 自己的多工(trojan-go 伺服器中的 mux)是另一種協定,Potatso 不支援。trojan-go 伺服器仍會接受未使用該多工的 Potatso 連線。
UDP
Trojan 在與 TCP 相同的 TLS 連線上承載 UDP。UDP 預設為關閉,與 Clash 相同。如果你的伺服器轉送 UDP,請在伺服器的設定中開啟 UDP 轉送:Xray、sing-box 和 trojan-go 都支援。Clash 訂閱以 udp: true 開啟它。
功能支援
| 功能 | 支援 |
|---|---|
Trojan 協定:密碼雜湊、CONNECT |
✅ |
Trojan UDP ASSOCIATE |
✅ |
不使用 TLS 的 Trojan(security=none) |
❌ |
| 同一台伺服器有多位使用者 | ✅ 各自使用自己的密碼 |
| WebSocket、gRPC、HTTP/2 與 HTTP Upgrade 傳輸 | ✅ 請見傳輸 |
| XHTTP、mKCP 與 QUIC 傳輸 | ❌ |
| REALITY | ✅ 搭配無傳輸或 gRPC |
| ECH | ✅ |
| sing-box 多工(smux、yamux、h2mux) | ✅ |
| trojan-go 多工 | ❌ |
trojan-go 的 Shadowsocks 加密(ss-opts、encryption=ss;…) |
❌ |
| 在 Trojan 外包覆 ShadowTLS、Restls 或 JLS | ❌ |
trojan:// 與 trojan-go:// 連結 |
✅ |
每一項支援的功能都至少用一台真實的 Trojan 伺服器測試過:Xray、sing-box 或 trojan-go。
密碼錯誤時,Trojan 伺服器會改為像一般網站那樣回應(它的 fallback)。這時 Potatso 無法連線,也不會顯示密碼錯誤:當 Trojan 伺服器始終無法連線時,請先檢查密碼。
Potatso 不會匯入使用 trojan-go 的 Shadowsocks 加密,或在 Trojan 外包覆 ShadowTLS、Restls 或 JLS 的伺服器,因為沒有這些設定它也會連線,但伺服器不會回應。
trojan-go 的部分功能是其自身用戶端程式的設定,Potatso 以自己的方式完成相同的工作:
- 路由:請使用設定檔中的規則。
- 本機 SOCKS5 與 HTTP 伺服器,以及轉送:Potatso 自行擷取你裝置的流量。
trojan:// 連結
trojan:// 連結用一行就包含整台伺服器:
trojan://password@host:port?parameters#name| 部分 | 說明 |
|---|---|
password |
密碼,經過百分比編碼。@ 之前的所有內容都是密碼,包含其中的 :。 |
host |
伺服器位址。IPv6 位址請放在方括號中,例如 [2001:db8::1]。 |
port |
伺服器連接埠。缺少時,Potatso 使用 443。 |
name |
選填。伺服器在 Potatso 中的名稱。 |
參數遵循 Xray 與 v2rayN 使用的格式:
| 參數 | 說明 |
|---|---|
security |
tls(預設)或 reality。 |
type |
傳輸:tcp、ws、grpc、http(HTTP/2)或 httpupgrade。 |
sni、peer |
TLS 伺服器名稱。 |
alpn |
ALPN 清單,以逗號分隔並經過百分比編碼。 |
fp |
瀏覽器指紋。 |
allowInsecure |
1 表示關閉憑證驗證。 |
host |
WebSocket、HTTP/2 與 HTTP Upgrade 的 HTTP Host。 |
path |
WebSocket、HTTP/2 與 HTTP Upgrade 的路徑。像 /ws?ed=2048 這樣的 WebSocket 路徑會開啟 early data。 |
serviceName |
gRPC 服務名稱。 |
pbk、sid |
REALITY 公鑰與 short ID。 |
ech |
ECH 設定,經過 Base64 編碼與百分比編碼。 |
Potatso 也會匯入 trojan-go:// 連結,其 type=original(無傳輸)或 type=ws。帶有 encryption 參數(需要 trojan-go 的 Shadowsocks 加密)的連結則不會匯入。
Potatso 分享 Trojan 伺服器時,會提供帶有相同參數的 trojan:// 連結。
範例
每個範例都顯示要匯入的連結。密碼是 secret。
基本伺服器:
trojan://secret@trojan.example.com:443?sni=trojan.example.com#Basic透過 cdn.example.com 的 WebSocket:
trojan://secret@trojan.example.com:443?security=tls&type=ws&host=cdn.example.com&path=%2Fws#WebSocket服務名稱為 TrojanGun 的 gRPC:
trojan://secret@trojan.example.com:443?security=tls&type=grpc&serviceName=TrojanGun#gRPCHTTP/2:
trojan://secret@trojan.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2HTTP Upgrade:
trojan://secret@trojan.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#UpgradeREALITY,借用 www.example.com:
trojan://secret@trojan.example.com:443?security=reality&sni=www.example.com&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&fp=chrome#REALITY