本文適合已持有服務商提供的資料或訂閱,並需要在 Shadowrocket(小火箭)中核對 Trojan 參數的使用者。設定時先區分伺服器位址與 SNI,再核對連接埠和密碼,並保持憑證驗證開啟;完成後分別確認伺服器連線與 Global Routing。文中的網域僅供說明欄位用途,並非可連線的服務位址;本站不提供、銷售或推薦節點與訂閱。
1. Trojan 各項參數如何參與連線
Trojan 透過 TLS 保護用戶端與伺服器之間的通訊,並在加密連線中進行協定驗證。了解設定順序時,可將流程分為解析位址、連線至連接埠、完成 TLS 交握、提交驗證資訊及轉送請求等階段。前一階段尚未完成時,後續參數通常還沒有發揮作用,因此「無法連線」不一定是密碼錯誤。
Address 決定連線目標,Port 決定伺服器上的連接埠;SNI 會在 TLS 交握時提供伺服器名稱,憑證驗證則用來確認伺服器身分;Password 用於 Trojan 驗證。密碼正確不代表憑證一定有效,連接埠可連通也不代表 Trojan 驗證已成功。
| 欄位或階段 | 用途 | 優先核對項目 |
|---|---|---|
Address | 指定連線目標,可以是網域名稱或 IP 位址 | 拼字、解析結果,以及是否多貼了路徑 |
Port | 指定伺服器監聽的連接埠 | 必須與現有資料完全一致,不要憑協定名稱猜測 |
SNI | 在 TLS 交握時提供伺服器名稱 | 服務端要求的名稱,以及憑證涵蓋的範圍 |
| 憑證驗證 | 檢查信任鏈、有效期限與名稱是否相符等條件 | 裝置時間、憑證名稱、服務端憑證設定 |
Password | 用於 Trojan 驗證 | 大小寫、完整字元,以及前後空白 |
連接埠 443 是常見範例,並非 Trojan 的固定要求。若現有資料明確指定 8443,就應填入 8443。一般 Trojan 的參數也不能直接套用到其他傳輸組合;若資料另有要求傳輸設定,應逐項核對,不能只憑位址、連接埠和密碼判定設定已完整。
2. 在 Home → Add Server 設定
手動新增前,先記下現有參數,避免修改時混淆原始值。以下步驟適用於一般 Trojan;若資料來自訂閱,先檢視匯入後的欄位,再決定是否要另外建立獨立項目。不同介面版面的選項位置可能不同,請以目前 Add Server 頁面顯示的英文欄位名稱為準。
-
選擇類型
進入 Home,點選右上角的「+」開啟 Add Server,並在 Type 選擇 Trojan。不要沿用其他協定的項目,只替換密碼;協定類型會決定後續欄位的用途。
-
填寫位址與連接埠
在 Address 填入現有資料中的網域名稱或 IP,在 Port 填入對應的數字。Address 不應包含
https://、網頁路徑或結尾斜線;連接埠請單獨填寫,不要附加在位址後方。 -
核對密碼
在 Password 貼上完整的驗證密碼,並檢查前後空白與換行。密碼不是訂閱連結,也不是網站登入密碼;不要自行替資料中的密碼加上引號或更換字元。
-
核對 SNI
在 SNI 填入資料指定的伺服器名稱。若 Address 是 IP,而憑證是簽發給網域名稱,尤其要核對這個欄位。請保留憑證驗證,不要把 Allow Insecure 當成一般連線設定。
-
儲存並測試
儲存後回到 Home,選取剛新增的伺服器並核對 Global Routing,再開啟連線開關。首次連線時依系統提示授權;請使用已知可存取的網頁測試,不要只看開關狀態。
3. Address 與 SNI 不同時該怎麼填
Address 是網路連線目標,SNI 則是 TLS 交握時使用的名稱,兩者可以相同,也可以不同。以連線至 IP、憑證對應網域名稱為例,用戶端會連到該 IP 的指定連接埠,但交握時仍可能需要提供網域名稱,讓服務端選擇相應憑證或處理連線路徑。
SNI 無法讓原本無法連線的 IP 變得可連線,也不能隨意填入任何網站網域名稱。它必須符合現有服務資料與服務端設定。對同一個位址任意更換 SNI,既無法可靠地修復連線,也會增加判斷憑證名稱問題的難度。
| 資料情況 | Address 範例 | SNI 核對方式 |
|---|---|---|
| 連線網域名稱,名稱相同 | edge.example.com | 核對資料是否也指定 edge.example.com |
| 連線 IP,憑證對應網域名稱 | 192.0.2.10 | 填入資料指定的名稱,例如 edge.example.com |
| 連線網域名稱,但另有指定名稱 | entry.example.com | 使用明確提供的 SNI,不要自動改成 Address |
表格中的 192.0.2.10 是文件範例位址,不能用來測試實際服務。若資料未註明 SNI,請勿自行猜測名稱;先核對匯入項目與原始說明。SNI 留白時的自動處理方式,不能取代對實際憑證名稱的核對,尤其是 Address 為 IP 的情況。
- SNI 只填名稱,不要填
https://、加上:443或附帶路徑。 - 憑證涵蓋
*.example.com,不代表任意層級的子網域都符合;例如a.b.example.com通常不在單層萬用字元的涵蓋範圍內。 - 名稱相符只是憑證驗證的一部分;憑證過期、信任鏈異常或裝置時間錯誤,仍可能造成交握失敗。
4. TLS 憑證驗證與 Allow Insecure 的差異
Trojan 的 TLS 不只負責加密傳輸,也涉及伺服器身分驗證。Allow Insecure 這類設定會改變憑證驗證要求,卻無法修正伺服器位址、連接埠、密碼或監聽狀態。即使關閉驗證後可以連線,也只能表示值得檢查憑證驗證相關條件,不能證明所有參數都正確。
保留憑證驗證
建議保持 Allow Insecure 關閉,並依資料填寫 SNI。遇到憑證錯誤時,核對名稱、裝置時間與服務端憑證,維持伺服器身分驗證。
適用情況:日常連線、檢查匯入項目、保存長期設定
開啟 Allow Insecure
這會放寬憑證驗證,降低伺服器身分驗證的保障。若現有項目已啟用此設定,請確認原因與憑證狀況,不要將它當成解決所有連線錯誤的通用方法。
適用情況:辨識現有設定中的驗證例外,並安排修正
結論:先修正名稱與憑證
遇到憑證相關錯誤時,先比對 Address、SNI 與憑證涵蓋名稱,再檢查裝置時間;不要同時修改連接埠、密碼與驗證開關,否則下次測試將無法判斷是哪個項目造成差異。
若服務端採用特殊憑證設定,應由你現有的服務資料明確說明驗證方式。在用戶端任意略過憑證驗證,不代表已完成可信任的驗證。回報問題時可提供錯誤類型與發生階段,但不要公開 Password、完整訂閱網址或其他驗證資料。
5. 儲存後仍無法開啟網頁:依連線階段排查
Home 的連線開關開啟,表示本機連線功能已啟動,不代表遠端伺服器驗證成功。排查時應區分伺服器連線失敗、目標網站連線失敗,以及請求未經由這台伺服器等情況。每次只變更一個條件,並記錄測試時間、網路環境與結果。
- 先確認選取的項目。回到 Home 檢查目前使用的伺服器,避免編輯的是新項目,實際使用的卻是原有項目。若設定使用策略組,也要確認組內實際選取的項目。
- 接著確認路由模式。在 Home → Global Routing 中,Direct 會採用直連;Config 會依目前設定處理;Proxy 可用來暫時核對代理路徑。Scene 是情境式選擇,排查時先確認實際生效的內容,不要把名稱視為固定規則。
- 檢查位址與連接埠。若發生逾時,先檢查網域名稱是否能解析、連接埠是否與資料一致,再比較目前的 Wi-Fi 與行動網路。逾時本身無法證明密碼錯誤。
- 檢查 TLS 階段。若錯誤與憑證或交握有關,請核對 SNI、裝置時間、憑證有效期限,以及服務端是否在該連接埠提供預期的 TLS 服務。
- 最後檢查驗證與目標。連線建立後仍遭中斷,請重新核對 Password,並考量服務端狀態。若只有特定網站無法使用,再檢查該目標與規則,不要立即重寫整筆伺服器設定。
使用 Config 時,可進入 Config 檢查目前啟用檔案中的 Rule 區段。規則會依序比對,符合 DOMAIN-SUFFIX,example.com,DIRECT 的請求會使用 DIRECT;因此,存取該網域無法驗證 Trojan 是否可用。若未符合規則,還需檢查 FINAL 的策略,以及策略組最後選取的伺服器。
6. 密碼、SNI 與匯入項目的常見問題
密碼確認複製無誤,為什麼還是連線失敗?
在 Home 開啟對應項目的編輯頁面,先確認 Type 為 Trojan,再核對 Address 與 Port。接著重新貼上 Password,檢查前後空白、換行與大小寫。只有連線進入驗證階段後,密碼才是優先檢查項目;若是逾時或憑證錯誤,應先排除前面的連線階段問題。
Address 已經是網域名稱,還需要填 SNI 嗎?
先查看現有資料是否明確指定 SNI。若有提供另一個名稱,就在 Add Server → SNI 填入原值;不能只因 Address 是網域名稱就省略。若沒有指定,請核對匯入項目與憑證設定,不要自行填入無關網域。
為什麼改用 443 仍然連線逾時?
Port 必須對應伺服器實際監聽的連接埠。將資料中的 8443 改成 443,不會讓服務自動遷移。請先恢復原本的連接埠,再核對位址、目前網路與服務端狀態;常見連接埠不代表該連接埠一定提供 Trojan 服務。
訂閱更新後,手動設定的 SNI 怎麼又變了?
回到 Home 查看更新後的項目,並與現有訂閱資料核對。更新可能覆寫由訂閱管理的欄位;若要保留診斷值,可另外建立獨立項目測試,再向原始資料提供者確認正確參數。不要反覆修改訂閱項目,卻忽略其來源資料仍未修正。
核對完成後,保留一份不含密碼的檢查紀錄:協定類型、連接埠、Address 與 SNI 是否不同、憑證驗證狀態、測試時的 Global Routing,以及錯誤發生階段。這份紀錄有助於下次定位問題,不必反覆切換參數。