Shadowrocket Trojan 節點參數設定:密碼、SNI 與 TLS 選項說明

說明 Trojan 如何透過 TLS 建立連線,並逐項解說 Add Server 中 Address、Port、Password、SNI 與 Allow Insecure 的設定方式及常見錯誤。

本文重點

本文適合已取得服務商提供的 Trojan 參數或訂閱,並想在 Shadowrocket(小火箭)中核對設定的使用者。先釐清連線位址、TLS 身分與驗證密碼,再依序檢查 Add Server 欄位。若遇到逾時、憑證錯誤或驗證失敗,可按連線階段逐步縮小問題範圍,不必反覆切換所有選項。

Trojan 參數的三個環節:連線、TLS 與驗證

常見的 Trojan 連線會先透過 TCP 連上伺服器指定的連接埠,接著建立 TLS 工作階段,再於加密通道中提交 Trojan 驗證資訊並傳送代理要求。因此,位址可連通不代表 TLS 交握成功;TLS 成功也不代表密碼正確。設定時應分別檢查這三個階段。

TLS 用來保護傳輸並驗證對端身分;Trojan 密碼則用於應用程式層的驗證,兩者不能互相取代。伺服器憑證有效,不代表輸入的密碼正確;密碼正確,也無法修正憑證名稱不符的問題。本文說明常見的 Trojan over TLS 設定;其他傳輸選項應依照既有訂閱或服務商提供的說明設定。

3 個階段
依序檢查 TCP 連線、TLS 交握與 Trojan 驗證
443
常見 TLS 連接埠範例,並非所有 Trojan 設定都固定使用這些值
1 個欄位
每次只修改一個欄位,儲存後重複相同測試

判斷方式:先找出失敗階段

若出現憑證名稱錯誤,先檢查 SNI 與憑證,不要急著更換密碼;若連線持續逾時,先確認位址、連接埠與目前使用的網路,暫時不要調整 TLS 安全選項。

Add Server 欄位:如何設定位址、連接埠與密碼

從 Home 右上角的「+」進入 Add Server,將 Type 設為 Trojan,再逐項輸入資料。若現有訂閱能直接建立項目,建議保留原項目作為比對;手動檢查時可另建項目,避免訂閱更新覆蓋暫時修改的設定。欄位位置可能因介面調整而改變,請以英文欄位名稱及其用途為準。

欄位 填寫內容 常見錯誤
Type 選擇 Trojan,並與既有設定的協定一致。 只看項目名稱,沒有確認實際使用的協定。
Address 填入服務商提供的伺服器網域名稱或 IP 位址。 貼上完整的訂閱 URL,或填入包含 https://、路徑與查詢參數的內容。
Port 填入伺服器實際監聽的連接埠,例如 443 或 8443,請以原始參數為準。 看到 TLS 就一律改成 443,或將連接埠重複填入 Address。
Password 填入該 Trojan 項目的完整驗證密碼。 誤用服務商網站的登入密碼,或漏掉符號、連同前後空白一起貼上。
SNI 填入服務商指定的 TLS 伺服器名稱,通常是網域名稱。 填入 URL、連接埠或任意網站名稱。
Allow Insecure 正常使用時保持關閉,以保留憑證驗證。 把它當成解決逾時或密碼錯誤的通用開關。

例如,若原始參數明確指定位址為 edge.example.com、連接埠為 8443,就應分別填入這兩個欄位。此處的網域僅用於說明欄位格式,並非可用的服務位址。不要因為瀏覽器常用 HTTPS 連接埠 443,就自行更改服務端指定的連接埠。

SNI 與 TLS:為什麼連線位址可以不同

SNI 是 TLS ClientHello 中的伺服器名稱擴充欄位,讓同一個位址上的伺服器能選取相應的憑證與網站設定。Address 決定用戶端要連到哪裡;SNI 則參與 TLS 連線中的名稱選擇。常見設定中兩者使用相同網域,但若 Address 填入 IP,或伺服器採用特定入口,兩者也可能不同。

例如,若既有設定指定 Address 為某個 IP、SNI 為 tls.example.com,就應保留這項差異。不要自動把 SNI 改成 IP,也不要從其他項目複製一個「看起來相似」的網域。憑證驗證也會檢查信任鏈、有效期限與名稱是否相符;裝置時間若明顯不準,也可能讓有效憑證被判定為尚未生效或已過期。

若原始參數另有 ALPN 或傳輸相關設定,也應保持一致。不要直接套用疑難排解文章中出現的任意組合。尤其不可將標準 Trojan 的參數設定方式套用到其他協定:協定類型會決定驗證與傳輸方式,不能只修改 Type 就視為完成轉換。

從輸入到驗證:依序完成五項檢查

輸入前請備妥原始參數,並記下目前使用的是 Wi-Fi 或行動網路。驗證時使用相同的目標、網路與項目,才能判斷修改是否有效。若同時更改密碼、SNI 與路由模式,即使連線恢復,也難以找出真正原因。

  1. 前往新增頁面

    Home → 右上角「+」→ Add Server → Type,選擇 Trojan。若使用既有訂閱,請先對照訂閱產生的項目,確認沒有選錯協定。

  2. 輸入連線資訊

    分別填入 Address、Port、Password。貼上後檢查前後是否有空格,確認 Address 不含 URL 路徑,且 Port 與原始參數一致。

  3. 檢查 TLS

    依照原始設定填入 SNI,檢查 TLS 相關選項,並保持 Allow Insecure 關閉。儲存前再次確認網域名稱後方沒有附帶連接埠。

  4. 排除路由影響

    返回 Home,選取剛儲存的項目。測試期間可暫時將 Global Routing 設為 Proxy,確認測試要求是透過該項目傳送;完成後恢復原本的 Config 或 Scene 設定。

  5. 確認實際連線

    開啟連線開關,依系統提示完成必要確認,再執行 Connectivity Test 並瀏覽平常使用的 HTTPS 網頁。記下錯誤訊息與實際狀況,不要只看連線開關是否已開啟。

Global Routing 設為 Direct 時,要求可能會直接連線;即使網頁能開啟,也無法證明 Trojan 參數有效。Config 會依目前的設定規則選擇策略;使用 Scene 時,則應檢查該場景的實際設定。暫時使用 Proxy 是為了減少路由變數,不代表日常使用時必須維持此模式;分流規則說明請參閱規則手冊。

常見狀況:逾時、憑證錯誤與連線後無法使用

排查時應依實際錯誤分類,不要只憑「連不上」三個字判斷。以下提供檢查方向,並非固定診斷結論:相同的表面狀況可能源自不同環節,須搭配原始參數與重複測試確認。

一直顯示逾時,應該先改密碼嗎?

先檢查 Home 中所選項目的 Address 與 Port,再換用其他可連線的網路重測。網域無法解析、連接埠無法連線或伺服器沒有回應,都可能造成逾時。確認連線能抵達伺服器後,再檢查密碼;逾時本身不能證明密碼錯誤。

出現憑證錯誤時,SNI 該怎麼設定?

開啟項目編輯頁,對照原始設定檢查 SNI 拼字,再前往 iPhone 或 iPad 的「設定 → 一般 → 日期與時間」確認日期、時間與時區。若仍出現憑證錯誤,請將錯誤內容交由自己的服務商檢查,不要開啟 Allow Insecure 來掩蓋問題。

有延遲數值,為什麼網頁還是打不開?

延遲數值會依測試方式而異,不一定涵蓋完整的 TLS、Trojan 驗證與目標網站連線流程。先確認 Global Routing 不是 Direct,再執行 Connectivity Test;若連線建立後立即中斷,還需檢查密碼與伺服器狀態。

手動修改後,訂閱更新又失效了?

訂閱更新可能會重新產生項目並覆蓋本機修改。請逐項比對更新後的 Address、Port、SNI 與已確認的參數,並請自己的服務商修正訂閱內容。若要暫時測試,請另建手動項目,避免反覆修改同一個訂閱項目。

保存檢查結果並保護訂閱資訊

回報問題時,記下發生時間、網路類型、測試方式及已遮蔽的錯誤資訊,比傳送完整設定更有助於釐清問題。Password 與訂閱 URL 都可能包含存取憑證;尤其查詢參數中的 token,不應出現在公開截圖、群組對話或分享的記錄中。不要將真實訂閱位址貼到不明頁面驗證。

Shadowrocket 是閉源商業 App,購買用戶端與取得伺服器存取憑證是兩件不同的事。買斷用戶端 ≠ 購買連線服務方案。本文假設使用者已有自己的服務商與訂閱,僅說明參數核對與使用方式。

App Store 正版確認