docs/configuration/outbound/hysteria2.zh.md
!!! quote "sing-box 1.14.0 中的更改"
:material-plus: [hop_interval_max](#hop_interval_max)
:material-plus: [bbr_profile](#bbr_profile)
:material-plus: [disable_chrome_parrot](#disable_chrome_parrot)
:material-plus: [realm](#realm)
:material-alert: [obfs](#obfstype)
!!! quote "sing-box 1.11.0 中的更改"
:material-plus: [server_ports](#server_ports)
:material-plus: [hop_interval](#hop_interval)
{
"type": "hysteria2",
"tag": "hy2-out",
"server": "127.0.0.1",
"server_port": 1080,
"server_ports": [
"2080:3000"
],
"hop_interval": "",
"hop_interval_max": "",
"up_mbps": 100,
"down_mbps": 100,
"obfs": {
"type": "salamander",
"password": "cry_me_a_r1ver"
},
"password": "goofy_ahh_password",
"network": "tcp",
"tls": {},
... // QUIC 字段
"bbr_profile": "",
"brutal_debug": false,
"disable_chrome_parrot": false,
"realm": {
"server_url": "https://realm.example.com",
"token": "",
"realm_id": "",
"stun_servers": [],
"ip_version": 0,
"port_mapping": {
"enabled": false,
"timeout": "",
"lifetime": ""
},
"http_client": {}
},
... // 拨号字段
}
!!! note ""
当内容只有一项时,可以忽略 JSON 数组 [] 标签
!!! warning "与官方 Hysteria2 的区别"
官方程序支持一种名为 **userpass** 的验证方式,
本质上是将用户名与密码的组合 `<username>:<password>` 作为实际上的密码,而 sing-box 不提供此别名。
要将 sing-box 与官方程序一起使用, 您需要填写该组合作为实际密码。
==必填==
服务器地址。
与 realm 冲突。
==必填==
服务器端口。
如果设置了 server_ports,则忽略此项。
与 realm 冲突。
!!! question "自 sing-box 1.11.0 起"
服务器端口范围列表。
与 server_port 和 realm 冲突。
!!! question "自 sing-box 1.11.0 起"
端口跳跃间隔。
默认使用 30s。
!!! question "自 sing-box 1.14.0 起"
最大端口跳跃间隔,用于随机化。
如果设置,实际跳跃间隔将在 hop_interval 和 hop_interval_max 之间随机选择。
最大带宽。
如果为空,将使用 BBR 拥塞控制算法而不是 Hysteria CC。
QUIC 流量混淆器类型,可选 salamander gecko。
如果为空则禁用。
QUIC 流量混淆器密码。
!!! question "自 sing-box 1.14.0 起"
最小线上数据包大小(字节)。仅限 Gecko。
默认使用 512。
!!! question "自 sing-box 1.14.0 起"
最大线上数据包大小(字节)。仅限 Gecko。
默认使用 1200。
认证密码。
启用的网络协议。
tcp 或 udp。
默认所有。
==必填==
TLS 配置, 参阅 TLS。
参阅 QUIC 字段 了解详情。
!!! question "自 sing-box 1.14.0 起"
BBR 拥塞控制算法配置,可选 conservative standard aggressive。
默认使用 standard。
启用 Hysteria Brutal CC 的调试信息日志记录。
!!! question "自 sing-box 1.14.0 起"
禁用 Chrome QUIC 指纹模仿。
如果没有禁用,客户端的 QUIC 握手将被构造为模仿 Chrome,使 Hysteria 流量更难通过握手指纹识别。
为了与 Chrome 一致,客户端使用 Chrome 自己的 QUIC 参数,其覆盖部分设置:
idle_timeout 固定为 30 秒,max_concurrent_streams 与 initial_packet_size 被替换为 Chrome 的值,
接收窗口从 Chrome 的初始值开始,再增长到配置的最大值。
!!! warning ""
Chrome 不声明支持 Ed25519,因此使用 Ed25519 证书的服务端将无法完成握手。
请改用 ECDSA 或 RSA 证书;由 ACME 签发的证书不受影响。
!!! question "自 sing-box 1.14.0 起"
通过 Hysteria Realm 会合服务连接 Hysteria2 服务器。
出站从 realm 查询服务器当前的公网地址,执行 UDP 打洞,然后进行常规的 QUIC 握手。
与 server、server_port 和 server_ports 冲突。
TLS SNI 默认使用 server_url 中的主机名。需设置 tls.server_name 以匹配 Hysteria2 服务器证书覆盖的名字。
会合服务参阅 Hysteria Realm。
==必填==
Realm 会合服务 URL。
Realm 的 Bearer 令牌,需与 realm 上配置的 users[].token 之一匹配。
==必填==
目标 Hysteria2 服务器注册时使用的相同槽位标识符。
==必填==
用于发现本客户端公网地址的 STUN 服务器列表(host 或 host:port)。
域名通过 拨号字段 中的 domain_resolver 解析。
将 realm 连接(STUN、打洞与最终的 QUIC 路径)限制为单一 IP 版本。
4 或 6。默认使用两者。
通过 UPnP 或 NAT-PMP 在本地网关上维护 UDP 端口映射。
映射在 STUN 发现之前建立,可在支持的网关后提升打洞成功率;失败不影响正常流程。
需要 IPv4:与 "ip_version": 6 冲突。
启用端口映射。
网关发现与映射操作的超时。
默认使用 10s。
映射的租约时长;每过一半时长续期一次。
默认使用 10m。
与 realm 通信使用的 HTTP 客户端。
参阅 HTTP 客户端 了解详情。
参阅 拨号字段。