Shadowrocket 支援哪些協定:Shadowsocks、VMess、VLESS、Trojan、WireGuard 一分鐘看懂

逐一說明 Shadowrocket 的 Add Server 協定類型、必填欄位與常見傳輸方式,協助你將服務商提供的參數填入正確位置。

本文速覽

本文適合已從自己的服務商取得伺服器參數或訂閱連結,但不確定應在 Add Server 選擇哪種 Type 的使用者。閱讀後可以辨認 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 與 WireGuard 的核心欄位,並依照位址、連接埠、憑證、傳輸層與 TLS 資訊逐項核對。

先判斷要匯入訂閱還是手動新增

Shadowrocket(小火箭)中的協定類型不是網路線路名稱。服務商提供的設定若標示 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard,請在 Home 右上角點選「+」進入 Add Server,再讓 Type 與協定名稱一致。不要根據連接埠號猜測協定:443 可供多種設定使用,無法單獨判斷類型。

如果已有自己的訂閱連結,通常建議先透過 Subscribe 匯入。訂閱內容會將協定類型、伺服器位址與傳輸參數寫入對應項目,比逐欄抄錄更不容易遺漏大小寫、路徑或憑證名稱。手動新增適合只有一組完整參數、需要核對特定欄位,或服務商明確要求自行填寫的情況。

Subscribe 匯入

推薦

從現有訂閱建立伺服器項目,之後可從同一來源更新設定。協定與傳輸欄位通常會一併寫入。

適合:已有完整訂閱連結、需要管理多個伺服器

Add Server 手動填寫

逐項輸入 Address、Port、Password 或 UUID,並繼續核對 Transport、TLS、SNI 等附加設定。

適合:已有單一完整參數、需要確認欄位對應關係

Config 檔案

Config 主要用於規則、DNS 與分流設定,不能以規則設定取代伺服器協定所需的連線參數。

適合:管理規則分流,而不是補齊缺少的伺服器憑證

  1. 確認來源欄位

    先在服務商提供的說明中找出明確的協定名稱、Address、Port 與驗證資訊。缺少協定名稱時,應向原始設定來源確認,不要只憑連接埠推測。

  2. 進入新增頁面

    開啟 Home,點選右上角「+」進入 Add Server。若要匯入訂閱,請將 Type 設為 Subscribe。

  3. 貼上現有訂閱

    在 URL 中填入自己的連結。格式可類似 https://example.com/sub?token=xxxx,此網址僅為示意值,不能用於連線。

  4. 選擇對應協定

    手動新增時,在 Type 中選擇參數單明確標示的協定,再填寫該類型顯示的欄位。

  5. 儲存並測試

    儲存後返回 Home,選取建立的伺服器項目,再使用 Connectivity Test 檢查是否可連線。

六類協定先看哪些共通欄位

不同協定的驗證方式各異,但核對順序可以一致:先確認伺服器位址與連接埠,再核對密碼或金鑰,最後檢查傳輸與 TLS。Address 只應填入主機名稱或 IP 位址,不要將 https://、路徑與連接埠一併貼入位址欄。Port 必須是設定來源提供的整數;常見的 4438443 或其他數值都只是範例,沒有適用於所有伺服器的固定連接埠。

6 類
本文核對 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard
4 層
位址與連接埠 → 驗證 → Transport → TLS
4 種狀態
Global Routing:Config / Proxy / Direct / Scene
4 個關鍵字
DOMAIN-SUFFIX / GEOIP / IP-CIDR / FINAL
欄位層級 常見介面值 核對方式
連線目標 Address、Port 逐字核對主機名稱與連接埠,注意不要附帶空格、協定前綴或網頁路徑。
驗證資訊 Password、UUID、Private Key 依協定填寫。三者用途不同,不能互相替代,也不要自行更改大小寫。
傳輸設定 TCP、WebSocket、gRPC、QUIC 只選擇參數單明確指定的 Transport,並繼續填寫 Host、Path 或 Service Name。
安全設定 TLS、SNI、Public Key 網域名稱、憑證名稱與金鑰必須來自同一組設定,不能從另一台伺服器複製。

結論:協定名稱優先於連接埠號

看到 443 只能確認目標連接埠,不能據此選擇 Trojan、VLESS 或其他 Type。Add Server 的 Type 應以服務商提供的協定標示為準,接著再核對該協定專用的驗證欄位。

Shadowsocks、VMess 與 VLESS 的欄位如何對應

Shadowsocks:Password 與 Method 必須配對

Shadowsocks 的基本資訊通常包括 Address、Port、Password 與 Method。Method 是加密方式,例如參數來源可能提供某個 AEAD 名稱;Shadowrocket 中的選項必須與原始設定逐字一致。伺服器位址與密碼正確但 Method 不一致時,連接埠可能仍有回應,實際連線卻無法完成驗證。

VMess:除了 UUID 還要核對 Transport

VMess 通常使用 UUID 形式的使用者識別碼。不同設定也可能包含額外識別、安全選項、TLS 與 Transport。若傳輸方式是 WebSocket,通常還要核對 Path 與 Host;若設定標示其他 Transport,則應進入相應項目填寫所需的附加值。只複製 UUID 而遺漏 Path,常見情況是 Address 與 Port 可連線,但連線測試無法通過。

VLESS:分別填寫 UUID、Flow 與安全層

VLESS 同樣常用 UUID,但不能直接將 VMess 項目改名後使用。VLESS 的 Flow、Transport 與安全層需要依原始參數重新對應。部分設定不使用 Flow,此時維持來源指定的空值;若來源明確提供 Flow,則必須選擇一致的項目。涉及 Reality 時,還可能出現 Public Key、Short ID、Server Name 等值,這些欄位必須屬於同一組伺服器設定。

VMess 與 VLESS 都可能出現 UUID、TLS 和 WebSocket 欄位,但協定類型並不相同。最穩妥的做法是重新建立正確 Type 的項目,再逐項抄錄參數,而不是只修改顯示名稱。

Trojan、Hysteria2 與 WireGuard 的辨識方式

Trojan:重點檢查 Password、TLS 與 SNI

Trojan 項目的核心驗證值通常是 Password,也經常搭配 TLS 使用。SNI 或 Server Name 用於指定憑證對應的主機名稱,可能與連線使用的 Address 相同,也可能由設定來源另行指定。憑證名稱填錯時,即使連接埠可以存取,連線仍可能停在握手階段。

Hysteria2:基於 QUIC,注意 UDP 可達性

Hysteria2 通常基於 QUIC 運作,連線目標仍由 Address 與 Port 組成,驗證資訊通常以 Password 提供。設定也可能包含 SNI、Obfuscation 類型與 Obfuscation Password。它依賴 UDP 通訊,因此測試結果會受到目前網路是否允許對應 UDP 連接埠通過的影響。切換 Wi-Fi 與行動網路後結果不同,不一定代表參數已變更。

WireGuard:分為介面與 Peer 兩組理解

WireGuard 與前述帳號密碼型協定的欄位結構不同。可將參數分成兩組:本機介面側包括 Private Key 與 Address,遠端 Peer 側包括 Public Key、Endpoint 與 Allowed IPs。Endpoint 通常由主機名稱或 IP 加上連接埠組成;Allowed IPs 決定哪些目標範圍交由該 Peer 處理,並不等同於 Shadowrocket 的 DOMAIN-SUFFIX 規則。

結論:先依驗證欄位辨識設定結構

Password 常見於 Shadowsocks、Trojan 與 Hysteria2,UUID 常見於 VMess 與 VLESS;Private Key 與 Peer Public Key 則指向 WireGuard。驗證欄位只能協助複核,最終 Type 仍以原始設定標示為準。

Transport、TLS 與連接埠為什麼不能混著填

協定規定驗證與資料封裝方式,Transport 決定資料如何承載,而 TLS 負責相關情境下的加密握手與伺服器身分資訊。三個層次可以組合,因此同一個 VLESS 類型可能使用不同 Transport,同一種 WebSocket 傳輸也可能出現在不同協定項目中。Add Server 頁面顯示附加欄位後,應繼續對照服務商提供的完整參數,不能看到協定名稱就停止核對。

WebSocket 的 Path 通常以 / 開頭,Host 是握手要求中的主機欄位;gRPC 常見的是 Service Name;TLS 情境常見 SNI。它們看起來都是文字值,但傳送位置不同。將 Service Name 填入 Path,或將 Address 直接複製到 SNI,只有在原始設定恰好相同時才可能正確。

設定項目 要解決的問題 填寫錯誤後的常見現象
Port 定位伺服器端的監聽入口 逾時、拒絕連線,或連線到無關的服務。
Transport 確認 TCP、WebSocket、gRPC 或 QUIC 等承載方式 連接埠可達,但協定握手無法完成。
Path / Service Name 定位對應的 WebSocket 路徑或 gRPC 服務 連線很快中斷,伺服器端無法匹配入口。
TLS / SNI 建立 TLS 並匹配伺服器名稱 憑證名稱不匹配或握手失敗。
UDP 承載 Hysteria2、WireGuard 等相關通訊 同一組參數在不同連線網路下的表現不同。

協定連線與 Global Routing 是兩回事

伺服器協定負責建立連線,Global Routing 決定流量建立後如何處理。Config 會讀取目前的規則設定;Proxy 讓流量統一使用選取的伺服器;Direct 直接連線至目標;Scene 依場景設定執行。伺服器項目測試成功,不代表目前的 Global Routing 一定會讓所有要求經過該項目。

在 Config 狀態下,Shadowrocket 會由上至下匹配規則。常見關鍵字包括 DOMAIN-SUFFIX、GEOIP、IP-CIDR 與 FINAL。前面的具體規則會先命中,FINAL 處理此前沒有匹配的要求。以下內容只展示規則語法,網域與位址均為文件範例:

DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

Config

推薦

依照 Config 中的規則逐一匹配,讓不同目標採用 Proxy 或 Direct 等策略。

適合:已有核對過的規則設定,日常依目標分流

Proxy

統一使用目前選取的伺服器,可用於判斷故障是否源於規則未命中。

適合:暫時排除規則分流的影響

Direct

要求直接連線至目標,不會使用已選取的伺服器轉送。

適合:確認本機網路本身能否存取目標

Scene

依照已設定的網路情境切換處理方式,結果取決於使用者儲存的 Scene 條件。

適合:已明確區分不同網路環境的設定

結論:測試協定時先固定路由狀態

排查新伺服器時,可以先記錄目前的 Global Routing,再使用 Proxy 檢查項目本身;確認項目可用後恢復 Config,繼續檢查 DOMAIN-SUFFIX、IP-CIDR 與 FINAL 的命中順序。

連線失敗時依欄位層級排查

錯誤類型不同,排查起點也不同。Connectivity Test 立即顯示逾時時,先檢查 Address、Port 與目前網路的可達性;很快失敗但連接埠似乎有回應時,再檢查協定 Type、Password、UUID、Method 與 Transport;TLS 握手相關問題則重點檢查 SNI、裝置時間與憑證對應關係。不要一次修改多個欄位,否則無法判斷是哪項修正帶來結果。

  1. 核對 Type

    返回 Add Server 編輯頁,確認 Type 與原始設定明確寫出的 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard 一致。

  2. 檢查位址與連接埠

    移除 Address 中多餘的協定前綴、路徑與空格,確認 Port 沒有被瀏覽器或輸入法改寫。

  3. 檢查驗證資訊

    逐字對照 Password、UUID、Method、Private Key 或 Public Key,尤其檢查大小寫與連字號。

  4. 檢查傳輸與安全性

    繼續核對 Transport、Host、Path、Service Name、TLS、SNI、Flow 與 Reality 相關值。

  5. 固定路由測試

    記錄原始設定後,將 Global Routing 暫時設為 Proxy,使用 Connectivity Test 判斷是否由規則分流造成差異,完成後恢復原本狀態。

  6. 檢查 On Demand

    進入 Settings → On Demand,確認是否存在會在目前 Wi-Fi 或行動網路下自動連線、斷線或切換的條件。

連接埠是 443,應該選 Trojan 還是 VLESS?

不能依連接埠選擇。返回服務商提供的參數單,找出協定名稱以及 Password 或 UUID 等驗證欄位。若來源未標示 Type,應先向原始設定來源確認。

為什麼匯入訂閱後會有多種協定?

同一份訂閱可以建立不同 Type 的伺服器項目。分別開啟項目查看類型即可,不要將所有項目手動改成同一種協定;更新時也應從原本的 Subscribe 來源重新整理。

Connectivity Test 成功,但要求沒有經過伺服器?

檢查 Home 中是否已選取該項目,再查看 Global Routing 是否處於 Direct。若使用 Config,繼續檢查目標是否被 DOMAIN-SUFFIX、GEOIP 或 IP-CIDR 規則分配到 Direct。

切換到另一個網路後 Hysteria2 無法連線?

先確認該網路是否允許設定連接埠的 UDP 通訊,再核對 Address、Port、Password 與 SNI。若 Wi-Fi 與行動網路的結果不同,分別記錄測試現象後交由原始服務設定提供者核查。

什麼時候需要開啟 On Demand?

只有需要依網路條件自動觸發連線時才設定。路徑是 Settings → On Demand;首次排查協定參數時,可以先確認目前狀態,避免自動動作干擾手動測試。

安裝來源與使用範圍

Shadowrocket 是 Apple 平台的閉源商業應用程式,主要供 iPhone 與 iPad 使用;Mac、Apple TV 與 Apple Vision 的可用情況以 App Store 相容性欄為準,系統要求以 App Store 頁面標示為準。唯一取得入口是 App Store。正版產品頁顯示開發者為 Shadow Launch Technology Limited,應用程式 ID 為 932747118,購買方式為一次買斷。

購買用戶端不包含線路服務。本文只說明如何將使用者現有的服務商參數對應至 Shadowrocket,不提供或推薦任何線路服務、伺服器及訂閱。若訂閱更新後欄位有所變更,應以自己的設定來源為準,不要將舊項目的 Password、UUID、SNI 或金鑰複製到新項目。

下載 Shadowrocket