代理协议 · Clash文档

Hysteria

Clash 生态 Hysteria 1.x 出站配置参考,以当前 Mihomo 字段为准,涵盖认证、传输模式、带宽、端口跳跃与 QUIC 参数。

  • auth-str
  • 带宽
  • 端口跳跃
  • QUIC
  • obfs
代理协议

先确认这是 Hysteria 1.x

type: hysteria 对应 Hysteria 1.x。它以 QUIC 为基础,但协议格式与 Hysteria2 完全不兼容,客户端和服务端必须使用同一代协议。

一个可创建的 Hysteria 节点至少需要名称、类型、服务器、端口以及有效的 updown。认证是否为空取决于服务端,但启用认证时必须提供匹配的 auth-strauth

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。

带宽与拥塞控制

updown 是 Hysteria 1.x Brutal 拥塞控制的速率输入。未写单位时按 Mbps 解释,推荐显式写成 30 Mbps 一类格式。

这两个值不是购买套餐的标称带宽,也不是越大越快。填写超过当前链路可达到的速率,会让发送端持续制造拥塞。

Hysteria 带宽字段
字段方向填写原则
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 配置差异
配置面Hysteria 1.xHysteria2
认证auth-strauthpassword
传输模式udp、wechat-video、faketcpQUIC over UDP,不使用 protocol
带宽updown 必须有效按方向可选,填写后启用 Brutal
混淆obfs 字符串salamander 或 gecko 加 obfs-password
兼容性仅连接 Hysteria 1.x 服务端仅连接 Hysteria2 服务端

基础示例与常见误配

下面示例依赖服务端提供相同认证、SNI 和带宽约束。省略 alpn 时使用 Hysteria 1.x 默认值。

  • 误用 Hysteria2 的 passwordobfs-password 或 salamander 字段。
  • 省略 updown,或把其中一个写成 0,节点会因速率无效而创建失败。
  • 把 ALPN 写成 h3,但服务端仍使用 Hysteria 1.x 默认的 hysteria。
  • 启用 ports 后删除 port,违反当前 Hysteria 配置边界。
YAML
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