本文適合已取得服務商與連線參數,準備在 Shadowrocket(小火箭)中新增 Trojan 的使用者。先了解伺服器位址、Password 與 SNI 各自的用途,再依照 Home → Add Server 完成設定,最後分別檢查 TLS 交握、身分驗證與規則分流。範例僅用來說明欄位間的關係,並非可供連線的服務。
為什麼要分別檢查 Trojan 參數
Trojan 使用 TLS 保護用戶端與伺服器之間的通訊,並在這條連線中進行協定驗證與轉送。一般 Trojan 通常運作於 TCP 之上;TLS 建立成功,不代表 Password 已通過驗證,也不代表目標網站已能正常存取。這三個階段應分開檢查。
伺服器位址決定連線要連到哪裡,連接埠決定要連接伺服器上的哪項服務,SNI 用於在 TLS 交握時宣告伺服器名稱,Password 則用於 Trojan 身分驗證。這些資料可能來自同一份參數表,但不能互相取代。尤其不要把訂閱連結中的 token、帳戶登入密碼或其他協定的 UUID 當成 Trojan Password。
結論:依失敗階段調整參數
出現憑證錯誤時,先檢查 SNI、憑證與裝置時間;TCP 連線逾時時,先檢查位址與連接埠。每次只修改一項後重新連線,避免同時更動多項而無法判斷原因。
在 Add Server 中逐項填寫
以下以 Home 中的手動新增流程為例。不同平台的表單版面可能有所不同,但欄位用途相同。若現有訂閱已提供完整參數,請優先保留訂閱提供的設定;只有在服務商明確要求補充或修正時,才手動調整相應欄位。
-
開啟表單
進入 Home → 點選右上角「+」→ Add Server,並在 Type 中選擇 Trojan。先確認類型,不要只因節點名稱含有「TLS」就判定其協定。
-
填寫位址
在 Address 填入服務商提供的主機名稱或 IP,在 Port 填入指定連接埠。例如連接埠為 443 時,只需在 Port 填入
443;Address 不要加上https://、路徑或結尾斜線。 -
填寫密碼
在 Password 貼上該 Trojan 節點的密碼。檢查大小寫、前後空格與換行;不要自行改寫字元,也不要先將原始密碼轉換成 URL 編碼文字。
-
檢查 TLS
進入表單中的 TLS 設定,依照服務商說明核對 SNI 與憑證驗證設定。若服務商另有提供 ALPN、傳輸方式或 WebSocket 參數,也應逐項保持一致,不要照抄其他節點的設定。
-
儲存並測試
儲存後返回 Home,選取剛新增的節點。為排除規則干擾,可暫時將 Global Routing 設為 Proxy,開啟連線後瀏覽已知可用的 HTTPS 網頁;測試結束後再恢復日常分流設定。
Address、Password 與 SNI 的填寫原則
以下使用保留範例網域展示欄位格式。gateway.example.com 與 tls.example.com 都不是本文提供的服務位址。位址與 SNI 不同不一定是錯誤:有些部署會使用獨立的連線入口,但要求 TLS 交握時宣告另一個受憑證涵蓋的名稱。
| 欄位 | 格式範例 | 檢查重點 |
|---|---|---|
| Type | Trojan |
必須與伺服器端協定一致,不要改用 Shadowsocks 或 VLESS 嘗試連線。 |
| Address | gateway.example.com |
只填主機名稱或 IP;網域名稱必須能在目前的網路環境中解析。 |
| Port | 443 |
此為範例值。若服務商指定 8443 等其他連接埠,請填入實際指定值。 |
| Password | 服務商提供的原始密碼 | 保留完整字元,不要以帳戶密碼、訂閱 token 或節點備註代替。 |
| SNI | tls.example.com |
只填服務商要求的名稱,不要加上協定前綴、連接埠或 URL 路徑。 |
SNI 與 HTTP Host 是不同欄位。若服務商使用 WebSocket 傳輸,可能還會提供 Host 和 Path;其中 Path 可能以 / 開頭,而 SNI 不包含路徑。一般 Trojan 若未要求額外傳輸方式,不應自行啟用 WebSocket 或猜測 Path。
- 密碼含有特殊字元:直接填入 Password 欄位時,請使用原始值;若從分享連結匯入,編碼解析會由匯入流程處理,不要再手動重複解碼或編碼。
- 位址使用 IP:仍可能需要填入網域格式的 SNI,以符合伺服器憑證;Address 是 IP,不代表 SNI 也要改填 IP。
- 未提供 SNI:不要隨意填入知名網站的網域名稱。請先核對原始訂閱的完整參數,或向服務商確認是否應以位址網域作為伺服器名稱。
不能以修改密碼取代 TLS 驗證
TLS 憑證驗證用來確認連線對端的身分,通常會檢查憑證信任鏈、有效期限與名稱是否相符。能連上伺服器,不代表其提供的憑證符合目前的 SNI。裝置日期或時區錯誤,也可能讓原本有效的憑證被判定為尚未生效或已過期。
SNI 通常會影響伺服器選用哪張憑證,用戶端則需驗證憑證是否涵蓋預期名稱。兩者彼此相關,但並非「填入任意網域即可加密」。Password 錯誤屬於後續驗證問題,反覆更換 Password 無法解決憑證名稱不符。
保留憑證驗證
建議使用正確的 SNI,並讓用戶端檢查伺服器憑證。發生錯誤時,請修正名稱、裝置時間或伺服器憑證,不要將驗證失敗視為正常狀況。
適用情況:日常連線、使用有效憑證的一般 Trojan 部署
略過憑證驗證
這會降低對伺服器身分的確認能力,無法修正錯誤的位址、連接埠或密碼。即使暫時連線成功,也不能據此判定整組參數正確。
適用情況:僅用於了解相關風險與診斷範圍,不建議作為一般修復方式
ALPN 用於協商應用層協定,並非通用的加速開關。服務商未指定時,請保留原設定,不要強制填入 h2 或 http/1.1。同樣地,不要為了消除錯誤訊息而隨意降低 TLS 設定;應先確認伺服器端的要求。
連線成功後,分開檢查規則與節點
Home 的連線開關開啟,代表用戶端已啟動連線流程,不保證每個請求都會經過目前的 Trojan 節點。Global Routing 中的 Direct 會讓請求直接連線;Config 會依照啟用設定中的規則選擇策略;Proxy 可暫時用來排除規則分流的影響。Scene 則需一併檢查相應場景設定,第一次排查時不宜額外加入這項變因。
- 先在 Home 選取要測試的 Trojan 節點,再暫時選擇 Global Routing → Proxy,重新連線並瀏覽固定的測試網頁。
- 若使用 Proxy 時可以正常瀏覽,但在 Config 下的結果不同,請進入 Config 檢查目前啟用的設定及其中的
[Rule],不要馬上修改 SNI。 - 檢查規則是否命中
DIRECT,以及指向PROXY的請求實際選用了哪個節點或策略群組。 - 若還要排除自動重新連線的影響,請查看 Settings → On Demand 目前的設定;On Demand 用來管理連線的觸發條件,不會修復 Trojan 驗證參數。
例如,以下規則只會讓範例網域及其子網域使用 PROXY,其他未符合規則的請求則使用 DIRECT。這段內容僅示範規則語法,不是連線參數,也不是完整設定檔。規則會依序比對,FINAL 應放在最後;使用前還須確認目前設定對代理策略的選擇符合預期。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
使用這段設定時,瀏覽其他網站看不到 Trojan 流量是預期結果。憑證錯誤通常應從 TLS 參數著手排查;「特定網站沒有經過代理」則通常應檢查規則比對。混淆這兩類問題,可能會反覆改壞原本正確的節點參數。
常見錯誤與訂閱覆寫問題
排查時請記下錯誤發生時間、目前網路、選取的節點與 Global Routing 狀態,再查看可用的連線診斷資訊。以下列出的是排查方向,不能只憑一句錯誤訊息就斷定故障原因;同一個「逾時」提示也可能出現在不同階段。
位址和密碼都填了,為什麼還是逾時?
先檢查 Address、Port,以及目前網路是否能連到該入口。若網域解析失敗,先處理解析問題;若 TCP 連線未建立,請確認連接埠與服務狀態。此時反覆修改 SNI 或 Password 通常無助於解決問題。
顯示憑證名稱不符,該修改哪裡?
返回 Home,編輯相應節點的 TLS 設定,逐字比對 SNI 與服務商提供的值,並確認沒有誤加 https://、連接埠或路徑。再確認裝置日期正確;若仍有錯誤,請服務商確認憑證涵蓋的網域名稱。
TLS 看起來正常,但網頁仍無法開啟?
接著檢查 Password 與傳輸方式,並確認目前選取的是修改後的節點,再使用 Global Routing → Proxy 測試。若 Proxy 正常、Config 卻異常,請回到 Config 檢查規則,不要透過關閉憑證驗證來處理分流問題。
手動修改後,為什麼訂閱更新又變回去了?
訂閱更新可能會重新寫入來源提供的節點參數。先確認訂閱原始設定是否已修正;若要暫時進行對照測試,可另外手動新增一筆並加上清楚備註,避免將本機測試值與持續更新的訂閱項目混淆。
若服務商提供的是訂閱而非單一節點,請使用 Home →「+」→ Type → Subscribe 匯入自己的連結,再返回 Home 更新訂閱。範例連結 https://example.com/sub?token=xxxx 僅用來說明格式,無法用於連線。分享排查截圖時,請遮蔽 Password、訂閱 token 與完整訂閱網址;回報問題只需保留欄位名稱、錯誤類型及必要的去識別化背景資訊。
送出問題前的檢查清單
完成一次有控制的測試後,再判斷是否需要服務商協助。不要同時切換網路、節點、SNI 與規則,否則問題難以重現。對照測試應使用相同的目標網頁,並確認沒有選錯名稱相近的訂閱節點。
- 連線入口:已依原始資料核對 Address 與 Port,沒有把網頁 URL 貼進位址欄位。
- 驗證資訊:Type 為 Trojan,Password 來自該節點,沒有多出空格或換行。
- TLS 資訊:SNI、憑證驗證均符合服務商要求,裝置日期正確,沒有自行新增 ALPN。
- 傳輸資訊:只有原始參數明確要求時,才設定 WebSocket、Host 與 Path。
- 測試方式:記錄 Proxy 與 Config 下的實際差異,確認請求是否符合預期策略。
- 更新來源:區分手動新增項目與訂閱項目,確認下次更新訂閱是否會覆寫本機修改。
確認參數後,請將 Global Routing 恢復為日常所需設定,並重新檢查 Config 中啟用的設定。若要了解欄位結構,請參閱設定欄位說明;若要了解路由模式,請參閱代理模式說明。協定參數正確、憑證身分可信,以及請求符合預期規則,是必須分別滿足的三項條件。
取得 Shadowrocket 與初次設定
iPhone / iPad 版於 App Store 一次性付費 $2.99;Mac(Apple 晶片 / Intel)、Windows、Android、Linux 版免費。iPhone / iPad 的系統需求請以 App Store 頁面標示為準。前往下載頁選擇平台,再依照教學匯入已有的訂閱。