Shadowrocket(小火箭)支援本文列出的七類連線協定,但無法透過切換 Type 將既有伺服器改成其他協定。本文適合已持有自己的服務商參數或訂閱的使用者:先從表格辨識類型,再依序核對認證、傳輸與 TLS 三個層面,最後區分連線問題與規則問題。這七類是本文的分類方式,並非 App 內所有可選類型的總數。
七類協定與 Add Server 類型
先確認既有設定標示的協定,再前往 Home → 右上角「+」→ Add Server → Type 選擇對應類型。不要根據連接埠或名稱猜測:同樣使用 443 連接埠的服務,可能採用不同協定,也可能分別使用 TCP 與 UDP。Type 決定用戶端與伺服器的通訊方式,兩端必須一致。
| 協定分類 | 對應的 Type | 基本特點 | 優先核對項目 |
|---|---|---|---|
| Shadowsocks | Shadowsocks |
以密碼搭配指定的加密方法建立代理連線;兩端使用的演算法必須一致。 | Address、Port、Password、Method,以及既有設定要求的外掛參數。 |
| VMess | VMess |
以 UUID 識別使用者,可搭配不同傳輸方式;協定認證與 TLS 屬於不同層面。 | UUID、加密選項、傳輸方式,以及 TLS、Host、Path 等相關欄位。 |
| VLESS | VLESS |
使用 UUID 認證,協定本身不負責加密載荷;連線的保護程度取決於實際傳輸設定。 | UUID、傳輸方式、TLS,以及設定要求的其他握手參數。 |
| Trojan | Trojan |
通常透過 TLS 建立連線,並以 Password 認證。 | Password、Port、TLS 服務名稱與憑證驗證相關設定。 |
| HTTP / SOCKS5 | HTTP / SOCKS5 |
這是兩種不同的代理協定;部分伺服器需要使用者名稱與密碼,Type 不可互換。 | 伺服器實際使用的協定、Address、Port、認證需求,以及是否明確提供 TLS。 |
| WireGuard | WireGuard |
使用金鑰與對等端設定建立以 UDP 為基礎的通道,不採用一般代理的密碼模式。 | 本機私鑰、對端公鑰、Endpoint、通道位址與路由範圍。 |
| Hysteria2 | Hysteria2 |
以 QUIC 為基礎,底層使用 UDP,認證、TLS 與選用的混淆參數都必須相符。 | Address、Port、認證資訊、TLS 服務名稱,以及 UDP 路徑是否可用。 |
HTTP 與 SOCKS5 在表格中合併為一類,只為方便概覽;在 Type 中仍須分別選擇。Hysteria2 也不能因名稱相近,就與其他協定互相替代。實際顯示的欄位與可選組合,請以 App 內對應 Type 的編輯頁面為準。
結論:依參數選擇 Type
若既有設定明確標示 VLESS,就先選擇 VLESS,並核對相應的傳輸參數;不要因為較熟悉其他協定名稱就自行替換,也不要把範例連接埠 443 當成所有伺服器的固定值。
分別核對認證、傳輸與 TLS
協定名稱只說明連線的一部分。認證回答「使用什麼憑證」,傳輸說明「資料如何承載」,TLS 設定則涉及握手與憑證驗證。將這三個層面分開檢查,可避免遇到「UUID 正確卻仍無法連線」或「位址可解析但握手失敗」時,反覆修改無關欄位。
- 認證層:Shadowsocks 的 Password 必須搭配正確的 Method;VMess 與 VLESS 的 UUID 必須完整複製;Trojan 的 Password 不是 UUID;WireGuard 的私鑰也不能填入密碼欄位。欄位內容即使都是一串字元,也不能互相替代。
- 傳輸層:若既有參數要求使用 WebSocket,必須一併核對相應的傳輸選項、Host 與 Path。Path 開頭的斜線及字元大小寫都應依原值保留;不能只填入 Address、Port 與 UUID,就省略其他參數。
- TLS 層:連線位址可能是 IP,也可能是網域名稱;SNI 是 TLS 握手時使用的服務名稱,不一定與連線位址相同,應依既有設定填寫。WebSocket 的 Host 與 TLS 的 SNI 屬於不同層面,不要預設兩者必然相同。
- 網路層:WireGuard 與 Hysteria2 都依賴 UDP。某個 TCP 連線可用,不代表同一網路下的 UDP 路徑也可用;應依各協定的實際連線結果判斷。
VLESS 本身不負責加密載荷,不代表所有 VLESS 連線都以明文傳輸;實際連線仍須視 TLS 等設定而定。反過來說,看到 HTTP 或 SOCKS5,也不能自行推斷整段連線都受到加密保護。請以實際啟用的傳輸與安全設定為準,而非只看協定標籤。
使用既有參數新增並驗證
手動新增適合逐項核對參數;匯入訂閱則適合依照使用者已有的設定批次建立項目。無論採用哪種方式,建立的項目都必須符合伺服器實際設定。本文僅說明如何使用既有設定,不提供、販售或推薦節點、訂閱或服務商。
-
核對參數
先確認協定、伺服器位址、連接埠與認證資訊,再整理 TLS、傳輸及其他附加參數。連接埠必須使用既有設定提供的數值,不要預設為 443。
-
選擇類型
前往 Home → 右上角「+」→ Add Server → Type,選擇與既有參數完全一致的協定,再返回編輯頁面填寫對應欄位。
-
填寫並儲存
逐項填寫 Address、Port 與認證欄位;若需要 TLS 或額外傳輸設定,也要核對相應選項。儲存後返回 Home,選取剛新增的項目。
-
測試連線
在 Home 檢查 Global Routing,執行 Connectivity Test,並開啟明確指定的測試目標。記錄測試目標、網路環境與錯誤訊息,避免一次修改多個欄位。
若使用的是訂閱連結,可前往 Home → 右上角「+」→ Type → Subscribe,填入自己的訂閱網址並儲存,再於 Home 更新相應訂閱。更新後請重新核對目前選取的項目,因為遠端設定可能變更位址、連接埠或認證資訊。編輯單一項目與更新訂閱是不同操作;後續更新也可能覆蓋本機修改。
- 儲存成功只代表項目已寫入,不代表伺服器已完成認證。
- 延遲測試結果只反映該測試方式的結果,不代表所有目標網站都能連線。
- 需要修改時,先保留原始參數,再一次只調整一項,方便確認變更原因。
協定與 Global Routing 各自負責不同層面
協定決定如何建立連線;Global Routing 則決定如何將請求交由直連或代理策略處理。選擇 Hysteria2,不代表每個請求都會透過它傳送。Home 中的 Global Routing 包含 Proxy、Direct、Config、Scene;其中 Scene 用於場景設定,並非第八種連線協定,也不代表自動測速結果。
Config
建議依目前啟用的 Config 規則處理請求。命中規則後的動作取決於該規則指定的策略;未命中前序規則的請求則由 FINAL 等兜底設定處理,不能假設一律直連。
適用情境:已核對設定規則後的日常使用
Proxy
以代理方式處理接管的請求,可與 Config 下的結果對照,縮小規則分流問題的排查範圍;但仍受伺服器認證與網路條件限制。
適用情境:暫時比對代理連線與規則處理結果
Direct
以直連方式處理請求。此時網頁能開啟,不代表所選的代理項目可用;若要驗證協定連線,應先確認正在測試哪一條路徑。
適用情境:比對目前網路的直連狀況
在 Config 中,DOMAIN-SUFFIX 依網域後綴比對,IP-CIDR 依 IP 網段比對,GEOIP 依 IP 地理資料庫分類比對,FINAL 則處理未命中前序規則的請求。這些都是規則關鍵字,不是 Add Server 中的協定類型。檢查時,先確認請求命中了哪條規則,再確認該規則指定的策略使用哪個連線項目。
Settings → On Demand 可控制是否依條件觸發連線,但不會將一種協定轉換成另一種。排查期間應記錄 On Demand 是否啟用,避免將自動觸發或重新建立連線誤認為協定切換。相關設定位置請參閱On Demand 設定說明。
常見問題與檢查順序
以下問題應從既有參數著手處理。先保持其他設定不變,重新核對 Type、認證與傳輸,再檢查 Global Routing 與目標請求;不要以反覆更換協定代替問題排查。
相同位址與連接埠,可以改用其他協定嗎?
不能只靠在用戶端更改 Type 來轉換協定。請返回 Home → 該項目的編輯頁面,確認 Type 與既有參數一致;只有伺服器確實提供另一種協定時,才能使用該協定配套的參數。位址與連接埠相同,不足以證明伺服器同時支援兩種協定。
VMess 與 VLESS 都使用 UUID,為什麼不能直接互換?
UUID 是憑證格式,不代表握手協定相同。請先核對 Type,再檢查傳輸方式、TLS 與路徑。若原始設定標示 VLESS,就不要把 UUID 複製到 VMess 後繼續嘗試;請回到原本的類型,檢查是否有欄位遺漏。
Hysteria2 在 Wi-Fi 下連線失敗,換個網路卻能連線?
先使用同一個項目與測試目標比對兩種網路,並保留錯誤訊息。Hysteria2 使用 UDP,網路路徑差異可能影響連線;接著再核對連接埠、認證、SNI 與選用的混淆參數。單憑這種情況無法判定伺服器故障,也不能斷言某種協定一定比較快。
訂閱更新後,原本可用的項目失敗了?
在 Home 確認仍選取預期項目,再進入編輯頁面核對更新後的 Type、Address、Port 與認證資訊。不要直接把舊密碼套用到新項目;請與自己持有的最新參數比對,並檢查 Global Routing 是否也有變更。
顯示已連線,就代表協定設定完全正確嗎?
不代表。系統連線狀態、伺服器認證與目標存取是不同環節。請返回 Home 檢查 Global Routing,執行 Connectivity Test,再驗證特定目標。只有實際請求經過預期項目並取得結果,才能說明該次連線路徑可用;不能據此推斷所有網路與目標都能使用。
最終選擇原則是符合既有伺服器設定,而非依協定名稱排序。若想進一步了解欄位含義,請參閱協定術語;若要核對目前的設定檔與診斷入口,請參閱Config 設定說明。分別記錄協定、傳輸與規則,才能為後續更新與排查提供明確依據。