跳至正文

Shadowrocket Trojan 節點參數設定:Address、Port、Password 與 SNI 說明

了解 Trojan 如何透過 TLS 建立連線,並逐項說明 Add Server 表單中的 Address、Port、Password、SNI 等欄位,以及常見填寫錯誤。

本文重點

在 Shadowrocket(小火箭)中設定 Trojan 時,請逐項填入服務商提供的參數:Address 是連線位址、Port 是服務埠、Password 用於驗證,SNI 則是在 TLS 交握時提供的伺服器名稱。本文適合已有合法可用設定、需要手動輸入或核對匯入結果的使用者。請先檢查各項參數,再分別排查 TLS、驗證與規則分流問題;不要反覆更換埠號或關閉憑證驗證碰運氣。

一、Trojan 連線中,TLS 與 Password 各自負責什麼

一般 Trojan 連線會先與伺服器建立 TCP 連線,再進行 TLS 交握,接著在加密通道中傳送包含驗證資訊的 Trojan 請求。TLS 負責加密傳輸及驗證伺服器身分,Password 則供伺服器確認用戶端是否有使用權限。密碼正確不代表憑證一定有效,憑證有效也不代表密碼一定正確。

因此,建議依照「解析位址 → 連接埠可連線 → TLS 交握 → Trojan 驗證 → 實際請求」的順序排查。一般網頁能開啟,只表示裝置具備基本網路連線;延遲測試有數值,也無法單獨證明 Trojan 驗證及目標網站存取均已成功。

443
常見 TLS 服務連接埠;實際值請依既有設定填寫
1–65535
連接埠號碼的有效範圍,不代表範圍內的連接埠都能連線
4 項
本文重點核對 Address、Port、Password、SNI

建議:先保留服務商提供的值

逐項比對原始參數與表單內容;只有確認某項有誤時,才修改該項並重新測試。將 Port 改成 443,或把 SNI 改成 Address,都不是通用的修復方法。

二、Add Server 表單:四項參數的填寫方式

在 Home 右上角點選「+」進入 Add Server,先將 Type 設為 Trojan,再填寫其他欄位。介面語言或表單配置不同時,SNI 可能顯示為 TLS 相關的伺服器名稱欄位;請依欄位用途核對,不要填入備註或 Password。以下地址與密碼僅用於說明格式,無法用來連線。

欄位範例填寫規則與常見錯誤
TypeTrojan必須與原始設定一致,不能只因為同樣使用 TLS 就改選其他協定。
Addressedge.example.com填入伺服器網域名稱或 IP 位址,不要包含 https://、路徑、查詢參數或連接埠尾碼。
Port443只填數字。若原始設定為 8443,就保留 8443,不要擅自改成常見值。
Passworddemo-password-not-valid照原值複製,注意大小寫、前後空格及換行;這不是 App Store 帳號密碼。
SNItls.example.com填入既有設定指定的 TLS 伺服器名稱,通常是網域名稱;不要加上通訊協定、路徑或連接埠。

Address 和 SNI 可以相同,也可以不同。例如 Address 是連線入口的 IP,而 SNI 是伺服器憑證所對應的網域名稱。此時不能把 SNI 也改成該 IP。TLS 的 SNI 擴充功能用於指出伺服器名稱;憑證鏈是否可信、憑證名稱是否相符,仍須正常驗證。

三、手動新增並完成首次連線

新增前請備妥完整的 Trojan 參數。如果服務商提供的是訂閱連結,建議優先透過訂閱方式匯入,再核對建立的項目;只有取得明確的個別參數時,才依照下列步驟手動填寫。訂閱網址不能直接填入 Address。

  1. 開啟表單

    開啟 Home → 點選右上角「+」→ Add Server,在 Type 中選擇 Trojan。為項目設定容易辨識的備註,避免與先前儲存的相似項目混淆。

  2. 填寫位址

    依序填寫 Address 和 Port。若取得的格式為「網域名稱:連接埠」,請分開填入兩個欄位;不要將完整分享連結貼到 Address。

  3. 核對驗證資訊

    填入 Password 和 SNI,保留原始 TLS 設定。如果既有設定另包含 WebSocket 等傳輸參數,也須依原值設定對應選項;只填這四項不代表資訊已完整。

  4. 儲存並選取

    儲存後返回 Home,選取剛建立的項目。確認目前的 Global Routing 選項,再啟用連線;首次使用時,請依系統提示允許新增 VPN 設定。

  5. 測試請求

    在 Home 執行 Connectivity Test,再開啟已知可用的 HTTPS 網頁。查看連線記錄,確認請求是否依所選策略處理;測試結束後,請恢復平常使用的路由設定。

若已啟用 Settings → On Demand,請記下目前的條件。按需連線可能會再次觸發連線,排查時要分辨是條件觸發了連線,還是所選 Trojan 項目確實可用。若需暫時停用,測試後請恢復原有條件,不要刪除所有設定。

四、連線成功但存取異常:釐清 Global Routing 模式

在 Home 選取項目,不代表所有請求都會使用該項目。Global Routing 會決定請求如何套用策略;若目前是 Direct,網頁存取結果無法用來判斷所選 Trojan 項目是否正常。以下僅比較 Shadowrocket 本身的路由設定,不涉及服務來源的選擇。

Config

建議

依目前啟用的設定規則決定請求的去向。DOMAIN-SUFFIX 比對網域後綴,IP-CIDR 比對 IP 網段,GEOIP 依 IP 地理位置比對,FINAL 則處理先前未符合規則的請求;最終結果仍取決於規則順序及目標策略。

適用情況:已核對規則的日常使用;不要假設未符合規則的請求一定會直連。

Proxy

將進入用戶端處理範圍的請求交由代理策略處理,方便暫時排除規則的影響。此模式無法修正 Password 或 TLS 設定錯誤,也不代表一定會接管所有裝置流量。

適用情況:短時間確認所選 Trojan 項目能否處理實際請求。

Direct

讓請求直接連線至目標,不經所選代理項目轉送。切換到 Direct 後網頁能開啟,只能作為直連路徑的對照結果。

適用情況:比較基本網路狀態,不能用來驗證 Trojan 參數。

Global Routing 中的 Scene 可依使用情境套用相應設定;排查時還須確認目前情境實際採用的策略。不要只看 Home 中項目的選取標記,而忽略情境與規則的最終結果。

建議:分開進行暫時測試與日常設定

如果 Proxy 下的請求正常,但 Config 下同一請求異常,請先查看符合的規則及其策略;如果兩種設定都失敗,再回頭逐一排查 Address、Port、TLS 和 Password 的連線流程。

五、常見填寫問題:依症狀排查

錯誤提示只能協助縮小排查範圍,不能取代參數核對。以下是可供判斷的常見狀況,不代表任何特定裝置的實測結果。每次修改後,請以相同目標重試,並記錄目前網路、所選項目、路由設定及具體提示,避免同時變更多個因素。

一直逾時,是 Password 錯了嗎?

不一定。先前往 Home → 選取項目 → 編輯,核對 Address 和 Port,再確認網域名稱能否解析,以及目前網路能否連上該連接埠。逾時可能發生在 TCP 連線或交握階段,不能只因逾時就重設密碼。

顯示憑證名稱不相符,SNI 應該填什麼?

填入既有服務商明確提供的伺服器名稱,並確認沒有附上 https:// 或 :443。如果 Address 是 IP,而原始設定另有網域名稱,請保留該網域名稱作為 SNI;若仍出現錯誤,請確認伺服器憑證,不要略過驗證來掩蓋問題。

Password 已經複製了,為什麼仍然驗證失敗?

請重新從原始設定複製,檢查大小寫、尾端換行,以及是否誤用了帳號登入密碼。手動填寫表單時,請輸入實際密碼,不要照抄連結中的百分比編碼;若服務商已更新驗證資訊,請更新既有訂閱或替換相應參數。

測得到延遲,為什麼網頁還是打不開?

先確認 Global Routing 不是 Direct,再核對目前請求所套用的規則策略。若只有網域請求失敗,請進一步檢查 DNS 解析結果;若所有請求都失敗,則核對 TLS、驗證資訊及其他傳輸參數。延遲測試不能取代完整的應用程式存取測試。

六、分享連結、訂閱更新與參數安全

trojan:// 通常代表單一分享連結,常見結構包含驗證資訊、伺服器位址、連接埠及查詢參數。它不是一般網頁網址,也不是會自動更新的一組訂閱內容。透過 Shadowrocket 的掃描或剪貼簿入口匯入後,仍應開啟項目核對 Type、Address、Port、Password 及 TLS 相關選項。

以 https://example.com/sub?token=xxxx 為例,這只是無法使用的訂閱格式示意。實際訂閱網址可能包含存取憑證,請透過訂閱入口儲存,讓用戶端取得其中的項目;不要將整段 URL 填入 Trojan 的 Address。訂閱產生的項目更新時可能會被覆寫,若要長期修改,請先確認設定的管理方式。

App Store 正版核對