本文速覽

Hysteria2 適合在 UDP 可連通、但有隨機封包遺失或延遲波動的網路中進行比較測試,不保證在所有網路環境下都更快。本文適合已有伺服器參數或訂閱的 Shadowrocket 使用者,先說明傳輸機制,再介紹在 Home 填寫資料的順序、透過 Global Routing 驗證的方法與故障排查步驟。iPhone、iPad、Mac、Windows、Android、Linux 使用者皆可參考原理;操作時請以用戶端實際顯示的欄位為準。

Hysteria2 與 QUIC:先區分傳輸層與代理協定

Hysteria2 是以 QUIC 為基礎的代理協定。QUIC 通常透過 UDP 傳輸,並使用 TLS 1.3 建立加密連線。UDP 負責傳送資料報,本身不保證資料送達或順序;QUIC 則在此之上處理連線管理、可靠資料流、遺失偵測與壅塞控制。因此,「使用 UDP」不代表「所有資料都不會重傳」,也不代表「可以突破頻寬限制」。

透過代理傳輸 TCP 連線時,Hysteria2 會以 QUIC 的可靠資料流承載資料;轉送 UDP 時則使用資料報機制,不應將可靠資料流的重傳特性套用到所有 UDP 資料。應用程式能否容忍封包遺失,仍取決於自身協定。即使網頁傳輸與即時語音共用同一台伺服器,遇到的故障狀況也可能不同。

TLS 1.3
QUIC 使用的安全協定;仍須正確驗證憑證
UDP
底層傳輸;用戶端與伺服器之間必須允許通訊
443
常見設定範例連接埠,並非 Hysteria2 的固定連接埠

若伺服器使用 UDP 443,網路只允許 TCP 443 仍無法建立連線。連接埠號碼相同,不代表傳輸協定相同。設定時必須使用現有設定指定的連接埠,不要因為「443 很常見」就覆寫原值,也不要把其他協定的位址、密碼和連接埠直接拼成 Hysteria2 設定。

為何可能更快:獨立資料流、壅塞控制與封包遺失復原

QUIC 的特色之一是多條彼此獨立的資料流。某條資料流遺失資料時,其他資料流不必只因等待該流補齊資料而全部停止傳送。這能減少資料流之間的隊頭阻塞,但無法消除同一條可靠資料流內的順序等待;多條資料流仍共用鏈路容量,通常也共用連線層級的壅塞控制。因此,不能據此推論「封包遺失不會影響速度」。

機制可能帶來的效益仍存在的限制
QUIC 獨立資料流減少不同資料流因依序交付而互相等待同一資料流遺失資料後,仍可能需要等待復原
遺失偵測與復原依據確認回饋,復原可靠資料流中遺失的資料復原需要時間及額外傳輸,無法消除實際發生的封包遺失
壅塞控制調整傳送節奏,影響隨機封包遺失時的吞吐量參數設定過於激進,可能增加排隊、封包遺失及其他應用程式的延遲
整合 TLS 交握減少傳輸層與加密層分別協商所需的成本首次連線仍須交握,無法保證完全不必等待

Hysteria2 的吞吐量表現也與壅塞控制方式有關。其 Brutal 機制會參考目標頻寬與回饋調整傳送行為,在有隨機封包遺失的鏈路上,可能比保守降速更能維持吞吐量。是否使用此機制,以及頻寬參數如何參與協商,取決於用戶端實作、伺服器策略與實際設定。不能將所有效益都歸因於 QUIC,也不能把目標頻寬視為實際可用頻寬。

若介面提供 Upload、Download 等頻寬欄位,請先沿用現有設定或服務提供者明確指定的數值,並確認欄位單位。Mbps 與 MB/s 不同;數值上 8 Mbps 約等於 1 MB/s,實際有效傳輸量還須扣除協定額外負擔。若設定值遠高於網路連線能力,可能只會讓路由器排隊時間變長,造成下載時通話延遲明顯增加。

結論:先保留原有參數,再逐一測試

首次驗證時,不要同時修改頻寬、DNS 與路由規則。先確認現有參數可以連線,再一次只調整一個項目,記錄吞吐量與互動延遲是否都有改善。

適用網路:隨機封包遺失時可能受益;UDP 受限時先確認連通性

行動網路的無線干擾、跨區域鏈路波動,以及基地台負載變化,都可能影響傳輸。Hysteria2 在部分這類環境中值得測試,但「行動網路」不代表效能一定更好。伺服器出口、目標網站、無線訊號及本地上行流量,都可能形成與協定選擇無關的瓶頸。

Shadowrocket 設定步驟:使用現有 Hysteria2 參數

以下說明在 Home 手動新增伺服器的流程。請準備伺服器位址、連接埠、驗證密碼、TLS 所需的 SNI,以及伺服器明確要求的其他參數。位址與 SNI 可以不同:Address 決定連線目的地,SNI 用於 TLS 交握中的伺服器名稱指示;憑證名稱也必須符合設定要求。

  1. 確認來源

    開啟現有伺服器設定說明,確認協定明確標示為 Hysteria2。不要把 Hysteria 與 Hysteria2 當成可以直接互換的 Type,也不要混用其他協定的驗證欄位。

  2. 選擇類型

    在 Home → 右上角「+」→ Type 選擇 Hysteria2,再返回新增頁面。若實際介面沒有此選項,請先前往本站下載頁確認目前平台的用戶端取得方式,不要以名稱相近的選項代替。

  3. 填寫連線資料

    依照現有參數填寫 Address、Port 與 Password。Address 只填入欄位要求的伺服器位址,Port 使用指定數值;不要將整段分享內容貼到位址欄,也不要額外加入空格。

  4. 確認安全設定

    依照設定填寫 SNI,並保留憑證驗證。若現有參數包含混淆或頻寬設定,請先確認用戶端中對應的欄位,再逐項填寫;未要求的選填項目不要自行猜測。

  5. 儲存並測試

    儲存後返回 Home,選取剛新增的伺服器,檢查 Global Routing 目前的模式,再啟用連線並依系統提示授權。先造訪已知可連線的目標,再進行持續傳輸測試。

若已有訂閱,可在 Home →「+」→ Type → Subscribe 匯入自己的訂閱網址;儲存後更新訂閱內容,並確認匯入項目的協定類型。更新訂閱可能會覆寫受管理項目的連接埠、驗證資訊或其他參數;若要長期保留修改,請先確認該項目是否由訂閱管理,以免誤以為暫時的本機修改會永久生效。

出現憑證錯誤時,請檢查 SNI、伺服器憑證有效期限、憑證鏈與裝置時間。關閉驗證會降低身分驗證保障,並非常規的修復方式。若驗證失敗,請優先檢查 Password 是否完整複製,以及伺服器是否仍接受該驗證資訊;不要把驗證問題歸咎於 QUIC 封包遺失。

透過 Global Routing 驗證:區分協定故障與規則未命中

伺服器參數正確,不代表每個請求都會使用該伺服器。Shadowrocket 的 Global Routing 決定路由模式;Config 使用目前設定中的規則,而 Proxy 可用來暫時縮小排查範圍。模式只影響交由用戶端處理的流量,不能用來證明裝置上的所有系統流量都經過同一路徑。

Config

建議

使用目前選取的 Config,依照規則及其順序決定 DIRECT、PROXY 或其他已定義的策略。規則決定請求路徑,Hysteria2 則決定代理連線的傳輸方式。

適用情境:已有明確規則的日常分流與長期使用

Proxy

將用戶端處理的請求以代理模式傳送,可暫時排除一般規則比對造成的干擾。測試結束後請恢復原模式;暫時測試的結果不代表原設定正確。

適用情境:確認所選伺服器能否承載目標請求

Direct

將用戶端處理的請求以直連模式傳送,不能據此測試 Hysteria2 伺服器的吞吐量。可將同一目標在目前網路下的直連結果作為參照。

適用情境:判斷目標與本地網路連線是否正常

Global Routing 中的 Scene 用於設定情境化路由,不等同於 Config、Proxy 或 Direct 中任何一種固定結果;排查時應先確認實際生效的設定。也請記錄 Settings → On Demand 的狀態,避免按需連線在測試期間重新觸發,誤以為「已關閉卻又連上」。

在 Config 中,規則通常依序檢查,由第一條符合的規則決定策略。以下僅示範 DOMAIN-SUFFIX 與 FINAL 的語法,並非可直接匯入的完整設定;example.com 是文件中的範例網域,並非本文提供的伺服器。實際設定中的策略名稱必須確實存在。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

若目標網域未符合第一條規則,就會套用 FINAL,DIRECT;此時無論連線成功或失敗,都不能直接證明 Hysteria2 的狀態。其他設定也可能使用 GEOIP 或 IP-CIDR 比對 IP;若涉及網域解析,DNS 結果也可能影響後續判斷。具體設定值請參閱設定參考,路由模式請參閱代理模式說明。

故障排查與比較記錄:每次只變更一項條件

測試前記錄網路類型、選取的伺服器、Global Routing、目標網站與測試時段。保持目標和伺服器不變,分別在 Wi-Fi 與行動網路下觀察;若要比較不同協定,只使用自己已有且伺服器條件相近的設定。不同伺服器之間的速度差異,不能直接歸因於協定。

觀察到的現象優先檢查項目下一步
連線階段持續逾時伺服器位址、UDP 連接埠、網路是否允許通訊確認 Port,並換用另一種網路連線重測
明確顯示憑證錯誤SNI、憑證名稱、有效期限、裝置時間修正對應欄位,或聯絡現有服務提供者確認伺服器憑證
驗證失敗Password、項目是否過期、訂閱是否已更新重新確認現有參數;不要以修改 DNS 取代驗證問題排查
Proxy 可用,Config 無法使用目前的 Config、規則順序、策略目標與 DNS檢查目標請求符合的策略,不要立即重建伺服器
下載時,其他請求明顯變慢上行流量占用、排隊狀況、頻寬欄位是否設定過高暫停並行傳輸,再保守地單獨調整一項頻寬參數
訂閱更新後參數改變受管理項目與上游設定確認更新內容,避免反覆編輯會被覆寫的欄位

Shadowrocket 下載與初次設定

iPhone / iPad 版請從 App Store 取得,價格為 $2.99 一次性付費;Mac(Apple 晶片 / Intel)、Windows、Android、Linux 版免費。iPhone / iPad 的系統需求請以 App Store 頁面標示為準;產品頁所列開發者為 Shadow Launch Technology Limited。請在下載頁選擇對應平台,再依照教學匯入自己已有的參數。