本文速覽

Shadowrocket 支援多種代理與隧道協定,但用戶端支援不代表伺服器端已啟用。本文適合已有服務商與訂閱、準備匯入或手動填寫參數的使用者:先透過對照表辨識協定,再核對認證、傳輸與 TLS,最後區分協定類型和 Global Routing,避免把連線失敗歸因於「協定不夠快」。

快速對照:協定名稱與對應參數

Shadowrocket(小火箭)的 Add Server 可用來新增連線設定。Shadowsocks、VMess、VLESS、Trojan、HTTP/SOCKS5、WireGuard、Hysteria2 使用的欄位各不相同;先確認 Type,再填寫位址與認證資訊。已有訂閱請向你的服務商取得,不要只憑連接埠號碼猜測協定。

協定運作方式優先核對項目
Shadowsocks使用密碼和指定的加密方式建立代理連線位址、連接埠、Password、加密方式
VMess使用 UUID 認證,並具備自身的資料保護機制UUID、加密設定、傳輸方式、TLS
VLESS使用 UUID 認證,協定本身不提供資料加密UUID、傳輸方式、TLS 及伺服器端要求的其他參數
Trojan通常透過 TLS 承載代理連線,並以密碼認證Password、TLS、伺服器名稱與憑證
HTTP/SOCKS5通用代理協定,認證方式由伺服器端決定代理類型、連接埠、使用者名稱、密碼、TLS 要求
WireGuard以 UDP 為基礎的加密 IP 隧道金鑰、對端端點、隧道位址、路由參數
Hysteria2以 QUIC 為基礎的代理傳輸,依賴 UDP認證、連接埠、TLS、混淆與頻寬設定

表格列出的是核對順序,並非完整的支援矩陣。特定協定擴充功能能否使用,須同時確認 App 內可選欄位與伺服器端設定。即使兩筆設定都使用 443 連接埠,也可能分別承載 Trojan、VLESS 或 Hysteria2;連接埠只是連線目標的一部分,不能據此判定協定。

Shadowsocks、VMess 與 VLESS:認證與加密不可混為一談

Shadowsocks 的用戶端與伺服器端必須使用相同的加密方式和密碼。只改用另一種加密方式,不會自動配合伺服器端設定;若位址和連接埠都正確但認證仍失敗,請先比對匯入內容與服務商提供的原始參數,不要反覆切換加密方式。

VMess 與 VLESS 都會使用 UUID,但不能只更換 Type 就互相轉換。VMess 具備自身的資料保護機制;VLESS 本身不提供資料加密,實際連線安全性取決於外層安全機制。UUID 是認證資訊,不是 TLS 憑證,也不應填入伺服器名稱欄位。

Trojan 與 HTTP/SOCKS5:先分清代理協定和 TLS

Trojan 通常在 TLS 連線中進行認證與代理傳輸。填寫時須同時核對 Password 和 TLS 相關參數:即使密碼正確,若伺服器名稱不符,仍可能在認證前因憑證驗證失敗而中止。目標位址可以是網域或 IP,但用於驗證憑證的伺服器名稱必須符合伺服器端說明。

HTTP 代理與 SOCKS5 代理主要定義連線協商方式;協定名稱本身不代表連往代理伺服器的連線已加密。HTTP 代理可透過 CONNECT 為 HTTPS 目標建立隧道,但這與「用戶端到代理伺服器之間使用 TLS」是兩回事。SOCKS5 是否接受使用者名稱與密碼、是否支援 UDP 轉送,也取決於伺服器端能力。

WireGuard 與 Hysteria2:兩者都使用 UDP,但設定目的不同

WireGuard 是 IP 層隧道,透過金鑰建立身分認證。請區分本機 Private Key、對端 Public Key,以及伺服器端要求時使用的 Preshared Key;這些欄位不可互換。除了伺服器端點,也要留意指派的隧道位址與路由參數。端點 example.com:51820 僅為格式範例,51820 並非必用連接埠。

Hysteria2 以 QUIC 為基礎,底層依賴 UDP,並使用 TLS。認證、伺服器名稱及可選的混淆設定都必須與伺服器端相符。頻寬相關參數也應依實際連線與服務商說明設定;填入較大的數值,不代表可用頻寬一定會提高。

核對項目WireGuardHysteria2
身分與認證金鑰組及可選的預共享金鑰伺服器端設定的認證資訊
連線基礎透過 UDP 傳輸的加密 IP 隧道透過 UDP 傳輸的 QUIC 連線與 TLS
常見錯誤對端公鑰、端點或隧道位址不符認證、伺服器名稱或混淆設定不符
網路限制UDP 遭封鎖時,無法正常交握UDP 遭封鎖時,無法建立正常的 QUIC 連線

結論:先確認 UDP 是否可連通

同一設定在行動網路可用,卻在某個 Wi-Fi 網路持續逾時時,請先比較兩種網路對 UDP 的限制,再檢查協定參數;不要只憑協定名稱判斷速度,也不要反覆調高頻寬數值。

匯入與驗證:先保留原始參數,再逐項測試

已有訂閱時,建議直接匯入服務商提供的完整內容。訂閱除了位址與密碼,也可能包含 TLS、傳輸方式及協定擴充參數。手動輸入適合欄位資訊明確的單筆連線;資料不齊全時,應先補齊資訊,不要猜測填寫。

  1. 確認來源

    向你的服務商取得已有訂閱或單筆參數。確認協定名稱、位址、連接埠和認證方式,並保留原始內容以便逐項比對。

  2. 匯入訂閱

    在 Home 點選右上角「+」進入 Add Server,將 Type 設為 Subscribe,填入自己的訂閱網址並儲存。確認訂閱項目是否載入預期的連線設定。

  3. 核對欄位

    手動新增時,前往 Home →「+」→ Add Server → Type,選擇實際使用的協定。先填寫位址、連接埠和認證資訊,再檢查 TLS、傳輸方式及該協定專屬參數。

  4. 驗證連線

    返回 Home,選取連線項目並啟用連線,依照系統提示完成授權。先測試一個明確的目標是否可連線,再記錄錯誤類型;每次只修改一項設定。

更新訂閱會重新取得服務商發布的內容,應與「手動編輯單一節點」區分。更新後若項目恢復原值,請先核對訂閱來源中的參數;不要假設本機編輯一定會保留。訂閱網址中的權杖屬於憑證,分享記錄或設定前應先移除。

Global Routing 與協定類型:分開檢查兩組設定

協定決定如何連線至伺服器端,Global Routing 則決定進入隧道的請求依何種策略處理。改用 Trojan 不會自動啟用規則分流;選取某個節點,也不代表所有請求都會經由該節點。排查時應分別確認 Home 中的連線項目、Global Routing 的目前模式,以及 Config 中正在使用的設定。

Config

建議

依據目前設定中的規則與策略處理請求。比對結果可能是 PROXY、DIRECT、REJECT 或已定義的策略,不代表「所有未匹配的請求都會直連」。

適用情境:日常使用已設定並確認過的分流規則

Proxy

將進入隧道的請求以代理模式處理,可用來縮小規則分流造成的差異;仍須確認所選連線的協定與認證設定正確。

適用情境:暫時驗證代理連線、排查規則影響

Direct

以直連模式處理請求。此時網頁可正常瀏覽,不能證明所選代理節點有效,也不能據此判定某種協定連線成功。

適用情境:建立本機網路的直連對照

Global Routing 中的 Scene 是場景模式,不能將它視為另一種代理協定;檢查時應確認目前場景的實際設定。Settings → On Demand 用於管理按需連線條件,也無法修正錯誤的 UUID、密碼或 TLS 參數。先手動驗證連線,再檢查自動觸發條件,才能區分連線失敗與連線未觸發。

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

以上僅示意規則語法與匹配順序,並非可直接使用的完整 Config。DOMAIN-SUFFIX 依網域後綴匹配,IP-CIDR 依 IP 網段匹配,GEOIP 依賴 IP 地理資料,FINAL 處理前面未匹配的請求。REJECT 則代表拒絕請求。規則關鍵字決定請求去向,不會修復協定交握;範例中的網域與文件專用位址範圍並非真實服務。

常見問題:支援的協定卻連不上,該先檢查什麼?

有伺服器位址,Type 可以隨便選嗎?

不可以。在 Home →「+」→ Add Server → Type 中,選擇與伺服器端一致的協定。只有位址和連接埠,還不足以還原完整設定;認證、TLS 與傳輸參數也須向你的服務商取得。

連接埠都是 443,為什麼有的能用、有的不能?

先比較 Type,再核對認證與 TLS。TCP 的 443 與 UDP 的 443 是不同的傳輸端點;即使 Trojan 與 Hysteria2 使用相同的連接埠號碼,也不能共用同一組協定參數。

延遲有數值,為什麼網頁還是打不開?

延遲結果只能證明測試方法收到了回應,不代表 DNS、認證及目標請求都已成功。返回 Home 核對 Global Routing,再檢查目標網域解析與實際連線錯誤;不要只憑單一延遲數值判定協定正常。

購買 Shadowrocket 後,還需要協定參數嗎?

需要。買斷用戶端不等於購買線路方案。Shadowrocket 是閉源商業 App,連線參數及已有訂閱請向你的服務商取得。App 主要適用於 iPhone/iPad,其他 Apple 裝置的相容性可在 App Store 頁面確認;系統需求與購買適用性以 App Store 頁面標示為準。