Skip to content

Trojan

Potatso 支援的 Trojan 傳輸、TLS 選項、連結與功能。

Updated 以 Markdown 檢視

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://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#gRPC

HTTP/2:

trojan://secret@trojan.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2

HTTP Upgrade:

trojan://secret@trojan.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#Upgrade

REALITY,借用 www.example.com:

trojan://secret@trojan.example.com:443?security=reality&sni=www.example.com&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&fp=chrome#REALITY
導覽

Type to search…

↑↓ navigate↵ selectEsc close