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

說明 Trojan 如何透過 TLS 運作,逐項介紹在 Add Server 中填寫位址、連接埠、密碼與 SNI 時的檢查要點。所有參數請以服務商提供的資料為準。

本文速覽

本文適合已取得服務商與連線參數,準備在 Shadowrocket(小火箭)中新增 Trojan 的使用者。先了解伺服器位址、Password 與 SNI 各自的用途,再依照 Home → Add Server 完成設定,最後分別檢查 TLS 交握、身分驗證與規則分流。範例僅用來說明欄位間的關係,並非可供連線的服務。

為什麼要分別檢查 Trojan 參數

Trojan 使用 TLS 保護用戶端與伺服器之間的通訊,並在這條連線中進行協定驗證與轉送。一般 Trojan 通常運作於 TCP 之上;TLS 建立成功,不代表 Password 已通過驗證,也不代表目標網站已能正常存取。這三個階段應分開檢查。

伺服器位址決定連線要連到哪裡,連接埠決定要連接伺服器上的哪項服務,SNI 用於在 TLS 交握時宣告伺服器名稱,Password 則用於 Trojan 身分驗證。這些資料可能來自同一份參數表,但不能互相取代。尤其不要把訂閱連結中的 token、帳戶登入密碼或其他協定的 UUID 當成 Trojan Password。

443
常見的 TLS 服務連接埠;並非所有 Trojan 服務都使用固定連接埠
4 項
優先核對 Address、Port、Password、SNI
3 個階段
建立連線 → TLS 交握 → Trojan 驗證

結論:依失敗階段調整參數

出現憑證錯誤時,先檢查 SNI、憑證與裝置時間;TCP 連線逾時時,先檢查位址與連接埠。每次只修改一項後重新連線,避免同時更動多項而無法判斷原因。

在 Add Server 中逐項填寫

以下以 Home 中的手動新增流程為例。不同平台的表單版面可能有所不同,但欄位用途相同。若現有訂閱已提供完整參數,請優先保留訂閱提供的設定;只有在服務商明確要求補充或修正時,才手動調整相應欄位。

  1. 開啟表單

    進入 Home → 點選右上角「+」→ Add Server,並在 Type 中選擇 Trojan。先確認類型,不要只因節點名稱含有「TLS」就判定其協定。

  2. 填寫位址

    在 Address 填入服務商提供的主機名稱或 IP,在 Port 填入指定連接埠。例如連接埠為 443 時,只需在 Port 填入 443;Address 不要加上 https://、路徑或結尾斜線。

  3. 填寫密碼

    在 Password 貼上該 Trojan 節點的密碼。檢查大小寫、前後空格與換行;不要自行改寫字元,也不要先將原始密碼轉換成 URL 編碼文字。

  4. 檢查 TLS

    進入表單中的 TLS 設定,依照服務商說明核對 SNI 與憑證驗證設定。若服務商另有提供 ALPN、傳輸方式或 WebSocket 參數,也應逐項保持一致,不要照抄其他節點的設定。

  5. 儲存並測試

    儲存後返回 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。

不能以修改密碼取代 TLS 驗證

TLS 憑證驗證用來確認連線對端的身分,通常會檢查憑證信任鏈、有效期限與名稱是否相符。能連上伺服器,不代表其提供的憑證符合目前的 SNI。裝置日期或時區錯誤,也可能讓原本有效的憑證被判定為尚未生效或已過期。

SNI 通常會影響伺服器選用哪張憑證,用戶端則需驗證憑證是否涵蓋預期名稱。兩者彼此相關,但並非「填入任意網域即可加密」。Password 錯誤屬於後續驗證問題,反覆更換 Password 無法解決憑證名稱不符。

保留憑證驗證

建議

使用正確的 SNI,並讓用戶端檢查伺服器憑證。發生錯誤時,請修正名稱、裝置時間或伺服器憑證,不要將驗證失敗視為正常狀況。

適用情況:日常連線、使用有效憑證的一般 Trojan 部署

略過憑證驗證

這會降低對伺服器身分的確認能力,無法修正錯誤的位址、連接埠或密碼。即使暫時連線成功,也不能據此判定整組參數正確。

適用情況:僅用於了解相關風險與診斷範圍,不建議作為一般修復方式

ALPN 用於協商應用層協定,並非通用的加速開關。服務商未指定時,請保留原設定,不要強制填入 h2 或 http/1.1。同樣地,不要為了消除錯誤訊息而隨意降低 TLS 設定;應先確認伺服器端的要求。

連線成功後,分開檢查規則與節點

Home 的連線開關開啟,代表用戶端已啟動連線流程,不保證每個請求都會經過目前的 Trojan 節點。Global Routing 中的 Direct 會讓請求直接連線;Config 會依照啟用設定中的規則選擇策略;Proxy 可暫時用來排除規則分流的影響。Scene 則需一併檢查相應場景設定,第一次排查時不宜額外加入這項變因。

  1. 先在 Home 選取要測試的 Trojan 節點,再暫時選擇 Global Routing → Proxy,重新連線並瀏覽固定的測試網頁。
  2. 若使用 Proxy 時可以正常瀏覽,但在 Config 下的結果不同,請進入 Config 檢查目前啟用的設定及其中的 [Rule],不要馬上修改 SNI。
  3. 檢查規則是否命中 DIRECT,以及指向 PROXY 的請求實際選用了哪個節點或策略群組。
  4. 若還要排除自動重新連線的影響,請查看 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 與規則,否則問題難以重現。對照測試應使用相同的目標網頁,並確認沒有選錯名稱相近的訂閱節點。

確認參數後,請將 Global Routing 恢復為日常所需設定,並重新檢查 Config 中啟用的設定。若要了解欄位結構,請參閱設定欄位說明;若要了解路由模式,請參閱代理模式說明。協定參數正確、憑證身分可信,以及請求符合預期規則,是必須分別滿足的三項條件。

取得 Shadowrocket 與初次設定

iPhone / iPad 版於 App Store 一次性付費 $2.99;Mac(Apple 晶片 / Intel)、Windows、Android、Linux 版免費。iPhone / iPad 的系統需求請以 App Store 頁面標示為準。前往下載頁選擇平台,再依照教學匯入已有的訂閱。

下載 Shadowrocket