Shadowrocket 支援哪些協定?Shadowsocks、VMess、VLESS、Trojan、Hysteria2 快速解析

整理 Shadowsocks、VMess、VLESS、Trojan、HTTP/SOCKS5、WireGuard、Hysteria2 的用途,以及在 Add Server 中要填寫的欄位。

本文重點

已經有自己的服務商與連線參數,Type 該選哪一項?本文依協定說明認證、傳輸與 TLS 的差異,再整理 Home → Add Server 的輸入順序與排查方式。Shadowrocket(小火箭)支援多種協定,但不能只改 Type,就讓同一台伺服器改用另一種協定;看完後可依現有參數逐項確認,不要只憑協定名稱猜測速度。

支援哪些協定?名稱之間有什麼差異?

這些協定可以互相替換嗎?不能直接替換。Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard 和 Hysteria2 各有不同的握手與認證方式。先確認服務商提供的協定名稱,再從 Home 右上角的「+」進入 Add Server,選擇相符的 Type;伺服器端未啟用的協定,無法只靠修改用戶端選項使用。

協定主要確認項目容易混淆之處
ShadowsocksAddress、Port、加密方式、Password加密方式必須與伺服器端一致
VMessAddress、Port、UUID、加密選項、傳輸參數UUID 正確,不代表傳輸設定也正確
VLESSAddress、Port、UUID、傳輸與安全參數不能直接沿用 VMess 的所有設定
TrojanAddress、Port、Password、TLS 參數Password 與憑證驗證須分別處理
HTTPAddress、Port、可選的帳號認證代理認證不等於連線加密
SOCKS5Address、Port、可選的帳號認證協定本身不提供連線加密
WireGuard金鑰、介面位址、對端端點、路由範圍金鑰與隧道位址需成套確認
Hysteria2Address、Port、認證資訊、TLS 參數需要 UDP 可連通,且不能與 Hysteria 混用參數

為什麼 Add Server 顯示的欄位不盡相同?欄位會隨 Type 和已啟用的選項而變動。例如,啟用某種傳輸方式後才需要填寫 Path 或 Host;選擇 TLS 相關選項後,才需要確認伺服器名稱。表格列出的是檢查重點,不表示所有協定都使用同一套表單;實際可用的選項請以 App 內顯示為準。

8 種
本文分別說明的協定;HTTP 與 SOCKS5 分開計算
443
TLS 服務常見連接埠範例,不代表所有伺服器的預設值
4 項
Global Routing:Proxy / Direct / Config / Scene

結論:先確認 Type,再核對欄位

取得參數後,先確認協定名稱與伺服器端連接埠,再逐項輸入認證、傳輸和 TLS 設定。不要因為連接埠是 443,就直接選 Trojan 作為 Type;單憑連接埠無法判斷協定。

Shadowsocks、VMess 和 VLESS 分別要填哪些資料?

Shadowsocks 只要密碼就夠了嗎?不夠。至少還要確認 Address、Port 和加密方式。即使 Password 相同,只要加密方式不同,仍無法正常通訊;如果現有參數還包含額外的傳輸或混淆設定,也要依原始資訊填寫,不能只保留位址和密碼。

UUID 相同,為什麼還是無法開啟網頁?認證只是其中一個環節。如果伺服器端使用 WebSocket,而用戶端採用其他傳輸方式,握手就無法如預期完成。先確認所選的傳輸方式,再核對 Path 和 Host;不要任意刪改 Path 中的斜線或路徑內容,Host 也不一定與 Address 相同。

Trojan 與 Hysteria2 的 TLS 要怎麼確認?

Trojan 只要輸入 Password 就可以嗎?還需要確認伺服器位址、連接埠與 TLS 參數。Trojan 通常透過 TLS 建立連線,認證密碼正確也不能取代憑證驗證。如果 Address 使用 IP,而憑證對應的是某個網域,請依服務商提供的資訊填寫伺服器名稱;不要把停用憑證驗證當成一般修復方式。

Hysteria2 和 Trojan 有什麼差異?Hysteria2 以 QUIC 為基礎,需要 UDP 通訊;Trojan 常見的連線方式則使用 TCP 與 TLS。兩者都可能涉及憑證與認證,但參數不能互相照抄。如果目前網路限制 UDP、連接埠未開放或伺服器無法連線,Hysteria2 可能會逾時;這不代表認證密碼一定有誤。

  1. 先確認 Type 選的是 Hysteria2,而不是名稱相近的 Hysteria;兩者不是可以直接互換的協定版本。
  2. 確認 Port 是否與伺服器實際監聽的連接埠一致。即使使用 443,也要確認 UDP 通訊可正常連通。
  3. 確認認證資訊、TLS 伺服器名稱與憑證要求;如果伺服器端設定了混淆,也要確認對應的類型與密碼。
  4. 若有頻寬或其他選填參數,請依自己的服務設定填寫,不要用缺乏依據的高數值取代網路測試。

改用 Hysteria2 就一定比較快嗎?不能只憑協定名稱判斷。伺服器負載、網路往返延遲、封包遺失和 UDP 限制都會影響結果。比較時,請使用相同的目標網站、裝置與網路條件,先確認連線成功,再觀察頁面載入完成所需的時間;單次延遲數值不足以判斷傳輸量。

HTTP、SOCKS5 和 WireGuard 有什麼差異?

HTTP 和 SOCKS5 也需要填 UUID 嗎?通常不需要。常見欄位是 Address、Port,以及伺服器端要求的使用者名稱和密碼。若未啟用帳號認證,就不要自行填入憑證;如果伺服器端要求使用 TLS 保護的代理連線,也要選擇相符的類型或安全設定。

項目HTTP / SOCKS5WireGuard
認證資料可能是 Username 和 Password本機私鑰、對端公鑰;依設定可能還包含預共享金鑰
連線端點代理位址與連接埠對端位址與 UDP 連接埠
位址資訊通常不需要設定隧道介面位址需確認分配的介面位址與前綴
其他檢查項目認證要求、TLS 支援、UDP 能力Allowed IPs、DNS、MTU 等設定內容

WireGuard 為什麼不能只填位址和密碼?它使用金鑰認證,並涉及隧道內的位址與路由。本機 Private Key 必須對應伺服器端登記的用戶端公鑰;對端 Public Key 則用來識別伺服器,兩者不能互換。介面位址、Allowed IPs 和端點的用途也各不相同,不要把伺服器的公網 IP 當成本機隧道位址。

從 Add Server 到連線測試,操作順序是什麼?

手動輸入和匯入訂閱,該先選哪一種?如果已有完整訂閱,請優先保留其中的協定、傳輸與安全參數;只有在服務商提供明確的單一連線資訊,或需要確認某個欄位時,才使用 Add Server 手動輸入。以下步驟假設使用者已經有自己的服務資訊,不包含任何服務資源推薦。

  1. 確認資訊來源

    先查看現有參數中的協定、位址、連接埠與認證資訊。請勿將敏感欄位貼到公開討論區;如果只有訂閱連結,不要把它當成單一伺服器位址填入。

  2. 選擇 Type

    前往 Home → 點選右上角「+」→ Add Server → Type,選擇與伺服器端一致的協定。接著填寫 Address、Port 和相應的認證欄位。

  3. 補齊選項

    依現有資訊補上傳輸、Host、Path 和 TLS 等相關選項;只填寫所選協定實際需要的內容。儲存後返回 Home,選擇剛才儲存的伺服器。

  4. 測試連線

    在 Home 執行 Connectivity Test,再開啟連線開關並瀏覽已知可正常使用的網頁。首次連線時,請依系統提示允許加入 VPN 設定;也要確認 Global Routing 設定,避免停留在 Direct 而誤判代理結果。

使用訂閱時要在哪裡輸入?在 Home 右上角點選「+」進入 Add Server,將 Type 設為 Subscribe,輸入自己的訂閱連結並儲存,接著返回 Home 更新對應的訂閱。更新後請重新確認目前選取的伺服器;成功取得訂閱項目,不代表其中每一條連線都已通過實際使用測試。

更新訂閱能修復所有問題嗎?不能。更新只會依訂閱端傳回的內容重新整理相關項目,無法排除目前的網路阻斷或伺服器無法使用等問題。如果曾手動修改訂閱項目,更新後還要再次確認相關欄位;Config 中的分流設定也應另外檢查,不能把伺服器列表更新視為規則已同步。

協定設定正確,為什麼 Global Routing 仍會影響結果?

選取伺服器後,所有連線都會經過它嗎?不一定。協定決定如何與伺服器通訊,Global Routing 則決定連線採用哪種路由方式。排查協定時,先確認測試要求確實套用代理策略;否則在 Direct 模式下能開啟網頁,並不能證明伺服器參數正確。

Config

建議

依目前啟用的設定與規則選擇策略。先確認 Config 啟用的是預期設定,再檢查目標套用的是 DIRECT 還是代理策略;並非所有未符合規則的要求都會自動直連。

適用情況:已有可供確認的規則,日常使用需要依目標分流

Proxy

將經此設定處理的要求導向代理路徑,可暫時減少分流規則對測試的干擾。切換後若仍無法連線,請繼續確認伺服器、認證、傳輸和 DNS;不要因此直接停用憑證驗證。

適用情況:短時間確認伺服器連線,區分規則問題與連線問題

Direct

採用直接連線路徑,不適合用來證明某個代理協定可正常使用。完成對照測試後,請恢復原本的路由方式,避免下次測試條件改變。

適用情況:對照目前網路是否可直接正常連線

Scene 和 On Demand 也算協定嗎?不算。Global Routing 中的 Scene 會依所設定的情境選擇路由方式,實際行為取決於場景設定;Settings → On Demand 則控制是否按需求啟動連線,無法替伺服器補上缺少的認證或 TLS 參數。排查期間請記錄這些設定,以免自動觸發或場景切換改變測試條件。

結論:一次只變更一個變數

先固定伺服器與網路,在 Proxy 模式下確認連線,再恢復 Config 檢查規則。規則會依序比對:DOMAIN-SUFFIX 用於檢查網域後綴,GEOIP 和 IP-CIDR 用於比對 IP 條件,FINAL 則處理未符合前面規則的要求;不要為了確認一個 UUID,就同時重寫整份規則。

常見問題:欄位缺漏、逾時與連線後無法開啟網頁

發生錯誤後,該先修改哪個設定?先依錯誤發生的階段分類。表單無法儲存時,通常先檢查必填欄位;測試逾時時,要一併確認位址、連接埠、網路與伺服器端狀況;連線後只有部分網頁異常,則還要檢查 DNS 和規則。依序排查比連續切換多個協定更容易找出原因。

只有 UUID,沒有其他參數,可以直接連線嗎?

不行。請回頭查看現有服務資訊,補齊 Address、Port、協定類型、傳輸方式和所需的安全參數,再前往 Home → Add Server 確認。UUID 不包含完整的端點資訊,也無法據此判斷該選 VMess 還是 VLESS。

Connectivity Test 逾時,是密碼錯了嗎?

不一定。先在 Home 確認目前選取項目的 Address 和 Port,再確認網路是否允許所需的 TCP 或 UDP 通訊。測試結果只反映該測試路徑,不能取代完整的認證、DNS 和網頁瀏覽檢查。

開關顯示已連線,為什麼網頁還是打不開?

系統顯示 VPN 已連線,不代表遠端服務正常。先確認 Home → Global Routing 符合測試目標,再檢查伺服器認證、傳輸與 TLS;如果只有部分網域無法連線,接著檢查 DNS 設定及 Config 中的相關規則。

Hysteria2 在 Wi-Fi 可用,行動網路卻逾時,該怎麼辦?

保留同一筆伺服器設定,分別在兩種網路下測試,確認是否只有特定網路發生問題。接著確認 UDP 連接埠是否可連通,以及伺服器端狀態;除非自己的伺服器確實另有相應設定,否則不要只把 Type 改成 Trojan。

買了 Shadowrocket,為什麼還要填寫連線資訊?

一次買斷用戶端 ≠ 線路方案。Shadowrocket 是閉源商業應用,連線仍需使用者自行備妥服務資訊。請在 App Store 產品頁確認開發者 Shadow Launch Technology Limited 與應用程式 ID 932747118;裝置相容性與系統需求以 App Store 頁面標示為準。

App Store 正版驗證開發者與應用程式 ID