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 資料。應用程式能否容忍封包遺失,仍取決於自身協定。即使網頁傳輸與即時語音共用同一台伺服器,遇到的故障狀況也可能不同。
若伺服器使用 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 在部分這類環境中值得測試,但「行動網路」不代表效能一定更好。伺服器出口、目標網站、無線訊號及本地上行流量,都可能形成與協定選擇無關的瓶頸。
- 有隨機封包遺失,但 UDP 可連通:觀察持續下載時是否頻繁降速,以及互動請求能否維持回應。請同時記錄閒置與負載狀態下的延遲,避免只看峰值速度。
- 高延遲、鏈路容量大:傳送控制與封包遺失復原會影響頻寬利用率,但伺服器到目標網站之間的慢速鏈路仍可能限制測試結果。
- 低延遲、低封包遺失:未必能感受到明顯差異。設定保持簡單、正確驗證憑證,比追求特定協定名稱更重要。
- UDP 遭封鎖或持續限速:可能發生交握逾時,或短暫連線後停頓。此時應先檢查網路策略,不要反覆調高頻寬欄位。
- Wi-Fi 與行動網路切換:切換後須重新觀察連線狀態。QUIC 具備與連線遷移相關的能力,但實際連線是否能維持,仍受實作方式與網路條件影響;無法保證切換時服務不中斷。
Shadowrocket 設定步驟:使用現有 Hysteria2 參數
以下說明在 Home 手動新增伺服器的流程。請準備伺服器位址、連接埠、驗證密碼、TLS 所需的 SNI,以及伺服器明確要求的其他參數。位址與 SNI 可以不同:Address 決定連線目的地,SNI 用於 TLS 交握中的伺服器名稱指示;憑證名稱也必須符合設定要求。
-
確認來源
開啟現有伺服器設定說明,確認協定明確標示為 Hysteria2。不要把 Hysteria 與 Hysteria2 當成可以直接互換的 Type,也不要混用其他協定的驗證欄位。
-
選擇類型
在 Home → 右上角「+」→ Type 選擇 Hysteria2,再返回新增頁面。若實際介面沒有此選項,請先前往本站下載頁確認目前平台的用戶端取得方式,不要以名稱相近的選項代替。
-
填寫連線資料
依照現有參數填寫 Address、Port 與 Password。Address 只填入欄位要求的伺服器位址,Port 使用指定數值;不要將整段分享內容貼到位址欄,也不要額外加入空格。
-
確認安全設定
依照設定填寫 SNI,並保留憑證驗證。若現有參數包含混淆或頻寬設定,請先確認用戶端中對應的欄位,再逐項填寫;未要求的選填項目不要自行猜測。
-
儲存並測試
儲存後返回 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 | 檢查目標請求符合的策略,不要立即重建伺服器 |
| 下載時,其他請求明顯變慢 | 上行流量占用、排隊狀況、頻寬欄位是否設定過高 | 暫停並行傳輸,再保守地單獨調整一項頻寬參數 |
| 訂閱更新後參數改變 | 受管理項目與上游設定 | 確認更新內容,避免反覆編輯會被覆寫的欄位 |
- 重複測試:每種條件連續測試 3 次,分別記錄是否成功連線、開始回應所需時間,以及持續傳輸是否中斷。以中間的表現作為參照,不要只挑最快的一次。
- 維持負載一致:比較時暫停系統更新及其他大量流量工作。測速結果會受目標端限速影響,不能作為判斷線路容量的唯一依據。
- 區分故障層級:交握失敗、驗證失敗、規則未命中與目標網站故障是不同問題,應分別記錄,不要一概歸類為「協定太慢」。
- 保護設定資訊:向現有服務提供者回報時,可描述錯誤類型與網路條件;公開記錄中請隱藏密碼、訂閱網址及可識別伺服器的資訊。
Shadowrocket 下載與初次設定
iPhone / iPad 版請從 App Store 取得,價格為 $2.99 一次性付費;Mac(Apple 晶片 / Intel)、Windows、Android、Linux 版免費。iPhone / iPad 的系統需求請以 App Store 頁面標示為準;產品頁所列開發者為 Shadow Launch Technology Limited。請在下載頁選擇對應平台,再依照教學匯入自己已有的參數。