設定 Trojan 時,先分清連線位址、驗證密碼與 TLS 伺服器名稱,並保持憑證驗證開啟。本文適合已取得自身服務商設定資料的使用者:逐項核對 Add Server 欄位,了解 Address 與 Peer/SNI 為何可能不同,並依連線階段排查逾時、憑證錯誤和驗證失敗。
Trojan 與 TLS:先加密連線,再驗證憑證與密碼
Shadowrocket(小火箭)中的 Trojan 是一種代理協定。常見的 Trojan 連線會先與伺服器建立 TLS 連線,再透過加密通道傳送驗證資訊與代理請求。TLS 負責傳輸加密及伺服器身分驗證,Password 則用於 Trojan 伺服器端驗證;兩者不能互相取代。
網站使用 HTTPS,不代表伺服器就能接受 Trojan。現有設定資料必須明確提供 Trojan 類型、實際監聽位址、連接埠和密碼。光憑一個能在瀏覽器開啟的網域,無法推斷出這些設定。本文範例僅用於說明欄位,不是可連線的服務資料。
選擇 Type → Trojan 後,還要確認現有設定資料是否要求特定傳輸設定。若資料包含 WebSocket 等額外參數,請依實際欄位逐一填寫;不要把含有額外傳輸要求的設定資料,當成只有位址、連接埠和密碼的基本設定。
Add Server 欄位:Address 不等於 SNI
Address 決定連線目標,Port 決定連線到該位址上的哪個服務。Peer/SNI 則與 TLS 中的伺服器名稱有關。在 Shadowrocket 中,相關輸入欄位可能顯示為 Peer;設定資料中則常寫作 SNI 或 server name,請依目前介面和服務商說明對照填寫。
| 欄位 | 應填寫的內容 | 常見錯誤 |
|---|---|---|
| Type | 選擇 Trojan。 | 其他協定的驗證資料不能直接當作 Trojan 參數。 |
| Address | 填入現有設定資料中的伺服器網域或 IP。 | 填入完整分享連結,或附上 https:// 和路徑。 |
| Port | 伺服器實際監聽的連接埠,例如設定資料明確指定的 443。 | 看到 TLS 就自行改成 443。 |
| Password | 填入服務商提供的 Trojan 驗證密碼。 | 誤填帳戶登入密碼或 UUID,或複製時多帶了空格。 |
| Peer / SNI | 填入設定資料指定的 TLS 伺服器名稱,例如 tls.example.com。 | 填入 URL、連接埠,或隨意改用常見網站的網域。 |
| Allow Insecure | 通常保持關閉,以進行正常的憑證驗證。 | 把略過驗證當成修正憑證錯誤的常規做法。 |
例如,設定資料允許 Address 使用 192.0.2.10,並明確指定 Peer 為 tls.example.com,兩者不同不一定代表設定錯誤:前者指定連線目標,後者指定 TLS 名稱。此處的 IP 是文件範例位址,無法用於實際連線;實際設定必須來自自己的完整設定資料。
手動新增 Trojan:依序核對五個步驟
先保存目前可用的設定與原始資料。若伺服器來自現有訂閱,建議先核對匯入後的欄位,不要直接覆寫原有項目;後續更新訂閱可能會重新寫入相關參數。需要排查時,可保留原有項目,再手動建立一筆記錄供核對。
-
開啟新增頁面
進入 Home → 點選右上角「+」,開啟 Add Server,再於 Type 選擇 Trojan。確認目前編輯的是伺服器記錄,而不是 Config 中的規則檔案。
-
填寫位址與連接埠
將現有設定資料中的主機名稱或 IP 填入 Address,並將監聽連接埠填入 Port。位址欄不要附上通訊協定前綴、路徑或查詢參數;連接埠請另外填寫。
-
核對驗證密碼
在 Password 填入完整密碼,保留大小寫與符號。手動填寫時請使用原始密碼;若從分享連結複製,請注意其中的跳脫內容不能直接視為原始值。
-
核對 TLS 名稱
依設定資料填寫 Peer/SNI,並保持 Allow Insecure 關閉。也要一併核對設定資料指定的傳輸方式與其他欄位;沒有明確提供的欄位不要自行猜測填寫。
-
儲存並測試
儲存後返回 Home,點選這筆伺服器記錄,確認選取標記出現,再開啟連線開關。首次連線時,請依系統提示允許新增 VPN 設定,接著執行 Connectivity Test。
Connectivity Test 是連線能力檢查,不保證所有網站、所有規則都能正常運作,也不代表連線會持續穩定。測試失敗時,先記錄狀況,再核對參數;即使測試成功,仍須連線至實際目標,並確認該請求確實使用這條 Trojan 連線。
Allow Insecure:區分加密與身分驗證
Allow Insecure 的主要影響是放寬憑證驗證要求,而不是將連線改為明文。即使 TLS 通道已成功建立,若缺乏可靠的憑證驗證,也無法據此確認對端身分。密碼正確,同樣無法彌補略過伺服器身分驗證的問題。
關閉 Allow Insecure
建議設定保留正常的憑證驗證。若出現憑證錯誤,請核對 Peer/SNI、裝置時間、憑證有效期限與伺服器端憑證鏈,不要直接忽略錯誤。
適用情境:日常連線,以及憑證設定正確的服務
開啟 Allow Insecure
放寬憑證驗證會降低確認伺服器身分的能力。這無法修正錯誤位址、錯誤連接埠或錯誤的 Password,也不能證明連線能長期正常運作。
適用情境:了解風險且受控的暫時性憑證問題排查,不建議作為日常設定
結論:修正名稱與憑證的對應關係
如果只有開啟 Allow Insecure 才能連線,請先將它恢復為關閉,再把憑證錯誤、預期的 Peer/SNI 和發生時間提供給自己的服務商核對;不要只因暫時能開啟網頁就停止排查。
憑證錯誤也可能是裝置日期與時間不正確所致。先確認系統時間,再核對憑證涵蓋的網域。若 Address 填的是 IP,尤其要確認設定資料是否另有 Peer/SNI;憑證是簽發給某個網域,不代表它也能通過該 IP 的身分驗證。
連線失敗:依網路、TLS、驗證與規則分層排查
同樣是「無法開啟網頁」,問題可能出現在不同階段。先確認本機網路能正常連線,再查看連線記錄中的錯誤類型。以下狀況用來判斷排查方向,單憑一則提示無法確定唯一原因。
- 連線逾時:先核對 Address 與 Port,再檢查網域解析和網路是否可連線。逾時本身不能證明 Password 錯誤;連線尚未建立時,可能還沒開始驗證。
- 憑證或 TLS 錯誤:核對 Peer/SNI、系統時間與伺服器端憑證。若連接埠指向非預期的服務,也可能造成交握失敗。
- 連線後立即中斷或驗證失敗:核對 Password 是否完整、服務是否仍有效,以及傳輸參數是否相符。TLS 已建立,不代表所有參數都正確。
- 測試通過但目標無法開啟:檢查 Global Routing 和目前 Config 的比對結果,再區分是目標網站故障、DNS 問題或規則選擇錯誤。
若要暫時排除規則的影響,可在 Home → Global Routing 選擇 Proxy,再測試連線至同一目標;完成後請恢復原有模式。Proxy 用於代理路由測試,Direct 會直接連線,Config 則依目前的設定規則處理。Scene 應依實際設定的情境判斷,不能將它視為固定等同於 Proxy 的選項。
若 Proxy 模式正常、Config 模式異常,請優先檢查目前規則中 DOMAIN-SUFFIX、IP-CIDR、GEOIP 和 FINAL 的順序及目標策略。修改規則無法修正 Trojan 密碼;這兩類問題應分開測試。
Password、SNI 與匯入設定的常見問題
Password 要填服務商網站的登入密碼嗎?
只填寫這筆 Trojan 伺服器設定中的驗證密碼。網站帳戶密碼與代理驗證密碼是不同的項目。請回到自己的設定資料頁確認欄位來源,不要用其他協定的 UUID 或金鑰取代。
Address 已經是網域,還需要填 Peer 嗎?
先確認原始設定資料是否明確指定 SNI。若有指定,請依原值填寫;若未指定,就不要自行編造。若出現憑證名稱錯誤,請向自己的服務商確認預期的 TLS 名稱,不要改填無關網域。
匯入訂閱後,為什麼修改好的 SNI 又恢復原值?
更新訂閱可能會依訂閱內容重新整理伺服器參數。請先保留一筆手動核對記錄,再比較更新前後的 Peer/SNI 與傳輸欄位;若持續不一致,應核對訂閱的原始設定,而不是反覆覆寫同一欄位。
連線開關已開啟,就代表 Trojan 參數正確嗎?
不代表。系統顯示已連線,只表示本機 VPN 連線已啟動,不代表遠端驗證和目標連線都成功。請在 Home 確認已選取伺服器,執行 Connectivity Test,再搭配 Global Routing 和實際請求進行驗證。
分享記錄或設定截圖前,請遮蔽 Password、完整訂閱連結及其中的 token 等敏感內容。說明問題時,只需保留錯誤原文、發生階段和已核對欄位,不必公開完整驗證資料。最後應依據自己的服務設定資料、App 內的實際欄位和可重現的測試結果判斷。