在 Shadowrocket(小火箭)設定 Trojan 時,請先核對服務商提供的 Address、Port、Password 與 SNI,再確認 TLS 憑證驗證及傳輸設定。本文適合已有服務商參數、需要手動新增或修正伺服器項目的使用者。依序檢查有助於區分地址錯誤、認證失敗、憑證錯誤與規則分流問題,避免反覆切換選項碰運氣。
Trojan 與 TLS:先釐清連線與認證
Trojan 通常透過 TLS 連線傳送代理請求。建立連線時,客戶端先連至伺服器地址與連接埠,再完成 TLS 交握及憑證驗證,接著使用 Password 進行 Trojan 認證。TLS 憑證驗證與 Password 認證是兩個不同環節:密碼正確無法補救憑證名稱不符;憑證有效也不代表密碼一定正確。
手動設定應以你已有的伺服器參數為準。訂閱連結請向你的服務商取得;若已有訂閱,優先檢查匯入後的項目,不要只憑節點名稱猜測協定。名稱中出現「TLS」或「443」,並不能單憑此判定 Type 應選 Trojan。
Add Server:依序填寫伺服器資料
新增前請備妥完整參數,包括伺服器要求的傳輸方式。以下以手動新增為例;不同介面語言的說明可能有所差異,本文保留英文介面用語。若服務商提供的是訂閱連結,請依 Subscribe 流程匯入,不要把整段連結填入 Address。
-
開啟新增頁面
前往 Home,點選右上角的「+」開啟 Add Server,並在 Type 選擇 Trojan。先選定 Type,再填寫對應欄位,避免將其他協定的認證參數填入此表單。
-
填寫連線目標
在 Address 填入服務商提供的主機名稱或 IP,並在 Port 填入對應連接埠。例如 Address 為
edge.example.com、Port 為443;此處僅示範格式,並非可供連線的服務。 -
填寫認證資訊
將 Trojan 密碼原樣填入 Password,並確認大小寫、符號及前後空格。不要把訂閱地址中的 token、備註名稱或網站登入密碼當成 Trojan 密碼。
-
確認 TLS 設定
依服務商提供的值設定 SNI,並保持 Allow Insecure 關閉。若服務商也提供傳輸相關欄位,請逐項核對;不要因連接埠是 443 就省略這些設定。
-
儲存並測試
使用頁面上的儲存操作返回 Home,選取新增的項目,再啟用連線。先測試連線並開啟一個已知可存取的網頁,確認無誤後再檢查日常 Config 分流效果。
Address、Port、Password 與 SNI 的填寫原則
Address 決定連線目標,SNI 則是在 TLS 交握期間宣告伺服器名稱。兩者經常相同,但不一定必須相同。尤其 Address 是 IP 時,不要直接認定 SNI 也要填入該 IP;請使用服務商明確提供的憑證名稱及相關參數。
| 欄位 | 填寫內容 | 常見錯誤 |
|---|---|---|
| Address | 伺服器主機名稱或 IP,例如 edge.example.com |
包含 https://、路徑、查詢參數,或貼上整段分享連結 |
| Port | 伺服器實際監聽的連接埠,例如 443 或服務商指定的其他值 |
只因使用 TLS 就自行改成 443,或輸入全形數字 |
| Password | Trojan 認證密碼,請依原始值填寫 | 混入換行、誤刪符號,或把其他協定的認證資訊當成密碼 |
| SNI | 服務商提供的 TLS 伺服器名稱,例如 tls.example.com |
填入 URL、連接埠、路徑,或改成與憑證無關的網域 |
SNI 不是用來任意替換目標網站名稱的欄位,也不等同於 HTTP Host。若使用 WebSocket 等傳輸方式,Host、Path 與 SNI 屬於不同層次;即使看起來都是網域或路徑,也應依參數表分別填寫。基本 Trojan 設定不代表一定需要 WebSocket,請勿自行啟用額外傳輸方式。
判斷順序:先核對欄位,再調整連線方式
Address 使用 IP、SNI 使用網域可能是正常設定。遇到憑證錯誤時,請先核對 SNI、裝置日期與時間,以及伺服器憑證;不要先把 Address 改成猜測的網域。
Allow Insecure:維持憑證驗證開啟
Allow Insecure 會影響 TLS 憑證驗證,無法修正密碼、連接埠或網路連線問題。關閉此選項時,客戶端會驗證伺服器憑證;開啟後則會略過相關驗證,降低確認伺服器身分的能力。這不是加速選項,也不是所有連線失敗問題的通用解法。
Allow Insecure 關閉
建議保留 TLS 憑證驗證。若出現憑證錯誤,請檢查憑證有效期限、信任鏈、名稱是否相符及裝置時間,並請服務商確認伺服器設定。
適用情境:日常使用,以及憑證有效的 Trojan 連線
Allow Insecure 開啟
略過憑證驗證相關檢查,因此無法確認連線是否到達預期的伺服器。即使之後連線成功,也只表示應檢查驗證環節,不代表問題已妥善修復。
適用情境:了解風險後,在受控環境中短暫排查憑證驗證問題
若開啟後可以連線、關閉後卻失敗,請恢復關閉狀態,並將具體憑證錯誤回報給服務商。排查時不要傳送完整 Password 或訂閱連結;只需提供錯誤文字、發生時間及已遮蔽敏感資訊的欄位內容。
已儲存但無法連線:分層檢查
儲存成功只代表表單已接受,不代表遠端服務可用。排查時每次只變更一項並記錄結果;不要同時更改連接埠、密碼、SNI 和 Global Routing,否則即使恢復連線,也無法判斷是哪個步驟發揮作用。
- 連線逾時:先確認目前的網路可正常瀏覽一般網頁,再核對 Address 是否可解析,以及 Port 是否與服務商提供的值相符。逾時不一定是 Password 錯誤,因為連線可能尚未進入認證階段。
- TLS 交握或憑證錯誤:檢查 SNI 拼字、裝置日期與時間,以及伺服器憑證是否涵蓋該名稱。憑證過期或信任鏈異常須由伺服器端處理。
- 認證失敗或很快中斷:重新核對 Password、Type 及傳輸參數。單憑「中斷」無法判定是密碼錯誤,請依應用程式顯示的錯誤訊息判斷。
- 已連線但部分網頁無法開啟:檢查 Home → Global Routing。Direct 會直接連線,不適合用來確認 Trojan 代理效果;可暫時選用 Proxy 排除規則分流的影響,再恢復日常 Config。
Config 會依目前設定與策略處理流量,仍須檢查規則實際指向的策略,而不只是查看 Home 中選取的項目。Scene 則與所選場景設定有關,不能視為 Proxy 的另一種名稱。排查期間請先確認目前使用的模式,避免把策略選擇問題誤判為 Trojan 欄位錯誤。
手動設定 Trojan 常見問題
服務商只提供一個連結,需要逐段拆開填寫嗎?
先分辨這是訂閱連結,還是單一伺服器分享連結。訂閱連結請向你的服務商取得,並在 Home →「+」→ Type → Subscribe 依訂閱流程新增。不要將訂閱 URL 填入 Trojan 的 Address,也不要把連結中的 token 當成 Password。
沒有提供 SNI,可以隨便填一個網域嗎?
不可以。先檢查原始參數是否有說明伺服器名稱;若未明確提供,請向服務商確認是否使用與 Address 對應的名稱,以及憑證驗證所需的名稱。不要拿常見網站網域測試,也不要用開啟 Allow Insecure 取代確認設定。
修改訂閱項目後,更新時又恢復原狀?
更新訂閱時,可能會重新寫入服務商提供的參數。先確認訂閱來源中的值是否有誤;需要比對排查時,可另外手動建立獨立項目,保留原訂閱項目,避免把本機暫時修改誤認為伺服器端已修復。
買了 Shadowrocket,為什麼還要填密碼?
購買客戶端不等於購買線路方案。Password 是你向既有服務商取得的 Trojan 認證資訊,不是 App Store 購買憑證。Shadowrocket 是閉源商業應用,可透過 App Store 一次買斷;伺服器使用權與客戶端購買分開管理。
最後再確認一次:Type 選 Trojan,Address 不含協定前綴與路徑,Port 與伺服器設定一致,Password 保持原樣,SNI 符合服務商要求,並保持 Allow Insecure 關閉。完成檢查後,再回到 Config 處理規則與策略,可減少反覆修改無關選項。