本文適合已從自己的服務商取得 Trojan 參數,並需要在 Shadowrocket 手動新增或檢查設定的使用者。先分清伺服器位址、驗證密碼與 TLS 身分,再依照 Add Server 的欄位填寫;遇到憑證錯誤、驗證失敗或連線後無法存取時,請按連線階段逐步排查,不要把開啟 Allow Insecure 當成通用的修復方法。
Trojan 連線中的位址、密碼與 TLS 各自負責什麼
Shadowrocket(小火箭)中的 Trojan 是一種代理協定。典型連線流程是先找到伺服器並建立 TCP 連線,再完成 TLS 交握,接著傳送 Trojan 驗證資訊與目標請求。TLS 用來保護傳輸並驗證伺服器身分;Trojan 密碼則用於伺服器端驗證,兩者解決的問題不同,不能互相取代。
填寫前,請向你的服務商取得完整參數:伺服器位址、連接埠、密碼、TLS 使用的網域,以及是否有其他傳輸設定。不要只憑「Trojan」這項資訊猜測其他欄位。若使用既有訂閱,建議先匯入訂閱,只有需要比對差異時才逐項檢查,以免手動複製時有所遺漏。
先備齊參數,再新增項目
若資料只有位址和密碼,請先向服務商確認連接埠與 TLS 網域,不要靠更換連接埠或關閉憑證驗證來猜設定。
在 Add Server 逐項填寫:哪些值必須照原樣保留
在 Home 右上角點選「+」進入 Add Server,並將 Type 設為 Trojan。不同平台的欄位排列可能不同,請依欄位用途核對,不要照著截圖位置直接填寫。以下範例使用保留用示範網域,只用來說明欄位之間的關係,不能作為可連線的設定。
| 欄位 | 填寫方式 | 常見錯誤 |
|---|---|---|
| Type | 選擇 Trojan。 | 只更改項目名稱,並未變更協定類型。 |
| Address | 填入服務商提供的網域或 IP,例如 edge.example.com。 | 貼上包含 https://、路徑或連接埠的完整網址。 |
| Port | 填入提供的整數連接埠,例如 443;有效範圍為 1–65535。 | 把示範連接埠當成固定值,或將連接埠填進位址欄。 |
| Password | 照原樣填入 Trojan 驗證密碼,保留大小寫及特殊字元。 | 誤填訂閱權杖或帳戶登入密碼,或複製時在字串前後留下空格。 |
| SNI | 填入指定的 TLS 網域,例如 tls.example.com。 | 填入網址、路徑、連接埠,或誤填目前正在瀏覽的網站網域。 |
| Allow Insecure | 一般情況下保持關閉,讓用戶端驗證伺服器憑證。 | 把略過憑證驗證當成加速連線或修復驗證問題的開關。 |
Trojan 的 Password 通常是一組驗證字串,不是需要自行選擇的加密演算法,也不是「使用者名稱加密碼」的組合。請將服務商提供的字串直接填入對應欄位,不要自行進行 Base64 編碼、雜湊或加上引號。若從分享連結手動拆出密碼,請留意連結中的百分比編碼;建議由用戶端匯入完整連結,避免把編碼後的文字誤當成原始密碼。
若資料另有 WebSocket 等傳輸要求,也必須依照資料設定相應的傳輸參數。SNI、WebSocket 的 Host 與路徑用途各不相同;即使某份設定使用相同網域,也不能推斷所有服務都相同。資料未要求的選項,不要因名稱相似就自行啟用。
SNI 與憑證網域:伺服器 IP 不等於 TLS 身分
SNI 是 TLS 交握時傳送的伺服器名稱,常用於讓同一台伺服器依網域選擇憑證與服務。Address 決定要連線至何處;SNI 則指出這次 TLS 連線要求的名稱。兩者可能相同,也可能不同,應以服務商提供的參數為準。
- 位址是網域:若位址本身就是憑證涵蓋的網域,且服務商未另行指定 SNI,請依照其匯入設定或填寫說明處理。不要因為欄位可以留白,就認定所有設定都不需要 SNI。
- 位址是 IP:例如連線至
192.0.2.10,而憑證涵蓋tls.example.com,通常需要依照提供的設定填入相應的 TLS 網域。不要假設為網域簽發的憑證也涵蓋該 IP。 - 有多個網域:節點顯示名稱、訂閱網址的網域與 TLS 網域是不同概念。顯示名稱只是備註,訂閱網址用來取得設定,兩者都不能用來推斷 SNI。
- 憑證驗證失敗:請檢查網域拼寫、憑證有效期限、憑證鏈,以及裝置的日期與時間。即使 SNI 填寫正確,過期憑證或不受信任的憑證鏈仍可能無法通過驗證。
填寫 SNI 時只需輸入名稱,例如 tls.example.com,不要填成 https://tls.example.com:443/path。TLS 憑證驗證通常會檢查憑證中的名稱是否符合預期的伺服器身分;修改 SNI 不是任意替換連線目標的方法,更不能填入目標網站的網域來修復代理伺服器的憑證問題。
Allow Insecure 選項:保留驗證與略過驗證的差異
Allow Insecure 的主要作用是放寬伺服器憑證驗證。即使連線仍使用 TLS 加密,略過身分驗證也會降低確認「連線至預期伺服器」的能力。這個選項無法修正錯誤密碼、開啟伺服器未監聽的連接埠,也無法讓失效的訂閱恢復。
關閉 Allow Insecure
建議設定驗證伺服器憑證。若出現網域不符、憑證過期或信任鏈問題,應檢查設定與伺服器端憑證,而非略過錯誤繼續使用。
適用情況:日常連線,以及使用有效憑證的 Trojan 設定
開啟 Allow Insecure
放寬憑證驗證,降低確認伺服器身分的能力。僅在了解風險的受控診斷情境下考慮,不能因為「開啟後可以連線」就認定設定正確。
適用情況:維護人員明確安排的臨時憑證故障診斷,不適合作為長期設定
讓憑證錯誤由正確的環節處理
確認裝置時間與 SNI 後仍出現憑證錯誤,請向服務商回報錯誤類型並確認伺服器端憑證狀態;問題解決後,請在關閉 Allow Insecure 的設定下重新驗證。
從新增到驗證:每次只變更一項設定
以下以手動新增為例。若已有訂閱,請向服務商取得訂閱連結並依匯入流程使用,不要為了驗證單一參數而刪除原有訂閱。訂閱管理的項目可能在下次更新時被覆寫;若需長期修正參數,應先向服務商確認設定。
-
核對資料
準備好位址、連接埠、Password、SNI 與傳輸需求。記下原本的 Global Routing 模式;若 Settings → On Demand 已啟用自動連線,測試期間請留意自動重連可能觸發的情況,不要把自動重連誤認為手動設定未儲存。
-
新增項目
Home →「+」→ Add Server → Type → Trojan。分別填寫位址與連接埠,不要把完整分享連結貼進 Address,也不要把訂閱連結當成伺服器位址。
-
核對身分
將原始驗證字串填入 Password,依照資料填寫 SNI,並保持 Allow Insecure 關閉。其他傳輸設定只依資料填寫,完成後儲存並返回 Home 選取該項目。
-
執行測試
在 Home 使用 Connectivity Test 檢查基本連線狀況,再建立連線並存取明確需要透過代理的目標。測試有回應,不代表所有網站、規則與 UDP 要求都已驗證。
-
檢查分流
若要排除規則的影響,可暫時將 Global Routing 設為 Proxy,再重複相同的存取測試。測試後請還原原本的 Config 等設定,避免長期改變既有分流行為。
每次只修改一個欄位,並記錄修改前後的錯誤現象。例如「修正 SNI 後憑證錯誤消失,但出現驗證失敗」,表示排查已進入下一個階段,此時應檢查 Password,而非繼續任意修改 TLS 選項。請勿在截圖或回報中公開密碼、完整分享連結或訂閱權杖。
常見問題:依錯誤發生階段排查
位址和密碼都填了,為什麼一直逾時?
先檢查 Port 與位址,確認位址欄沒有協定前綴或路徑。網域解析失敗、網路無法連線、伺服器連接埠未開放,都可能造成逾時;這類錯誤不一定已進入 TLS 或密碼驗證階段。請改用可連線的網路重複相同測試,再向服務商確認伺服器狀態,不要先開啟 Allow Insecure。
出現憑證錯誤,是密碼錯了嗎?
請先處理 TLS 階段:檢查 SNI 拼寫、裝置日期與時間,以及伺服器端憑證狀態。Password 用於後續 Trojan 驗證,修改密碼通常無法修復憑證網域不符的問題。保留錯誤訊息原文並回報,比反覆切換所有 TLS 選項更有助於找出原因。
已經連線,為什麼網頁還是直接連線?
檢查 Home → Global Routing。Direct 不適合用來驗證代理路徑;Config 會依目前設定的規則決定策略。暫時改用 Proxy 重試後,若狀況有所改變,再到 Config 檢查啟用的設定與規則順序,不要把分流問題當成 Trojan 密碼錯誤。
昨天手動改好了,更新訂閱後怎麼又變了?
訂閱更新可能會重新產生由訂閱管理的項目。請檢查更新後的 Address、Port 與 SNI 是否恢復成來源值,並向服務商確認訂閱資料。需要比對時,請保留一個獨立的手動測試項目,不要反覆修改受訂閱管理的項目來掩蓋來源問題。
Global Routing 中的 Proxy、Direct、Config、Scene 不應與協定選項混為一談:這些設定會影響路由決策,Trojan 參數則決定如何連線至伺服器。Scene 會依場景設定運作,排查時也應確認實際採用的策略。不要只因出現連線圖示,就認定某個網頁要求已透過所選的 Trojan 項目傳送。
規則驗證與參數保管
還原 Config 後,請使用可辨識的要求驗證規則。以下片段僅說明匹配關係:符合示範網域的要求交由 PROXY 處理,其餘交由 DIRECT 處理。PROXY 必須能對應至設定中實際可用的代理策略;只複製規則文字並不會新增 Trojan 伺服器。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
規則會依序檢查。DOMAIN-SUFFIX 會匹配網域及其子網域;若前面的規則都未匹配,則由 FINAL 作為預設處理。正式設定中若已有順位更前面的匹配規則,也應一併檢查,不能只查看剛新增的兩行。需要了解更多語法,請參閱規則參考,不要透過修改 SNI 來改變網站分流。
- 日常使用時請保留憑證驗證,並在測試結束後確認已還原原本的 Global Routing 與 On Demand 設定。
- 請妥善保管密碼、節點分享連結與訂閱連結等敏感資料。回報問題時,只提供去識別化後的欄位關係、錯誤訊息原文與發生階段。
- 分享連結通常代表單一連線設定;訂閱連結則用於取得並更新一組設定。若需要補充資料,請向服務商索取。
- 若新密碼已生效,也請同步處理舊項目的儲存副本,以免下次誤選後又重複排查已解決的驗證問題。