Shadowrocket Trojan 設定教學:Password、SNI 與 TLS 參數說明

了解 Trojan 如何運用 TLS,並逐項說明在 Add Server 選擇 Trojan 後,如何填寫 Address、Port、Password、SNI 與 Allow Insecure。

本文摘要

本文適合已取得服務商提供的 Trojan 設定,並準備在 Shadowrocket(小火箭)中手動核對參數的使用者。依序檢查連線位址、連接埠、Password、SNI 與 TLS 驗證,可判斷問題是連線逾時、憑證錯誤還是驗證失敗。文中的 example.com 僅用來說明欄位格式,並非可用的連線位址;本站不提供、不販售,也不推薦節點或訂閱。

一、Trojan 連線中的 TLS 與 Password 各自負責什麼

Trojan 使用 TLS 保護用戶端與伺服器之間的通訊,並在加密連線中進行協定驗證。填寫時要分清兩件事:TLS 用來確認所連線伺服器的身分,Password 則供伺服器驗證連線請求是否獲准。Password 正確無法彌補憑證身分不符;關閉憑證驗證也無法修正錯誤的 Password。

一次連線通常依序經過網域名稱解析、建立 TCP 連線、TLS 交握,再進入 Trojan 驗證與目標連線。前一階段失敗,後續階段就無法完成。因此,發生逾時時先檢查位址與連接埠;出現明確的憑證錯誤時,先檢查 SNI、憑證與系統時間,不要反覆重填 Password。

443
常見的 TLS 服務連接埠;並非所有 Trojan 設定都使用固定連接埠
1–65535
可填寫的服務連接埠範圍;實際值必須與伺服器設定一致
2 項
分別核對 TLS 伺服器身分與 Trojan Password 驗證

結論:依照失敗階段修改對應欄位

連接埠無法連線時,先核對 Address 與 Port;憑證驗證失敗時,檢查 SNI 與系統時間。不要一次更動多個欄位,否則即使連線成功,也無法確認原本是哪個欄位出錯。

二、從 Home → Add Server 新增 Trojan

手動填寫前,先備妥原始設定中的伺服器位址、連接埠、Password、憑證所對應的網域,以及伺服器明確要求的傳輸參數。若已有訂閱匯入的紀錄,優先參照該紀錄核對;不要只憑節點名稱中的地區或協定縮寫推測參數。

  1. 開啟新增頁面

    進入 Home,點選右上角的「+」開啟 Add Server。新增一筆方便辨識的測試紀錄,並保留既有設定,避免排除問題時遺失原始參數。

  2. 選擇協定

    進入 Type,選擇 Trojan,再返回 Add Server。協定類型必須與伺服器設定一致,不能將其他協定的 Password 或識別資訊直接填入 Trojan。

  3. 填寫連線入口

    依照原始設定填寫 Address 與 Port。Address 只填主機名稱或 IP,Port 則單獨填入數字;不要將整條分享連結貼到 Address。

  4. 核對驗證資訊

    填寫 Password 與 SNI,並保持 TLS 憑證驗證啟用。若設定另有指定傳輸方式或其他 TLS 參數,請依原始說明逐項核對,不要自行猜填。

  5. 儲存並測試

    儲存後返回 Home,選取剛建立的紀錄並連線。先確認該紀錄能否建立連線,再檢查 Global Routing 對實際連線的影響。

Home 主要用來選擇連線紀錄與控制連線;Config 用來管理規則設定;Settings 則用來調整應用程式設定。修改 Config 中的分流規則,不會自動修正 Home 內紀錄的錯誤 Password;這兩處問題應分別驗證。

三、Address、Port 與 Password 的填寫原則

Address 決定連線入口。使用網域名稱時,必須先完成 DNS 解析;使用 IP 時,則直接以該位址建立連線。Port 決定要連線至該入口上的哪個服務;即使位址正確,連接埠填錯仍可能逾時、遭拒絕連線,或連到非 Trojan 服務。

欄位填寫方式常見錯誤
Type選擇 Trojan只看名稱就猜測協定,未核對原始設定。
Address填寫主機名稱,例如 edge.example.com,或原始設定指定的 IP。多填了 https://、路徑或空格,或連接埠也一起貼上。
Port填入伺服器指定的數字,例如 443。把常見連接埠當成預設值,覆蓋原始設定中的其他連接埠。
Password逐字複製原始 Password,保留大小寫與符號。誤填帳戶登入密碼、漏掉最後一個字元,或多帶換行。
SNI填寫設定指定的 TLS 伺服器名稱,例如 tls.example.com。填成完整 URL、附加連接埠,或使用與憑證無關的網域。

Password 不需要自行轉換

Password 是伺服器設定的驗證密鑰,不是任意編寫的備註,也不必符合某種固定格式。手動填寫時,請使用服務商提供的原始 Password,不要自行計算摘要或再次編碼。若只有分享連結,請使用應用程式支援的匯入方式讀取欄位,不要從連結截取一段後自行猜填。

四、SNI 與憑證:連線入口可以不同,伺服器身分必須可驗證

SNI 是 TLS 的 Server Name Indication 擴充功能,用戶端會在交握時透過它告知伺服器希望連線的名稱。單一入口可以承載多個 TLS 網站,伺服器會據此選擇對應的憑證或處理路徑。因此,在某些設定中 Address 與 SNI 相同,在另一些設定中則可能不同;不要只因兩個欄位不一致,就擅自改成相同值。

例如,原始設定將某個 IP 指定為 Address,同時將 tls.example.com 指定為 SNI,表示要連線至該 IP,並在 TLS 交握時使用指定名稱。此網域必須符合伺服器設定,憑證也必須能通過相應的名稱與信任鏈驗證。任意換成常見網站的網域,不會讓憑證自動變成有效憑證。

SNI 本身不是 Password,也無法單獨證明伺服器可信。在傳統 TLS 中,SNI 通常不具備獨立的保密性;填入 SNI 不代表多了一層身分驗證。TLS 的身分保障取決於完整的憑證驗證;若伺服器憑證已過期或憑證鏈不完整,應由伺服器端修正。

五、TLS 與 Allow Insecure:保留驗證,不要用開關掩蓋錯誤

Trojan 的基本設計依賴 TLS。填寫時不要把 TLS 當成提升速度的附加選項,也不要為了嘗試連線而將它關閉。若介面提供 TLS 版本、ALPN 或傳輸方式等選項,請先保留預設值,只有原始設定明確要求時才調整。用戶端與伺服器必須支援共同的參數;填得越多不一定越相容。

Allow Insecure 常被理解為「允許不安全」,實際上是放寬伺服器憑證驗證,並非啟用某種相容協定。略過憑證檢查後,即使流量仍經過加密,用戶端確認伺服器身分的能力也會降低。這項設定無法解決位址錯誤、連接埠遭封鎖或 Password 錯誤。

關閉 Allow Insecure

建議設定

保留正常的憑證驗證。連線失敗時,依序檢查憑證名稱、有效期限、信任鏈與系統時間,修正後再測試。

適用情境:日常連線,以及使用有效憑證的 Trojan 設定。

開啟 Allow Insecure

放寬憑證驗證會降低伺服器身分驗證的強度。若現有設定已啟用此選項,應先確認原因並取得可正常驗證的設定,不要把這個狀態當成通用的修復方式。

適用情境:辨識既有設定的安全狀態;不建議用於日常故障排除。

若伺服器另外使用 WebSocket 等傳輸封裝,也需核對其對應參數。WebSocket 的 Host、Path 與 TLS 的 SNI 屬於不同層,不應一律複製成相同值。本文介紹的基本欄位,不能取代伺服器對這些額外參數的明確說明。

六、依錯誤現象排除問題,勿將延遲數值視為完整驗證

延遲測試結果只反映該測試方式能否收到回應。TCP 層成功建立連線,不代表 Trojan Password 已通過驗證;測試顯示延遲數值,也不代表一定能連上目標網站。排除問題時,記錄測試方式、網路環境、錯誤訊息與發生階段,再逐一修改欄位。

一直逾時,是不是 Password 錯了?

不一定。先返回 Home 開啟該紀錄,逐項核對 Address 與 Port,再分別使用 Wi-Fi 和行動網路測試。如果兩種網路都無法建立底層連線,應優先確認連線入口是否可達及伺服器狀態;不要只憑 timeout 判定 Password 錯誤。

提示憑證名稱不符,該修改哪個欄位?

核對 Add Server 中的 SNI 是否與原始設定一致,並確認沒有誤加協定標頭或連接埠。接著確認伺服器憑證涵蓋該名稱;若憑證本身不符,應請自己的服務商修正,而不是開啟 Allow Insecure。

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

先確認 Home 選取的是待測紀錄。接著檢查 Global Routing:Direct 不會用來驗證代理連線;可暫時選擇 Proxy 進行比對,測試後再恢復原設定。若 Proxy 可用但 Config 不可用,接著檢查 Config 中的規則與策略選擇。

更新訂閱後,手動修改的參數又變了?

訂閱更新可能依照遠端內容重建紀錄。重新核對更新後的 Address、Port、SNI 與 Password;需要比較測試時,另建一筆手動紀錄,不要把暫時修改當成長期修正。正確參數應同步更新至既有訂閱的資料來源。

若底層連線與 TLS 都通過,之後卻出現驗證失敗或立即中斷,請再檢查 Password、伺服器帳戶狀態及傳輸方式是否一致。實際錯誤訊息會依伺服器實作而異,不能只憑「中斷」兩字就認定 Password 已失效。回報問題時請保留錯誤描述,並隱去 Password、訂閱連結、完整連線入口及其他可識別資訊。

七、儲存前後的最後核對清單

完成參數核對後,先測試一筆連線,再恢復正常的分流設定。Global Routing 中的 Proxy、Direct、Config、Scene 是不同的路由模式,並非不同的 Trojan 加密方式;切換模式不會改變紀錄中的 SNI 或 Password。使用 Scene 時也要確認目前場景的實際設定,避免把切換場景造成的變化誤認為協定故障。

Shadowrocket 是 Apple 平台上的閉源商業應用程式,主要供 iPhone、iPad 使用,唯一取得管道為 App Store,採一次性買斷。用戶端買斷 ≠ 連線服務方案;購買應用程式不包含連線服務。系統需求與是否支援通用購買,請以 App Store 頁面標示為準。準備安裝時,請先透過正版核對頁確認開發者 Shadow Launch Technology Limited、官方圖示及應用程式 ID 932747118。

前往 App Store先核對正版三項資訊