2026-10-14 · 協定科普 · 約 9 分鐘

Trojan 協定教學:Shadowrocket 新增 Trojan 節點的參數設定

了解 Trojan 的運作方式,以及在 Shadowrocket 中設定 Address、Port、Password、SNI 和 Allow Insecure 時的注意事項。

本文摘要

本文適合已取得有權使用的服務設定,並準備在 Shadowrocket 中新增 Trojan 連線的使用者。請先分清伺服器位址、驗證密碼與 TLS 憑證名稱,再依序前往 Home → 右上角「+」→ Type → Trojan 填寫。閱讀後可逐項核對參數,並依連線錯誤判斷該檢查網路、憑證或密碼,而非反覆切換 Allow Insecure。

Trojan 的運作方式:TLS 與密碼各自負責什麼

Shadowrocket(小火箭)是 Apple 平台上的付費用戶端。本文說明如何填寫及驗證既有設定,不提供、販售或推薦節點、訂閱或連線服務。購買用戶端與取得連線服務是兩回事,購買 App 不會自動取得可用的伺服器位址和密碼。

一般 Trojan 連線會先透過 TLS 建立加密通道,再於通道中傳送驗證資訊與代理請求。TLS 負責保護傳輸內容,並透過憑證確認伺服器身分;Trojan 密碼則供伺服器辨識獲准使用該連線的使用者。兩者不能互相取代:密碼正確不代表可以忽略憑證,憑證有效也不代表密碼一定正確。

443
常見的 TLS 監聽連接埠,實際設定請以既有資料為準
1–65535
Port 的有效數值範圍,不代表任何連接埠都能連線
2 個環節
TLS 身分驗證與 Trojan 密碼驗證

結論:先檢查 TLS,再確認密碼

遇到憑證或 TLS 交握錯誤時,先檢查 Address、SNI、裝置時間與憑證效期;確認 TLS 正常建立後,再核對 Trojan 密碼。不要以關閉憑證驗證取代參數檢查。

Trojan 並非「只要填入網域就能連線」。伺服器可能使用不同連接埠,也可能要求特定傳輸方式。若既有設定另有 WebSocket、Host 或 Path,請保留相應設定;不要因為 Type 都是 Trojan,就把這些欄位改成其他連線的值。

參數對照:Address、Port、Password 與 SNI

填寫前,先備妥一組完整且彼此相符的參數。不要把甲連線的位址、乙連線的密碼和另一份設定的 SNI 混在一起。下表的網域與連接埠僅用來說明欄位格式,並非可供連線的服務資訊。

欄位 應填內容 檢查重點
Type Trojan 依伺服器使用的協定選擇,不要套用其他協定的欄位規則。
Address 既有設定提供的網域或 IP 位址 只填主機部分,例如 gateway.example.com;不要加上 https:// 或網頁路徑。
Port 伺服器實際監聽的連接埠 443 只是常見值;若提供的是 8443,就照填 8443。
Password 該 Trojan 連線使用的密碼 密碼有區分大小寫,請檢查前後空格與換行;不要填入 App Store 帳號密碼。
SNI 既有設定指定的 TLS 伺服器名稱 例如 tls.example.com,不要加上協定前綴、連接埠或路徑。
Allow Insecure 通常維持關閉 此選項會影響憑證驗證,並非連線失敗時的通用修復方式。

Address 決定連線要前往哪裡,Port 則指定要連到該主機的哪個監聽入口。Password 是伺服器提供的協定憑證,不必硬套 UUID 格式。複製密碼後可核對字元數及首尾字元,但不要將完整密碼貼到公開求助內容中。

新增步驟:從 Home 儲存 Trojan 連線

以下以手動填寫為例。若使用者已有透過訂閱匯入的項目,請優先對照原始參數檢查,不必再手動建立重複項目。訂閱管理與編輯單一連線是不同操作;修改本機項目後,後續更新訂閱時可能會重新產生相關內容。

  1. 準備參數

    整理既有設定中的位址、連接埠、密碼、SNI 與傳輸需求。先確認這些參數都屬於同一條 Trojan 連線,再開始填寫。

  2. 選擇協定

    前往 Home → 右上角「+」→ Type → Trojan。選好 Type 後,再填寫該類型所需欄位,避免沿用錯誤類型的預設值。

  3. 填寫連線資訊

    依序填入 Address、Port、Password。位址欄只填主機資訊,連接埠欄只填數字,密碼照原樣複製,不要自行編碼或加上引號。

  4. 檢查 TLS

    檢查 TLS 相關設定中的 SNI 與 Allow Insecure。SNI 請使用既有設定指定的名稱;通常應保留憑證驗證,並確認其他傳輸欄位。

  5. 儲存並驗證

    儲存後返回 Home,選取剛新增的項目,再啟用連線。首次使用時,請依系統提示允許新增 VPN 設定,接著以一般網頁請求進行驗證,不要只看開關狀態就判定連線正常。

驗證前也請檢查 Home → Global Routing。可暫時選用 Proxy,排除 Config 分流規則的影響;Direct 不適合用來驗證所選 Trojan 的代理轉送;Config 會依目前設定的規則決定請求路徑;Scene 則須配合已設定的情境檢查。測試結束後,請恢復日常使用的模式,避免長期保留排查時的設定。

SNI 與憑證:連線位址不同不一定有問題

SNI 是 TLS 交握時傳送的伺服器名稱,可供伺服器選擇憑證或對應的虛擬主機。一般設定會讓 SNI 符合憑證涵蓋的網域。Address 與 SNI 通常相同,但用途不同,不能只因兩者不同就擅自改成一致。

例如,既有設定可能指定 Address 為某個 IP 位址,同時要求 SNI 使用憑證所對應的網域。此時用戶端會連線至該 IP 位址,並在 TLS 交握時使用指定名稱。反之,任意填入與伺服器憑證無關的網域,也不會讓憑證驗證自動通過。

若同一份設定同時包含 WebSocket 的 Host 與 TLS 的 SNI,也請分別核對。前者與 HTTP 請求有關,後者屬於 TLS 交握;兩者可能相同,但並非同一個欄位。不要只為了「看起來一致」就同時覆寫兩者。

Allow Insecure:不要以略過驗證掩蓋問題

Allow Insecure 通常用來允許不符合一般憑證驗證要求的 TLS 連線。啟用後,流量即使仍可能經過加密,也不代表伺服器身分已獲得可靠確認。加密與身分驗證是兩項不同要求;缺少後者會降低防範中間人干預的能力。

預設保留憑證驗證

遇到憑證錯誤時,先確認 SNI、裝置時間、憑證效期與信任鏈。若設定說明明確指出需使用特殊憑證,請先向該設定的維護方確認憑證安排,不要只因「開啟後可以連線」就認定設定正確。

排查時每次只修改一個欄位,並記下原始值。若同時更改 SNI、連接埠、密碼與 Allow Insecure,即使之後可以連線,也無法判斷真正原因。尤其不要把某條異常連線的設定套用到所有 Trojan 項目。

連線失敗排查:依故障層級逐步縮小範圍

Home 顯示連線已啟用,只能表示本機連線流程已啟動,不能單憑此狀態確認遠端 Trojan 驗證成功,也無法證明目前網頁流量正經由該連線傳送。請先確認選取的項目正確,再根據錯誤資訊與實際請求結果判斷。下表列出排查方向,並非每種錯誤的唯一原因。

觀察到的狀況 優先檢查項目 下一步
連線逾時 位址解析、連接埠、網路路徑與伺服器狀態 重新核對 Address 和 Port;改用另一個可用網路重試相同請求,並記錄結果差異。
出現憑證或 TLS 錯誤 SNI、裝置時間與憑證鏈 保留原始錯誤訊息,核對名稱後向設定維護方確認伺服器憑證。
交握後立即中斷 Password、伺服器驗證與傳輸參數 重新複製密碼,並逐項比對傳輸方式、Host、Path 等既有參數。
只有部分網站無法使用 Global Routing、規則比對與 DNS 暫時使用 Proxy 進行對照測試,再切回 Config 檢查實際套用的規則。

在 Config 模式下,某個網站可能依 DOMAIN-SUFFIX 等網域規則指定為 DIRECT,也可能符合 IP-CIDR、GEOIP 或末尾的 FINAL 策略。因此,「該網站仍使用直連」不能直接歸因於 Trojan 參數錯誤。請先確認實際套用的策略,再判斷是否需要調整連線參數;規則問題與協定問題應分開處理。

提交排查資訊時,說明目前使用的網路、所選 Global Routing 模式、錯誤訊息及曾修改的欄位即可。請遮蔽 Password、訂閱連結中的權杖及其他個人連線憑證;截圖或複製日誌前,也請先檢查是否包含這些資訊。

常見問題:儲存參數後還需要確認什麼

連接埠一定要填 443 嗎?

不一定。請在 Home 中開啟對應項目的編輯頁面,依既有設定確認 Port。若伺服器監聽 8443,就填入 8443;改成常見連接埠不會改變伺服器的監聽設定。

SNI 可以直接填 Address 嗎?

只有在既有設定與憑證名稱都允許時才能這樣填。若 Address 是 IP 位址,或網域名稱與憑證名稱不同,請使用設定明確指定的 SNI,不要直接複製 Address。

開啟 Allow Insecure 後能連線,可以一直保持開啟嗎?

請先恢復憑證驗證,再檢查 SNI、系統時間與憑證鏈。這種情況表示需要進一步調查憑證驗證環節,並不足以證明伺服器身分可信;請由設定維護方確認並處理原因。

訂閱更新後,手動修改的參數為什麼又變回去了?

訂閱更新可能會依遠端內容重新產生項目。請先核對自己既有訂閱的原始參數與維護說明;若遠端內容有誤,應從設定來源修正,不要一直重複修改本機欄位。

切換網路後連線自動啟動,如何判斷是否異常?

檢查 Settings → On Demand 是否已啟用及其既有條件,確認是否由自動連線觸發。On Demand 只控制連線啟動時機,不會修正錯誤的 Trojan 密碼或 SNI;請分別確認自動啟動與遠端連線是否成功。

App Store 正版確認