Shadowrocket Hysteria2 是什麼?QUIC 傳輸為何快速、適合哪些網路環境

說明 QUIC 與 UDP 傳輸,解析 Hysteria2 在高丟包、高延遲網路上的表現,以及在 Shadowrocket 新增設定時需核對的欄位。

本文重點

Hysteria2 是以 QUIC 為基礎的代理協定,適合已有服務設定、需要確認 UDP 網路是否可用的使用者。本文說明傳輸原理、適用條件與設定核對順序;讀完即可分辨網路封鎖、驗證失敗與規則分流問題,不必只憑一次測速結果就更換協定。

Hysteria2、QUIC 與 UDP 的關係

Shadowrocket(小火箭)可使用使用者已有的 Hysteria2 服務設定。Hysteria2 是代理協定,QUIC 是其底層傳輸基礎,UDP 則負責承載外層資料封包。三者屬於不同層級:選擇 Hysteria2 不代表只開啟通用的 UDP 轉送選項,也不代表瀏覽器的所有連線都會自動改用 HTTP/3。

UDP 本身不保證資料送達、順序或重傳;QUIC 則在其上實作連線管理、可靠資料流、丟包復原與加密。透過代理存取 TCP 服務時,外層仍可由 QUIC 承載,因此不能把「外層使用 UDP」解讀為「網頁資料遺失後不會補傳」。Hysteria2 也能承載 UDP 流量,但不同流量的處理方式不能混為一談。

UDP
Hysteria2 的外層網路傳輸需要對應的 UDP 連接埠可連通
TLS 1.3
QUIC 使用加密交握機制,仍須核對憑證與名稱
443
本文僅示範連接埠;實際 Port 必須使用既有設定提供的值

連接埠號碼無法說明傳輸方式是否相同。允許 TCP 443 的網路,不一定也允許 UDP 443;伺服器也可能使用其他連接埠。Hysteria2 與較早期的 Hysteria 設定並非可任意互換的類型,匯入後應確認 Type,不要只更換位址和密碼,卻保留舊類型。

為何可能更快:丟包復原與壅塞控制

高延遲會拉長連線往返時間與丟包復原時間。傳統 TCP 連線在連續丟包後可能縮小壅塞視窗,導致吞吐量恢復較慢;但實際表現取決於壅塞控制演算法與網路條件,不能只憑「TCP」這個名稱判斷速度。Hysteria2 以 QUIC 為基礎,提供包括 Brutal 在內的壅塞控制機制,目標之一是在可用頻寬較高且有丟包的網路上維持傳輸效率。

QUIC 的獨立資料流機制可減少不同資料流之間的傳輸層隊頭阻塞:某個資料流丟包時,不必讓其他資料流等候該資料流補齊資料。不過,同一個可靠資料流內仍須依序交付資料。這項機制也無法消除伺服器處理時間、DNS 查詢時間或實際物理延遲,因此「QUIC 比較快」不代表每次開啟網頁都能感受到差異。

網路條件可能觀察到的情況優先核對項目
延遲高,偶爾丟包持續下載可能較穩定,但首次開啟網頁仍受往返時間影響在同一網路重複測試,分別記錄首位元組時間與持續吞吐量
延遲低,丟包少協定間的差異可能不明顯,瓶頸也可能在伺服器或目標網站相同目標、相近時段與相同分流路徑
UDP 遭封鎖或嚴格限速可能持續逾時,或連線後吞吐量明顯受限目標 UDP 連接埠與目前網路政策
上行壅塞確認封包延遲;下載與互動也可能受影響暫停其他上傳工作,再比較表現

結論:先確認 UDP 可連通

先確認交握能否完成,再比較持續吞吐量;如果連線一直逾時,調高頻寬參數也無法取代對連接埠、位址與網路政策的檢查。

頻寬設定不是越高越好。使用 Brutal 的設定若填入遠高於實際可用頻寬的數值,可能增加丟包、排擠其他流量,或使互動體驗變差。請以既有服務設定說明為起點,觀察穩定表現後再調整。本文不提供固定的速度提升比例,因為沒有一致的線路、負載與測試條件可支持這類數據。

在 Shadowrocket 新增前,應核對哪些欄位

設定必須來自使用者已有的服務資訊。Hysteria2 不是通用的伺服器登入方式:某個位址即使能開啟網頁,也不代表該位址上有可用的 Hysteria2 服務。手動新增前,先確認服務類型、完整驗證資料、UDP 連接埠與 TLS 設定;優先沿用既有設定提供的欄位組合。

欄位或設定核對內容常見錯誤
Type選擇 Hysteria2,並確認與伺服器端協定一致誤選 Hysteria,以為位址相同就能連線
Address / Port伺服器網域名稱或 IP,以及實際開放的 UDP 連接埠複製位址時帶入空格,或把網頁連接埠當成代理連接埠
Password使用服務設定提供的完整驗證資料,並注意大小寫擅自拆分驗證資料,或漏掉符號
SNI / TLS交握使用的名稱與憑證要求,以既有設定為準使用 IP 連線時,漏填憑證對應的名稱
Obfuscation伺服器端要求啟用時,類型與密碼必須相符混淆密碼與驗證密碼混用
頻寬參數依照既有設定說明及實際網路能力設定把服務方案標示的數值當成目前網路可用頻寬

不同介面語言與設定形式可能影響欄位呈現,請以目前的編輯頁面為準。SNI 用於選擇 TLS 交握時使用的名稱,憑證驗證則用來確認服務身分,兩者都不能取代 Password。若以 IP 作為 Address,而憑證是簽發給網域名稱,仍須依設定填入相應名稱;不要透過關閉憑證驗證來掩蓋名稱不符的問題。

新增與驗證:先連線,再檢查分流

Shadowrocket 的 Home 用來查看及選擇連線,Config 用來管理規則設定,Settings 則用於應用程式設定。首次連線也需要確認系統的 VPN 設定授權。以下依序說明如何手動新增既有的 Hysteria2 設定;若透過既有訂閱匯入,也應開啟對應項目的編輯頁面,核對相同欄位。

  1. 核對服務資料

    備妥自己的 Address、Port、驗證資料與 TLS 說明。例如資料明確標示 UDP 443,才將 Port 填為 443;不要從其他項目推測連接埠。

  2. 選擇協定

    前往 Home → 右上角「+」→ Add Server,在 Type 中選擇 Hysteria2。手動輸入位址、連接埠與 Password,並逐項對照原始資料。

  3. 核對加密設定

    在該項目的編輯頁核對 TLS、SNI 與選填的 Obfuscation 設定。填入伺服器端要求的名稱與密碼,保留憑證驗證,然後儲存項目。

  4. 驗證連線

    返回 Home,選擇已儲存的項目,暫時將 Global Routing 設為 Proxy,開啟連線開關並確認系統授權。先以同一個目標網頁測試,再觀察較長時間的下載情況。

  5. 還原日常設定

    測試結束後,將 Global Routing 還原為 Config,並在 Config 中確認目前設定所使用的規則與策略。若自動連線造成干擾,請前往 Settings → On Demand 核對啟用狀態與觸發條件。

透過 Home →「+」→ Type → Subscribe 新增既有訂閱時,請使用自己的完整 URL 並儲存,再更新該訂閱群組。更新成功只代表訂閱內容已取得並解析,不代表其中每個伺服器都能連線。手動修改的欄位也可能在下次更新時遭到覆寫;若要長期修正,應從既有訂閱的設定來源著手。

不要將訂閱中的 token、Password 或完整設定截圖發布在公開頁面。記錄排查資訊時,只需保留錯誤類型、網路環境與時間範圍;需要核對欄位時,請先遮蔽驗證資料。連線測試結果也要分階段判讀:位址解析成功、交握成功與目標網頁可用,是不同階段。

如何搭配 Config、Proxy 與 Direct 排查

選擇 Hysteria2 項目後,實際連線仍會受到 Global Routing 影響。Config 依目前設定中的規則處理;Proxy 會讓可由代理接管的流量走所選代理路徑;Direct 則直接連線。Global Routing 也可能使用 Scene,並依已設定的情境處理流量;不能只因為已選取項目,就認定目前流量經過 Hysteria2。

Config

建議

依目前設定中的規則與策略處理連線。代理規則所引用的策略必須能選到可用的 Hysteria2 項目;規則指定 DIRECT 的流量仍會直接連線。

適用情境:驗證完成後的日常分流

Proxy

暫時統一使用代理路徑,減少規則分流對測試的干擾。仍須確認目前選取的伺服器或策略,且此方式無法避開錯誤的驗證與 TLS 設定。

適用情境:判斷問題是否來自 Config 中的規則或策略

Direct

用來觀察目前網路的直接連線狀況。此時網頁成功開啟,不能作為 Hysteria2 連線成功的證明。

適用情境:建立直接連線基準,區分目標網站與代理路徑問題

以下規則僅用來示範語法,並非完整設定。DOMAIN-SUFFIX 用來比對網域後綴,FINAL 則是在先前規則都未命中時採用的最終處理方式;PROXY 必須對應目前設定中存在且可用的策略。若該策略選擇了其他項目,測試結果就不能歸因於 Hysteria2。

DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

GEOIP 和 IP-CIDR 用來比對 IP 位址,DOMAIN-SUFFIX 則用來比對網域。排查時應一併檢查規則順序、比對結果與策略選擇,而非只確認設定中出現某個關鍵字。Proxy 模式可用、Config 模式失敗時,優先核對這些項目;若兩種模式都交握逾時,再檢查 UDP 連通性與伺服器欄位。

常見問題:逾時、測速波動與訂閱更新

相同設定在 Wi-Fi 下可用,切換行動網路後卻一直逾時?

保持相同項目與目標不變,分別測試兩種網路。先核對 Address、Port 與伺服器端的 UDP 狀態,再確認目前網路是否限制 UDP。若只有一種網路失敗,請記錄這項差異,不要同時修改密碼、SNI 與頻寬,以免無法找出原因。

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

系統 VPN 開關已開啟,不代表遠端代理交握成功。先在 Home 確認所選項目,暫時使用 Global Routing → Proxy 測試相同網頁;查看連線記錄中的交握、驗證或 DNS 錯誤,再返回項目編輯頁核對相關欄位。

測速結果很高,開啟網頁卻沒有變快?

測速通常偏重持續吞吐量,網頁載入還會受到 DNS、建立連線與目標伺服器回應時間影響。請分別記錄首次開啟與後續載入的表現,並維持目標與網路一致;不要只憑一次大型檔案下載的結果判斷整體互動體驗。

訂閱更新後,手動修改的設定又變回去了?

更新可能會重新產生項目。請返回 Home 中對應的訂閱群組,核對 Type、Port、SNI 與驗證欄位,並與既有訂閱說明比對。訂閱取得失敗與 Hysteria2 交握失敗是兩類不同問題,應分別檢查 URL 是否可連線及伺服器連線狀況。

比較不同設定時,每次只修改一個變數。記錄所用網路、Global Routing 模式、選取項目、目標位址,以及「交握逾時」、「驗證失敗」或「持續下載中斷」等具體情況。必要時先暫停其他上傳與下載,再重複測試。這類記錄比單一的延遲數值更有助於判斷網路問題。

使用範圍與 App Store 取得說明

在已有服務支援且 UDP 可連通的前提下,適合測試 Hysteria2;尤其可留意高延遲、有丟包但仍具備可用頻寬的網路。如果網路持續封鎖 UDP,應改用自己既有設定中可用的其他傳輸方式,而非反覆調高頻寬數值。協定無法消除伺服器負載、出口頻寬或目標網站的限制。

Shadowrocket 是閉源商業應用程式,僅於 Apple 平台發行,主要供 iPhone 與 iPad 使用;Mac、Apple TV、Apple Vision 的相容性及系統需求請以 App Store 頁面標示為準。唯一取得管道為 App Store,請核對開發者 Shadow Launch Technology Limited 與 App ID 932747118 後,以一次性買斷方式購買。買斷用戶端不等於購買線路方案;本文不提供、販售或推薦節點與訂閱。

App Store 正版核對購買與復原說明