Shadowrocket(小火箭)可設定 Shadowsocks、VMess、VLESS、Trojan、WireGuard、Hysteria2 等協定。本文適合已備妥自己的伺服器參數或訂閱,想確認 Type 與欄位如何對應的使用者;先透過對照表辨認協定,再依序前往 Home →「+」→ Add Server 核對設定,最後釐清協定、傳輸方式與 Global Routing 的差異。本文不提供伺服器資源,列出的六種協定也不代表應用程式支援的完整清單。
快速總覽:六種協定各要核對哪些項目?
優先選擇與既有伺服器設定相符的協定,不要只憑名稱挑選看似「更快」的類型。在 Home →「+」開啟 Add Server,再進入 Type 查看目前應用程式提供的選項;下表的協定名稱供辨識,實際欄位與可選項目請以目前介面為準。
| 協定 | 設計特點 | 優先核對的參數 |
|---|---|---|
| Shadowsocks | 透過共用金鑰與指定的加密方式建立代理連線。 | Address、Port、Method、Password;若另有混淆設定,也要一併確認相符。 |
| VMess | 以使用者識別資訊進行驗證,傳輸設定須與伺服器端相符。 | Address、Port、UUID、加密設定,以及 TLS 和傳輸方式。 |
| VLESS | 使用 UUID 驗證,協定本身不提供內容加密。 | UUID、傳輸方式與相應的安全設定;不能只填 UUID 就視為設定完成。 |
| Trojan | 使用 Password 驗證,通常透過 TLS 保護連線。 | Password、Port、TLS,以及與憑證相符的伺服器名稱。 |
| WireGuard | 透過金鑰組建立以 UDP 為基礎的加密通道。 | 用戶端 Private Key、對端 Public Key、Endpoint、通道位址與路由範圍。 |
| Hysteria2 | 以 QUIC 為基礎,底層依賴 UDP,並使用 TLS 與驗證參數。 | Address、UDP 連接埠、驗證資訊、伺服器名稱,以及伺服器端要求的其他參數。 |
結論:先比對伺服器設定,再比較連線表現
先逐一核對 Type、Address、Port 和驗證資訊;這些參數一致後,再比較延遲或網頁載入速度才有意義。不要把同一個位址任意改成另一種 Type,試圖提升速度。
Shadowsocks、VMess 與 VLESS:驗證欄位不可互換
這三種協定的主要差異不在名稱長短,而在驗證方式、安全設定與傳輸組合。在 Add Server 選好 Type 後,應依照自己的原始設定填入對應欄位;更換 Type 後,即使原有位址或連接埠仍保留,也不代表其他參數依然有效。
- Shadowsocks:Method 和 Password 必須同時相符。即使 Address 和 Port 正確,Method 不一致仍可能發生伺服器可連線但請求失敗的情況。不要因為密碼看起來相同,就把不同的加密方式視為可互換。
- VMess:UUID 是使用者識別資訊,不是訂閱網址,也不是一般登入密碼。若傳輸方式使用 WebSocket,也要核對相應的 Host 和 Path;TLS 是否啟用同樣須依照伺服器端設定。若出現驗證失敗,也請確認裝置的日期與時間正確。
- VLESS:UUID 正確,不代表連線安全設定也正確。VLESS 本身不提供內容加密,實際保護取決於搭配的安全層;請核對目前介面支援的安全選項及伺服器端要求,不要直接套用 VMess 的加密欄位。
WebSocket 並非與 VMess、VLESS 並列的驗證協定,TLS 也不是新的伺服器帳號。在伺服器編輯頁中,應分別理解協定 Type、承載連線的傳輸方式,以及 TLS 安全層;某種組合是否可用,取決於目前應用程式與伺服器端是否共同支援該設定。
Trojan、WireGuard 與 Hysteria2:安全參數與網路條件
使用這三種協定時,須特別分清憑證、金鑰與底層網路條件。在 Add Server 選定協定後,先完成相應的驗證,再設定 TLS 或通道參數;連線問題不一定都是密碼錯誤。
Trojan:Password 與 TLS 名稱都要相符
Trojan 常使用 TLS,但使用 443 連接埠並不足以確保協定正常運作。如果連線位址填的是 IP,而憑證是為網域簽發,請依既有設定填入供 TLS 驗證使用的伺服器名稱;不要只因憑證錯誤就直接關閉憑證驗證。Address、TLS 伺服器名稱與 WebSocket Host 用途各異,不能看到網域名稱就填入所有欄位。
WireGuard:分別填入用戶端私鑰與對端公鑰
WireGuard 使用金鑰組,而非 UUID 或 Password。用戶端 Private Key 應妥善保密;對端 Public Key 必須對應實際伺服器。Endpoint 則是對端位址與 UDP 連接埠。通道位址、Allowed IPs 與 MTU 等參數也可能影響可連線範圍,應依現有設定核對,不要自行套用固定數值。
Hysteria2:先確認 UDP 路徑可連通
Hysteria2 以 QUIC 為基礎,需要網路允許相應的 UDP 流量。即使某個 TCP 連接埠測試有回應,也無法證明相同連接埠的 UDP 路徑正常;若伺服器端設定了額外混淆或特定驗證方式,用戶端也必須填入相應設定。Hysteria 和 Hysteria2 名稱相近,但不能因此視為可互換的類型。
- 只有特定網路無法使用:保留伺服器參數,分別透過 Wi-Fi 與行動網路測試同一個目標並記錄差異;這有助於縮小問題範圍至網路路徑,但不能單憑此現象就判定協定受到限制。
- 出現憑證相關錯誤:核對系統時間、伺服器名稱與憑證有效性,不要一開始就移除 TLS 安全設定。
- 小型請求正常,大型頁面載入停滯:同時檢查封包遺失、路徑 MTU 與伺服器端記錄;不能只據此判定某種協定效能不足。
如何在 Add Server 選擇 Type 並儲存?
手動新增時,應以完整的既有參數為依據,不要靠猜測連接埠或隨意切換 Type 取代正確設定。以下步驟以 iPhone、iPad 的 Home 入口為主;欄位會依 Type 而異,只填寫目前協定需要且來源明確的資訊。
-
開啟新增頁面
前往 Home → 右上角「+」,開啟 Add Server。先準備好既有伺服器的位址、連接埠、驗證資訊與傳輸設定,避免拼湊不同來源的參數。
-
選擇類型
進入 Type,選擇與原始設定相同的協定。若原始設定標示 Hysteria2,就不要選其他名稱相近的類型;如果介面沒有所需選項,請先確認 App Store 上的應用程式狀態,以及該設定的相容性要求。
-
填寫基本欄位
填入 Address 和 Port,再依協定填寫 Password、UUID 或金鑰。假設原始設定明確指定 Port 為 8443,就填入 8443;不要因為啟用了 TLS 就自行改成 443。
-
核對其他設定
依照原始設定檢查 TLS、伺服器名稱與傳輸選項;若使用 WebSocket,請核對 Host 和 Path。WireGuard 則須檢查通道位址與對端參數,不要套用其他協定的欄位。
-
儲存並測試
儲存後返回 Home,選取對應項目並啟用連線;首次出現系統 VPN 設定授權時,請依提示確認。搭配 Connectivity Test 和實際網頁瀏覽檢查結果,記下錯誤訊息後,再一次調整一個參數進行測試。
匯入訂閱與手動新增的目的相同,但入口和管理方式不同。若已有自己的訂閱,可前往 Home →「+」→ Type → Subscribe,填入自己的訂閱連結;更新訂閱可能會變更項目和欄位,重要的手動調整建議先記錄。訂閱網址含有存取憑證,請勿公開貼在截圖或求助內容中。
協定與 Global Routing、On Demand 有何不同?
協定決定如何連線到已設定的伺服器;Global Routing 決定如何處理請求;On Demand 則決定何時觸發連線。排查時請分別前往 Home → Global Routing、Config 和 Settings → On Demand 核對,不要混淆這三類設定。
| 設定項目 | 功能 | 核對重點 |
|---|---|---|
| Add Server → Type | 決定伺服器連線所使用的協定。 | 須與伺服器端的驗證、傳輸和安全參數相符。 |
| Global Routing → Proxy | 以代理方式處理請求。 | 排查時仍須配合實際請求與連線記錄判斷,不能只看開關狀態。 |
| Global Routing → Direct | 以直連方式處理請求。 | 網頁能開啟,不代表目前協定已成功承載該請求。 |
| Global Routing → Config | 依啟用的設定規則處理請求。 | 前往 Config 核對目前啟用的項目,以及規則命中的策略。 |
| Global Routing → Scene | 依已設定的場景條件套用路由設定。 | 檢查場景條件與實際生效的設定,不要把 Scene 當成一種協定。 |
| Settings → On Demand | 依所設定的條件觸發連線。 | 不會取代伺服器參數,也不負責逐一比對請求規則。 |
Config 中的 DOMAIN-SUFFIX、GEOIP、IP-CIDR 和 FINAL 是規則關鍵字,不是 Type 選項。例如 DOMAIN-SUFFIX,example.com,DIRECT 表示符合網域後綴時使用 DIRECT;FINAL,DIRECT 則是在前面的規則都未命中時採用的預設策略。規則會依序比對;如果發現某個網頁採用直連,應先確認命中的規則,而不是立刻更換協定。
常見問題:可以匯入、也能測速,為什麼還是無法使用?
匯入成功只表示內容可被辨識,不能證明驗證有效、UDP 可連通,或網頁請求採用了預期策略。請先保留原始設定,再依序檢查參數、網路、模式與規則,避免同時修改多處而無法比較結果。
同一個位址可以直接從 VMess 改成 VLESS 嗎?
不能只改 Type 就當作轉換完成。前往 Home → 對應項目的編輯頁,確認伺服器端是否另有提供 VLESS 的連接埠、UUID、傳輸方式與安全參數;只有伺服器端明確支援該組合時,才依新參數建立項目。
Hysteria2 測試不通,改用 443 就會好嗎?
不要以更換連接埠取代核對設定。先在項目編輯頁確認伺服器實際使用的 UDP 連接埠,再使用相同設定切換網路測試;443 只是一個連接埠號碼,填入未監聽的連接埠不會建立連線,也不會自動改變網路對 UDP 流量的處理方式。
訂閱更新後,為什麼出現不同協定?
同一份訂閱可以包含多個不同 Type 的項目。返回 Home,開啟各項目的編輯頁,分別核對類型與參數;更新只是重新取得訂閱內容,不代表應用程式將一種協定轉換成另一種。測試時請確認目前選取的是預期項目。
Connectivity Test 有結果,就代表網頁一定正常嗎?
不代表。測試結果只反映所選測試方法與目標的表現,無法涵蓋所有請求路徑。請繼續前往 Home → Global Routing 核對模式;若使用 Config,也要確認啟用的規則,並檢查 DNS 解析與實際網頁瀏覽情況。
哪種協定一定最快,可以直接選用?
沒有一種協定能脫離伺服器與網路條件而保證最快。請固定測試網路、目標網頁和大致時段,再比較可用設定的載入情況與穩定性;不要把不同地區伺服器的一次測速差異直接歸因於協定。