先確認這是 Hysteria 1.x
type: hysteria 對應 Hysteria 1.x。它以 QUIC 為基礎,但協議格式與 Hysteria2 完全不相容,用戶端和伺服器端必須使用同一代協議。
一個可建立的 Hysteria 節點至少需要名稱、類型、伺服器、連接埠以及有效的 up 和 down。認證是否為空取決於伺服器端,但啟用認證時必須提供匹配的 auth-str 或 auth。
name必填- 節點名稱,用於策略群組引用。
type: hysteria必填- 明確選擇 Hysteria 1.x 出站,不是 Hysteria2 的別名。
server / port必填- 伺服器端位址和基礎連接埠;即使使用 ports,官方設定仍要求保留 port。
up / down必填- 填寫有效且非零的上傳和下載速率,缺失或解析為 0 會導致節點建立失敗。
認證與傳輸模式
Hysteria 1.x 可以把認證寫成普通字串,也可以使用 Base64 欄位。傳輸模式控制 QUIC 資料包外層的傳送方式,必須與伺服器端能力一致。
auth-str認證- 直接填寫伺服器端認證字串,最常見也最易核對。
auth認證- 填寫 Base64 編碼後的認證位元組;與 auth-str 同時存在時,目前實作優先使用 auth。
protocol預設 udp- 可選 udp、wechat-video 或 faketcp。省略時使用 udp。
obfs可選- 填寫 Hysteria 1.x 的 XPlus 混淆字串,不是 Hysteria2 的 salamander 或 gecko 類型。
obfs-protocol相容欄位- 用於相容部分 Stash 設定;存在時會覆蓋 protocol。普通設定優先使用 protocol。
頻寬與擁塞控制
up 和 down 是 Hysteria 1.x Brutal 擁塞控制的速率輸入。未寫單位時按 Mbps 解釋,推薦顯式寫成 30 Mbps 一類格式。
這兩個值不是購買方案的標稱頻寬,也不是越大越快。填寫超過目前鏈路可達到的速率,會讓傳送端持續製造擁塞。
| 欄位 | 方向 | 填寫原則 |
|---|---|---|
up | 用戶端上傳 | 不超過目前網路穩定可達到的上傳速率 |
down | 用戶端下載 | 不超過目前網路穩定可達到的下載速率 |
| 單位 | 兩者通用 | 建議顯式使用 Mbps,省略單位也按 Mbps 處理 |
連接埠跳躍
Hysteria 1.x 可以在多個 UDP 連接埠間切換。ports 接受單個連接埠、範圍以及用逗號或斜槓分隔的組合,但基礎 port 仍不能省略。
port必填- 保留一個基礎伺服器端連接埠,即使同時設定 ports。
ports可選- 例如 1000,2000-3000,4000;伺服器端防火牆和轉發規則必須開放同一組 UDP 連接埠。
hop-interval預設 10 秒- 控制連接埠切換間隔,Hysteria 1.x 使用整數秒。
TLS 與 QUIC 參數
Hysteria 1.x 要求 TLS 1.3。除伺服器端明確要求外,不要照搬 Hysteria2 的 h3 ALPN;目前核心在未填寫 alpn 時使用 hysteria。
sniTLS- 設定憑證對應的伺服器名稱;省略時使用 server。
alpn預設 hysteria- 僅在伺服器端使用不同 ALPN 時覆蓋,不能因為協議基於 QUIC 就隨意寫 h3。
skip-cert-verify風險- 跳過憑證驗證,只用於明確需要的測試或自簽情境。
name-cert-verify / fingerprintTLS- 分別用於指定憑證名稱驗證目標和固定憑證指紋。
recv-window-conn進階- 調整單個 QUIC 流的接收視窗,通常保留預設值。
recv-window進階- 調整整個 QUIC 連線的接收視窗,盲目增大只會增加記憶體佔用。
disable-mtu-discovery進階- 停用路徑 MTU 探測,僅在確認平台或鏈路存在 MTU 問題時使用。
fast-open預設 false- 降低連線建立延遲,但會改變目的端可達性確認時機。
Hysteria 與 Hysteria2 欄位對照
兩代協議看起來都使用 UDP 和 QUIC,但認證、混淆和頻寬語義不同。遷移時應重新產生節點,不要機械改欄位名。
| 設定面 | Hysteria 1.x | Hysteria2 |
|---|---|---|
| 認證 | auth-str 或 auth | password |
| 傳輸模式 | udp、wechat-video、faketcp | QUIC over UDP,不使用 protocol |
| 頻寬 | up 與 down 必須有效 | 按方向可選,填寫後啟用 Brutal |
| 混淆 | obfs 字串 | salamander 或 gecko 加 obfs-password |
| 相容性 | 僅連線 Hysteria 1.x 伺服器端 | 僅連線 Hysteria2 伺服器端 |
基礎示例與常見誤配
下面示例依賴伺服器端提供相同認證、SNI 和頻寬約束。省略 alpn 時使用 Hysteria 1.x 預設值。
- 誤用 Hysteria2 的
password、obfs-password或 salamander 欄位。 - 省略
up或down,或把其中一個寫成 0,節點會因速率無效而建立失敗。 - 把 ALPN 寫成 h3,但伺服器端仍使用 Hysteria 1.x 預設的 hysteria。
- 啟用 ports 後刪除 port,違反目前 Hysteria 設定邊界。
proxies:
- name: hysteria-v1
type: hysteria
server: server.example.com
port: 443
auth-str: replace-with-server-auth
protocol: udp
up: "30 Mbps"
down: "200 Mbps"
sni: server.example.com
skip-cert-verify: false