本文摘要

Hysteria2 使用以 UDP 為基礎的 QUIC 傳輸;在 UDP 可用的前提下,適合用來測試高延遲或有隨機封包遺失的線路。它不保證比其他協定更快,也無法避開所有 UDP 限制。本文適合已持有服務商提供的服務與訂閱的 Shadowrocket 使用者,說明傳輸原理、頻寬設定、匯入後的核對方式,以及如何區分規則問題、驗證失敗與網路限制。

Hysteria2、QUIC 與 UDP 的關係

Hysteria2 是代理協定,QUIC 是它採用的傳輸基礎,而 UDP 負責承載 QUIC 封包。三者位於不同層:應用程式的請求經代理封裝後,再透過 QUIC 連線傳送至伺服器。底層使用 UDP,不代表 Hysteria2 不處理封包遺失、只負責傳送資料。

UDP 本身不保證封包依序抵達或可靠送達;QUIC 則在 UDP 之上實作連線管理、可靠資料流、封包遺失復原與壅塞控制。原本使用 TCP 的網頁流量,也能由代理轉送至 QUIC stream;應用程式使用 UDP,與用戶端到伺服器之間的連線使用 UDP,是兩件不同的事。

UDP
Hysteria2 的 QUIC 連線透過 UDP 傳輸
TLS 1.3
QUIC 整合的安全握手機制
443
可作為伺服器 UDP 連接埠的範例,並非固定值

QUIC 與 HTTP/3 關係密切,但兩者並不相同。使用 QUIC 不代表所有代理流量都會變成一般網頁請求,也不代表網路管理設備一定會放行。即使瀏覽器能透過 TCP 443 開啟某個網站,也不能據此證明同一個位址的 UDP 443 可建立 Hysteria2 連線。

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

談到「快」,應分別看握手耗時、首次回應、持續傳輸量與互動穩定度。QUIC 整合安全握手,並支援多個彼此獨立的 stream。某個 stream 等待遺失資料時,其他 stream 不必因同一個傳輸層的有序位元組流而全部停等;不過,各 stream 仍共用連線的壅塞控制與實際線路容量,無法完全互不影響。

Hysteria2 的傳輸量表現也與壅塞控制有關。其協定體系支援以頻寬目標為基礎的 Brutal 作法,也可使用 BBR 類型的壅塞控制;實際採用哪種行為,取決於用戶端實作、頻寬參數與伺服器限制。不能只憑協定名稱推斷目前連線使用的演算法,也不應把某種實作的選用參數,當成 Shadowrocket 一定具備的設定選項。

哪些情境值得測試,哪些情況應先檢查網路

高延遲、隨機封包遺失且 UDP 可連通,是值得測試 Hysteria2 的條件,不是速度保證。家用寬頻、公共 Wi-Fi 與行動網路對 UDP 的處理方式可能不同;同一條伺服器線路在不同網路下,可能穩定傳輸、只能短暫連線,或持續逾時。

網路狀況優先判斷檢查方式
高延遲且偶有封包遺失可進行對照測試,但須確認 UDP 可用固定伺服器與測試內容,分別記錄首次回應、傳輸量與中斷次數
網頁可直接連線,Hysteria2 卻一直逾時TCP 可連通不代表 UDP 可連通確認實際使用的 UDP 連接埠,並切換 Wi-Fi 與行動網路重測
下載一開始很快,接著明顯卡頓可能是佇列累積、限速或伺服器負載所致暫停其他下載,檢查頻寬設定值,再用同一個檔案重測
低延遲、低封包遺失,且目前連線穩定更換協定未必有幫助優先比較穩定度,不要只看單次峰值速度
切換網路後連線中斷位址變更、NAT 狀態或網路策略可能影響連線重新建立連線並檢查記錄;QUIC 的連線遷移能力不代表切換時一定不會中斷

結論:先確認 UDP 可連通,再比較傳輸量

同一份設定在行動網路可用、在目前 Wi-Fi 卻持續逾時時,請先記錄網路差異並確認 UDP 是否放行;此時一再提高頻寬設定值,無法解決連線建立失敗。

在 Shadowrocket 匯入並核對 Hysteria2

訂閱與連線參數請向你的服務商取得。建議優先匯入服務商提供的現有設定,減少手動輸入錯誤。更新訂閱只是重新取得設定,不代表伺服器一定可連通;更新後也應確認目前選取的項目、協定與驗證資訊沒有變更。

  1. 匯入訂閱

    在 Home 右上角選擇「+」,進入 Add Server,將 Type 設為 Subscribe,輸入自己的訂閱網址並儲存。返回 Home,更新該訂閱,再查看產生的項目。

  2. 核對協定

    在 Home 開啟目標項目的編輯頁面,確認 Type 對應 Hysteria2,並逐項核對伺服器位址、連接埠與驗證資訊。不要將舊協定的密碼或連接埠沿用到新項目。

  3. 核對安全設定

    依照服務商提供的內容檢查 TLS、SNI 與可選的混淆參數。連線位址與憑證使用的網域可能不同,SNI 應符合伺服器要求;遇到憑證錯誤時,先確認網域、系統時間與憑證鏈。

  4. 固定測試路徑

    在 Home → Global Routing 暫時選擇 Proxy,並選取要測試的 Hysteria2 項目。這樣可減少 Config 規則讓測試請求走 DIRECT 的干擾;測試完成後,請恢復原本的使用設定。

  5. 記錄連線結果

    連線後造訪固定的測試目標,分別記錄能否建立連線、首次回應是否明顯延遲,以及傳輸是否中斷。若連線會自動重建,也請檢查 Settings → On Demand,避免將按需觸發誤判為手動操作失效。

連接埠必須與伺服器設定一致。例如伺服器明確使用 UDP 443,就應確認項目中的連接埠為 443,並確認伺服器已允許該 UDP 連接埠。若服務商提供混淆密碼,它與連線驗證密碼的用途可能不同,請勿任意互換。不要為了排除故障而長期關閉憑證驗證;應先修正不相符的參數。

區分 Global Routing 設定與協定效能

協定決定用戶端如何與伺服器傳輸資料;Global Routing 則決定請求是否走代理路徑。Home → Global Routing 中的 Proxy、Direct、Config、Scene 並非四種協定。Scene 的結果取決於現有情境設定;排查時請先確認實際採用的設定,避免測試期間路徑隨條件改變。

Config

建議

依照目前設定中的規則處理請求。目標符合 DIRECT 時,不會因為選取 Hysteria2 項目就自動改走該連線;核對規則後,適合做為日常使用設定。

適用情境:規則已核對,日常使用時需要依目標分流

Proxy

將請求交由目前的代理路徑處理,適合暫時減少 Config 規則對測試的影響。仍須確認選取的項目,以及其他可能影響流量路徑的設定。

適用情境:固定代理項目,短時間測試協定連通性

Direct

使用直連路徑,無法據此測得 Hysteria2 伺服器的傳輸量表現。這有助於比對本地網路連線,但目標本身是否可連通也會影響結果。

適用情境:確認本地網路與直連目標是否正常

在 Config 中,DOMAIN-SUFFIX 依網域後綴比對,IP-CIDR 依位址網段比對,GEOIP 依位址歸屬資料庫比對,FINAL 則處理前面規則未符合的請求。規則順序與對應策略共同決定流量路徑。若測試目標符合 DIRECT,應先修正規則判斷,而不是將直連速度歸因於 Hysteria2。

常見問題:逾時、憑證與頻寬設定

同一個項目,為什麼換了 Wi-Fi 就逾時?

先保持項目參數不變,分別透過 Wi-Fi 與行動網路重新建立連線。若只有其中一個網路失敗,請記錄發生時間、伺服器連接埠與錯誤訊息,再確認該網路是否限制 UDP。不要只以網頁能否開啟來判斷 UDP 是否可連通。

出現憑證錯誤,可以直接略過嗎?

先檢查裝置時間,再比對服務商提供的 SNI 與憑證網域;若連線位址是 IP,也不能假設憑證就應與該 IP 相符。若仍不一致,請向服務商確認設定,不要長期略過驗證來取代修復。

頻寬填得越大,下載就越快嗎?

不會。先確認輸入單位,以及上行、下行是否依用戶端方向填寫。使用服務商提供的數值,或符合實際線路能力的保守數值進行測試;每次只調整一項,並同時觀察網頁回應與持續下載狀況,不要只看瞬間峰值。

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

測試結果不一定涵蓋目標網站的完整請求。返回 Home 確認選取的項目,再檢查 Global Routing;若要排除規則影響,可暫時使用 Proxy。接著區分 DNS 解析錯誤、TLS 錯誤與連線逾時,再依錯誤類型檢查參數。

建立可重複的對照測試

比較協定時,應盡量只改變一個變因。不同伺服器、不同出口或不同時段測得的速度差異,不能直接歸因於 QUIC。即使服務商提供多種協定入口,也應先確認它們是否使用相同線路與相同頻寬限制。若不具備這些條件,測試只能說明兩條連線的整體差異。

最終選擇應以目前網路中可重複的結果為準:UDP 可連通、參數正確且傳輸穩定,才有討論傳輸量優勢的基礎。Hysteria2 可做為現有服務設定中的一種傳輸選擇;高封包遺失或高延遲只是測試理由,並不代表一定更快。