在 Shadowrocket 的 Home → + → Type 中,依照現有服務商提供的設定選擇協定,再核對位址、驗證資訊與傳輸參數。本文適合已有設定,卻不清楚協定名稱與 TLS、TCP、UDP 含義的使用者:先查看協定表,再依步驟填寫,最後透過 Global Routing 區分協定連線問題與規則問題。
協定對照:先確認 Type,再查看傳輸與加密
在 Home 開啟現有項目的編輯頁面,或點選右上角的 + 查看 Type。這裡選擇的是與伺服器通訊的協定,不是速度等級。Shadowrocket(小火箭)支援下表所列協定;具體擴充欄位與可用的傳輸組合,請以目前 App 介面及現有服務商提供的設定說明為準。
| 協定 | 傳輸特性 | 加密與驗證 | 填寫前先核對 |
|---|---|---|---|
| Shadowsocks | 可承載 TCP、UDP;實際 UDP 能力也取決於伺服器與網路。 | 使用指定的加密方法與共用金鑰;常見 AEAD 方法同時提供加密與完整性保護。 | Address、Port、Password 與加密方法必須相符。 |
| VMess | 可使用 TCP 等傳輸方式,也可依設定搭配 WebSocket、TLS。 | 使用 UUID 識別使用者;協定加密設定與外層 TLS 屬於不同層次。 | UUID、加密選項、傳輸方式及 TLS 參數。 |
| VLESS | 傳輸方式與外層安全機制由伺服器設定決定。 | 使用 UUID 驗證;VLESS 本身不提供載荷加密,通常依賴 TLS 等外層機制。 | UUID、傳輸方式、TLS 及伺服器要求的其他欄位。 |
| Trojan | 通常透過 TLS 連線;UDP 轉送能力取決於實作方式與伺服器支援。 | 使用 Password 驗證,由 TLS 保護連線並驗證伺服器身分。 | Password、SNI、憑證驗證及實際監聽連接埠。 |
| HTTP / SOCKS5 | HTTP 代理通常使用 CONNECT 建立通道;SOCKS5 支援 CONNECT,也定義 UDP ASSOCIATE。 | 基本 HTTP 代理與 SOCKS5 本身不會加密用戶端到代理伺服器的連線;使用者名稱和密碼不等於傳輸加密。 | 代理類型、位址、連接埠、驗證方式,以及是否另有 TLS。 |
| WireGuard | 以 UDP 為基礎的網路層通道,使用 Peer 與位址設定。 | 採用公私鑰機制,也可額外設定 Pre-shared Key。 | Private Key、Peer Public Key、通道位址、Allowed IPs、MTU。 |
| Hysteria2 | 以 QUIC 為基礎,底層使用 UDP;網路路徑必須允許相應的 UDP 通訊。 | 使用 QUIC 的 TLS 1.3 安全機制,並依伺服器要求設定驗證資訊。 | 驗證資訊、SNI、連接埠與可選的混淆參數。 |
在服務商資料中看到 WebSocket、TLS 或 QUIC 時,不要直接把它們都當成 Type。WebSocket 是傳輸封裝,TLS 是安全層,QUIC 是以 UDP 為基礎的安全傳輸協定;它們與 Shadowsocks、VMess 等名稱不屬於同一分類層級。先確認協定,再逐層核對欄位,可減少「位址和密碼都正確,卻無法完成交握」的情況。
參數分層:位址、驗證資訊與 TLS 不能互相取代
在編輯頁面先填寫 Address 與 Port,再依 Type 填入驗證資訊。Address 是連線目標,Port 是伺服器實際監聽的連接埠;SNI 則用於 TLS 交握時指示服務名稱。即使 Address 填的是 IP,SNI 也可能需要填寫與憑證相符的網域,不能一概將兩者改成相同內容。
在驗證欄位中,Shadowsocks 的 Password、VMess/VLESS 的 UUID、WireGuard 的 Private Key 不能互換。WireGuard 的本機 Private Key 應與伺服器登記的用戶端公鑰相對應,Peer Public Key 則是對端公鑰;若把用戶端自己的公鑰填入 Peer Public Key,通常無法建立預期的交握關係。
- 加密方法:Shadowsocks 的方法名稱必須與伺服器設定完全一致,不能只複製 Password 後任意選擇一種方法。
- 傳輸路徑:VMess 或 VLESS 使用 WebSocket 時,可能還需要設定相符的 Host 與 Path;Path 的大小寫及開頭斜線都應保持原樣。
- 憑證驗證:Trojan 或其他 TLS 設定出現憑證錯誤時,先核對 SNI、裝置時間與憑證效期,不要把 Allow Insecure 當成一般修復方式。
- 金鑰保護:Private Key、Password、UUID 與訂閱 token 都應視為敏感設定;排查問題時只提供欄位名稱及已遮蔽的值。
結論:逐項核對欄位,不要憑名稱猜測
先將伺服器資料拆分為「連線目標、驗證、傳輸、安全層」四部分,再逐項填寫;資料未提供的欄位,先確認是否必要,不要從其他可用設定借用參數。
新增步驟:手動填寫或匯入後,都要重新確認 Type
在 Home 新增伺服器項目;Config 用於管理設定檔與規則,Settings 用於調整 App 設定。新增協定項目與切換規則設定是兩項不同操作:前者決定如何連線至伺服器,後者決定哪些請求使用哪項策略。以下步驟假設使用者已持有自己的服務商參數。
-
確認類型
開啟 Home → + → Type,選擇資料中明確標示的協定。不能將 Trojan 改成 VLESS 來相容,也不能只更換連接埠就把 Hysteria2 變成其他協定。
-
填寫連線目標
返回新增表單,依資料填寫 Address、Port 與該協定的驗證資訊。連接埠必須使用實際值;資料標示 8443 時,不應因為啟用 TLS 就改成 443。
-
核對傳輸設定
依所選 Type 展開的欄位,核對 TLS、SNI、傳輸方式及其他參數。儲存前檢查網域是否含有空格、Password 是否多出換行,以及 UUID 是否完整。
-
檢查匯入設定
已有訂閱時,可在 Home → + → Type → Subscribe 貼上自己的訂閱連結並儲存。匯入後開啟個別項目,核對 Type 與重要欄位;更新訂閱可能會覆蓋手動修改,建議保留原始參數以供核對。
-
驗證連線
返回 Home 選取要測試的項目,開啟連線開關,並依系統提示允許 VPN 設定。先測試已知可連線的目標,再確認實際請求是否使用預期策略;單次延遲測試結果不能證明所有服務都可使用。
更新訂閱後若發現協定欄位有變動,先確認伺服器端是否同步變更,再重新測試。訂閱用於分發及更新設定,不會自動保證每個項目的服務狀態。手動修改項目之前先記錄原始值,可避免更新後無法判斷問題來自「原始設定錯誤」或「本機修改錯誤」。
Global Routing:分別檢查協定是否可用與規則是否命中
在 Home → Global Routing 檢查目前模式,再判斷請求為何未使用所選項目。Config、Proxy、Direct 與 Scene 屬於路由控制,不是協定名稱。Scene 用於依情境組織路由行為,實際結果需核對相應的情境設定;不要將 Scene 誤解為另一種加密方式。
Config
建議依目前設定的規則與策略處理請求。符合條件的結果可能是 DIRECT、代理或其他指定策略;若未符合前面的規則,通常由 FINAL 決定後續處理方式。
適用情況:規則已核對完成的日常分流。
Proxy
將進入代理處理路徑的請求交由所選代理策略處理,方便暫時排除規則比對帶來的變數。測試完成後應恢復原有模式;不能據此認定所有 App 流量都已完成驗證。
適用情況:區分伺服器連線失敗與規則未命中。
Direct
使用直連路徑。此時網頁能開啟,並不能證明剛填寫的 Trojan、WireGuard 或其他協定參數有效,因為請求可能完全沒有經過相應伺服器。
適用情況:比對本機網路的基本連線狀況。
在 Config 對應的設定檔中,依規則順序檢查比對目標與策略名稱。以下僅示範語法,並非完整設定;實際設定中的 PROXY 必須對應可用策略。DOMAIN-SUFFIX 比對網域後綴,IP-CIDR 比對 IP 位址範圍,GEOIP 根據 IP 地理資料庫判斷,FINAL 負責處理未符合前述規則的請求。
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
Settings → On Demand 設定的是依條件自動建立連線的行為,並非替某個協定補齊參數。協定本身尚未驗證前,先手動連線並確認可用,再設定 On Demand;如此可避免將自動觸發條件與交握故障混在一起排查。規則比對的完整說明請參閱使用手冊的路由章節。
常見問題:依現象縮小協定排查範圍
在 Home 選取要測試的項目後,先記錄問題發生在建立連線、TLS 交握,還是開啟目標網站的階段,再查看連線記錄。逾時只能表示某個環節未能及時完成,不能只憑這項提示就斷定密碼錯誤或不支援該協定。以下操作可逐步排除變數,但不代表所有類似情況都有相同原因。
Hysteria2 連線逾時,其他項目可用,差異在哪裡?
先核對 Hysteria2 的 Address、Port、驗證資訊與 SNI,再檢查目前網路是否允許與伺服器進行 UDP 通訊。可在另一個可信任的網路上以相同設定再次測試;基於 TCP 的連線成功,不能證明同一目標的 UDP 連接埠也可連通。
Trojan 顯示憑證錯誤,開啟 Allow Insecure 就能解決嗎?
先在項目編輯頁核對 SNI 是否與憑證網域相符,再到裝置系統設定檢查日期與時間,並向自己的服務商確認完整憑證鏈。Allow Insecure 會降低伺服器身分驗證的安全性,不應作為長期預設設定。
VLESS 的 UUID 正確,為什麼仍然連線失敗?
返回 Home 開啟該項目,逐一檢查傳輸方式、TLS、SNI,以及伺服器要求的 Host、Path 或其他欄位。UUID 只負責部分驗證,無法彌補傳輸封裝或安全層設定不一致。
WireGuard 已完成交握,但部分頁面一直載入,該怎麼辦?
先檢查 Allowed IPs 是否涵蓋預期目標,再核對 DNS 與 MTU。不宜盲目調大 MTU,應依伺服器建議與網路路徑狀況調整;每次只修改一項並記錄結果,避免將路由遺漏與封包大小問題混為一談。
哪種協定一定最快?可以直接選一種嗎?
先確認伺服器提供哪種協定,再以相同網路、相同目標及相近時段比較連線成功率、回應時間與持續傳輸狀況。協定名稱不能取代連線品質判斷,也不能讓只提供 Shadowsocks 的伺服器直接接受 Trojan 連線。
提供排查資訊前,請遮蔽訂閱連結中的 token、驗證資訊與金鑰,只保留 Type、傳輸方式、連接埠、錯誤階段,以及切換網路後的現象。若要進一步分析,請依照連線問題排查章節的順序整理記錄,比反覆切換所有選項更容易找出原因。