Hysteria2 是以 QUIC 為基礎的代理協定,適合已有服務設定、需要確認 UDP 網路是否可用的使用者。本文說明傳輸原理、適用條件與設定核對順序;讀完即可分辨網路封鎖、驗證失敗與規則分流問題,不必只憑一次測速結果就更換協定。
Hysteria2、QUIC 與 UDP 的關係
Shadowrocket(小火箭)可使用使用者已有的 Hysteria2 服務設定。Hysteria2 是代理協定,QUIC 是其底層傳輸基礎,UDP 則負責承載外層資料封包。三者屬於不同層級:選擇 Hysteria2 不代表只開啟通用的 UDP 轉送選項,也不代表瀏覽器的所有連線都會自動改用 HTTP/3。
UDP 本身不保證資料送達、順序或重傳;QUIC 則在其上實作連線管理、可靠資料流、丟包復原與加密。透過代理存取 TCP 服務時,外層仍可由 QUIC 承載,因此不能把「外層使用 UDP」解讀為「網頁資料遺失後不會補傳」。Hysteria2 也能承載 UDP 流量,但不同流量的處理方式不能混為一談。
連接埠號碼無法說明傳輸方式是否相同。允許 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 設定;若透過既有訂閱匯入,也應開啟對應項目的編輯頁面,核對相同欄位。
-
核對服務資料
備妥自己的 Address、Port、驗證資料與 TLS 說明。例如資料明確標示 UDP 443,才將 Port 填為 443;不要從其他項目推測連接埠。
-
選擇協定
前往 Home → 右上角「+」→ Add Server,在 Type 中選擇 Hysteria2。手動輸入位址、連接埠與 Password,並逐項對照原始資料。
-
核對加密設定
在該項目的編輯頁核對 TLS、SNI 與選填的 Obfuscation 設定。填入伺服器端要求的名稱與密碼,保留憑證驗證,然後儲存項目。
-
驗證連線
返回 Home,選擇已儲存的項目,暫時將 Global Routing 設為 Proxy,開啟連線開關並確認系統授權。先以同一個目標網頁測試,再觀察較長時間的下載情況。
-
還原日常設定
測試結束後,將 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,應改用自己既有設定中可用的其他傳輸方式,而非反覆調高頻寬數值。協定無法消除伺服器負載、出口頻寬或目標網站的限制。
- 先核對 Type、UDP 連接埠、驗證與 TLS,再討論速度。
- 暫時使用 Proxy 減少規則干擾,驗證後還原為 Config,並核對策略引用。
- 保留憑證驗證,不要把降低身分驗證要求當成一般排錯方式。
- 訂閱與服務設定由使用者自行準備;用戶端購買與線路服務分開管理。
Shadowrocket 是閉源商業應用程式,僅於 Apple 平台發行,主要供 iPhone 與 iPad 使用;Mac、Apple TV、Apple Vision 的相容性及系統需求請以 App Store 頁面標示為準。唯一取得管道為 App Store,請核對開發者 Shadow Launch Technology Limited 與 App ID 932747118 後,以一次性買斷方式購買。買斷用戶端不等於購買線路方案;本文不提供、販售或推薦節點與訂閱。