Files
XTLS_Xray-docs-next/docs/config/transports/hysteria.md
T
2026-01-18 18:22:54 +08:00

82 lines
2.6 KiB
Markdown

# Hysteria
Hysteria2 的底层 QUIC 传输的 Xray 实现,通常需要搭配 [hysteria2 出站](../outbounds/hysteria.md) 使用。
## HysteriaObject
`HysteriaObject` 对应传输配置的 `hysteriaSettings` 项。
```json
{
"version": 2,
"auth": "password",
"up": "0",
"down": "0",
"udphop": {
"port": "1145-1919",
"interval": 30
},
"initStreamReceiveWindow": 8388608,
"maxStreamReceiveWindow": 8388608,
"initConnectionReceiveWindow": 20971520,
"maxConnectionReceiveWindow": 20971520,
"maxIdleTimeout": 30,
"keepAlivePeriod": 0,
"disablePathMTUDiscovery": false
}
```
> `version`: number
Hysteria 版本,必须为 2。
> `auth`: string
Hysteria 认证密码,服务端和客户端需要保持一致。
> `up`: string
> `down`: string
限制的上传/下载速率。默认值为 0.
格式用户友好,支持各种常见的比特每秒写法,包括 `1000000` `100kb` `20 mb` `100 mbps` `1g` `1 tbps` 等等等,大小写不敏感,单位之间可以带或者不带空格,无单位时默认为 bps(比特每秒),不能低于 65535 bps。
协商行为和 Hysteria 原版一致:
服务端的值将限制客户端可以选择的最大 Brutal 模式速率,为 0 表示不限制客户端。
客户端为 0 则表示使用 BBR 模式,不为 0 则表示使用 Brutal 模式,会受到服务端的限制。
注意相对论,服务端的上传是客户端的下载,服务端的下载是客户端的上传。
> `udphop`: {"port": string, "interval": number}
UDP 端口跳跃配置。
port 为跳跃的端口范围,可以是一个数值类型的字符串,如 `"1234"`;或者一个数值范围,如 `"1145-1919"` 表示端口 1145 到端口 1919,这 775 个端口。可以使用逗号进行分段,如 `11,13,15-17` 表示端口 11、端口 13、端口 15 到端口 17 这 5 个端口。
interval 为端口跳跃间隔,单位为秒,至少为 5,默认 30 秒。
> `initStreamReceiveWindow`: number
> `maxStreamReceiveWindow`: number
> `initConnectionReceiveWindow`: number
> `maxConnectionReceiveWindow`: number
这四个为具体的 QUIC 窗口参数,**除非你完全明白自己在做什么,否则不建议修改这些值**。如果要改,建议保持流接收窗口与连接接收窗口的比例为 2:5
> `maxIdleTimeout`: number
最长空闲超时时间(秒)。服务器会在多长时间没有收到任何客户端数据后关闭连接,范围为 4~120 秒,默认为 30 秒。
> `keepAlivePeriod`: number
QUIC KeepAlive 间隔(秒)。范围为 2~60 秒。默认禁用。
> `disablePathMTUDiscovery`: bool
是否禁用路径 MTU 发现。