mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-10-03 12:28:15 +03:00
Transport: Refine Hysteria & quicParams
This commit is contained in:
@@ -1236,8 +1236,18 @@ FinalMask 在核心处理完包括 TLS/REALITY 在内的传输层加密后,对
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
用于 XHTTP H3 以及 hysteria 的 QUIC 配置调整。其中 XHTTP
|
||||||
|
|
||||||
> `congestion`: reno | bbr | brutal | force-brutal
|
> `congestion`: reno | bbr | brutal | force-brutal
|
||||||
|
|
||||||
|
拥塞控制算法,Hysteria 默认为 `brutal`,XHTTP H3 默认使用 `bbr`。
|
||||||
|
|
||||||
|
`reno`/`bbr`: 知名算法。
|
||||||
|
|
||||||
|
`brutal`: 与对端协商固定发包速率或降级到 BBR,只支持 Hysteria 传输(因为 XHTTP 无协商机制)。
|
||||||
|
|
||||||
|
`force-brutal`: 同 `brutal`,但强制使上行使用 `brutalUp` 固定发包速率,无视对端协商。
|
||||||
|
|
||||||
> `debug`: false | true
|
> `debug`: false | true
|
||||||
|
|
||||||
启用 bbr/brutal congestion control 日志。
|
启用 bbr/brutal congestion control 日志。
|
||||||
@@ -1250,7 +1260,7 @@ FinalMask 在核心处理完包括 TLS/REALITY 在内的传输层加密后,对
|
|||||||
|
|
||||||
格式用户友好,支持各种常见的比特每秒写法,包括 `1000000` `100kb` `20 mb` `100 mbps` `1g` `1 tbps` 等等等,大小写不敏感,单位之间可以带或者不带空格,无单位时默认为 bps(比特每秒),不能低于 65535 bps。
|
格式用户友好,支持各种常见的比特每秒写法,包括 `1000000` `100kb` `20 mb` `100 mbps` `1g` `1 tbps` 等等等,大小写不敏感,单位之间可以带或者不带空格,无单位时默认为 bps(比特每秒),不能低于 65535 bps。
|
||||||
|
|
||||||
协商行为和 Hysteria 原版一致:
|
协商行为和 Hysteria brutal 一致:
|
||||||
|
|
||||||
服务端的值将限制客户端可以选择的最大 Brutal 模式速率,为 0 表示不限制客户端。
|
服务端的值将限制客户端可以选择的最大 Brutal 模式速率,为 0 表示不限制客户端。
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
# Hysteria
|
# Hysteria
|
||||||
|
|
||||||
::: tip
|
Hysteria2 的底层 QUIC 传输的 Xray 实现,通常搭配 hysteria[出站](../outbounds/hysteria.md) 和 hysteria[入站](../inbounds/hysteria.md) 使用,此时兼容其官方实现。
|
||||||
搭配 `hysteria protocol` 时默认启用 `quic native udp`
|
|
||||||
|
|
||||||
搭配 `hysteria inbound` 时 `auth` 将会被 `clients` 覆盖 (如果存在)
|
|
||||||
|
|
||||||
搭配其他 `protocol` 能否代理 `udp` 取决于该 `protocol` 是否具有 `uot` 能力
|
|
||||||
|
|
||||||
启用 `finalmask.udp` 后将会破坏 `masquerade` 的页面伪装
|
|
||||||
:::
|
|
||||||
|
|
||||||
## HysteriaObject
|
## HysteriaObject
|
||||||
|
|
||||||
@@ -45,6 +37,8 @@ Hysteria 版本,必须为 2。
|
|||||||
|
|
||||||
Hysteria 认证密码,服务端和客户端需要保持一致。
|
Hysteria 认证密码,服务端和客户端需要保持一致。
|
||||||
|
|
||||||
|
搭配 `hysteria inbound` 时将会被 `clients` 覆盖 (如果存在)
|
||||||
|
|
||||||
> `udpIdleTimeout`: number
|
> `udpIdleTimeout`: number
|
||||||
|
|
||||||
单位秒,默认 60。
|
单位秒,默认 60。
|
||||||
|
|||||||
@@ -1219,8 +1219,18 @@ Same as the TCP version.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Used for QUIC configuration tuning of XHTTP H3 and Hysteria.
|
||||||
|
|
||||||
> `congestion`: reno | bbr | brutal | force-brutal
|
> `congestion`: reno | bbr | brutal | force-brutal
|
||||||
|
|
||||||
|
Congestion control algorithm. Hysteria defaults to `brutal`, XHTTP H3 defaults to `bbr`.
|
||||||
|
|
||||||
|
`reno`/`bbr`: Well-known algorithms.
|
||||||
|
|
||||||
|
`brutal`: Negotiates a fixed packet sending rate with the peer or falls back to BBR. Only supported with Hysteria transport (since XHTTP has no negotiation mechanism).
|
||||||
|
|
||||||
|
`force-brutal`: Same as `brutal`, but forces upstream to use the `brutalUp` fixed packet sending rate, ignoring peer negotiation.
|
||||||
|
|
||||||
> `debug`: false | true
|
> `debug`: false | true
|
||||||
|
|
||||||
Enable bbr/brutal congestion control logging.
|
Enable bbr/brutal congestion control logging.
|
||||||
@@ -1233,7 +1243,7 @@ Upload/Download rate limits. Default is 0.
|
|||||||
|
|
||||||
The format is user-friendly and supports various common bit-per-second notations, including `1000000`, `100kb`, `20 mb`, `100 mbps`, `1g`, `1 tbps`, etc. It is case-insensitive, and spaces between the number and unit are optional. If no unit is specified, it defaults to bps (bits per second). It cannot be lower than 65535 bps.
|
The format is user-friendly and supports various common bit-per-second notations, including `1000000`, `100kb`, `20 mb`, `100 mbps`, `1g`, `1 tbps`, etc. It is case-insensitive, and spaces between the number and unit are optional. If no unit is specified, it defaults to bps (bits per second). It cannot be lower than 65535 bps.
|
||||||
|
|
||||||
The negotiation behavior is consistent with the original Hysteria:
|
The negotiation behavior is consistent with Hysteria brutal:
|
||||||
|
|
||||||
The server's value limits the maximum Brutal mode rate that the client can choose. 0 means no limit on the client.
|
The server's value limits the maximum Brutal mode rate that the client can choose. 0 means no limit on the client.
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
# Hysteria
|
# Hysteria
|
||||||
|
|
||||||
::: tip
|
Xray implementation of the underlying QUIC transport for Hysteria2, typically used with hysteria [outbound](../outbounds/hysteria.md) and hysteria [inbound](../inbounds/hysteria.md), and is compatible with the official implementation in this case.
|
||||||
When used with the `hysteria protocol`, `quic native udp` is enabled by default.
|
|
||||||
|
|
||||||
When used with `hysteria inbound`, `auth` will be overridden by `clients` (if it exists).
|
|
||||||
|
|
||||||
Whether other `protocols` can proxy `udp` depends on whether that `protocol` has `uot` capabilities.
|
|
||||||
|
|
||||||
Enabling `finalmask.udp` will break the `masquerade` page masquerading.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## HysteriaObject
|
## HysteriaObject
|
||||||
|
|
||||||
@@ -45,6 +37,8 @@ Hysteria version, must be 2.
|
|||||||
|
|
||||||
Hysteria authentication password. Must be consistent between the server and the client.
|
Hysteria authentication password. Must be consistent between the server and the client.
|
||||||
|
|
||||||
|
When used with `hysteria inbound`, it will be overridden by `clients` (if it exists).
|
||||||
|
|
||||||
> `udpIdleTimeout`: number
|
> `udpIdleTimeout`: number
|
||||||
|
|
||||||
Unit: seconds, default 60.
|
Unit: seconds, default 60.
|
||||||
|
|||||||
@@ -1250,8 +1250,18 @@ FinalMask применяет последний слой маскировки к
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Используется для настройки параметров QUIC для XHTTP H3 и Hysteria.
|
||||||
|
|
||||||
> `congestion`: reno | bbr | brutal | force-brutal
|
> `congestion`: reno | bbr | brutal | force-brutal
|
||||||
|
|
||||||
|
Алгоритм управления перегрузкой. Hysteria по умолчанию использует `brutal`, XHTTP H3 по умолчанию использует `bbr`.
|
||||||
|
|
||||||
|
`reno`/`bbr`: Известные алгоритмы.
|
||||||
|
|
||||||
|
`brutal`: Согласовывает фиксированную скорость отправки пакетов с другой стороной или переключается на BBR. Поддерживается только в транспорте Hysteria (поскольку XHTTP не имеет механизма согласования).
|
||||||
|
|
||||||
|
`force-brutal`: Аналогично `brutal`, но принудительно использует фиксированную скорость отправки `brutalUp` для исходящего трафика, игнорируя согласование с другой стороной.
|
||||||
|
|
||||||
> `debug`: false | true
|
> `debug`: false | true
|
||||||
|
|
||||||
Включить логирование в режиме bbr/brutal congestal control.
|
Включить логирование в режиме bbr/brutal congestal control.
|
||||||
@@ -1264,7 +1274,7 @@ FinalMask применяет последний слой маскировки к
|
|||||||
|
|
||||||
Формат удобен для пользователя, поддерживает различные распространенные записи бит в секунду, включая `1000000`, `100kb`, `20 mb`, `100 mbps`, `1g`, `1 tbps` и т.д. Регистр не важен, пробелы между единицами необязательны. Без единиц измерения по умолчанию используется bps (бит в секунду), значение не может быть ниже 65535 bps.
|
Формат удобен для пользователя, поддерживает различные распространенные записи бит в секунду, включая `1000000`, `100kb`, `20 mb`, `100 mbps`, `1g`, `1 tbps` и т.д. Регистр не важен, пробелы между единицами необязательны. Без единиц измерения по умолчанию используется bps (бит в секунду), значение не может быть ниже 65535 bps.
|
||||||
|
|
||||||
Поведение согласования соответствует оригинальной Hysteria:
|
Поведение согласования соответствует Hysteria brutal:
|
||||||
|
|
||||||
Значение на сервере ограничивает максимальную скорость режима Brutal, которую может выбрать клиент; 0 означает отсутствие ограничений для клиента.
|
Значение на сервере ограничивает максимальную скорость режима Brutal, которую может выбрать клиент; 0 означает отсутствие ограничений для клиента.
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
# Hysteria
|
# Hysteria
|
||||||
|
|
||||||
::: tip
|
Реализация Xray базового QUIC-транспорта для Hysteria2, обычно используется с hysteria [исходящим](../outbounds/hysteria.md) и hysteria [входящим](../inbounds/hysteria.md), и в этом случае совместима с официальной реализацией.
|
||||||
При использовании с протоколом `hysteria`, `quic native udp` включен по умолчанию.
|
|
||||||
|
|
||||||
При использовании с `hysteria inbound`, `auth` будет переопределен `clients` (если он существует).
|
|
||||||
|
|
||||||
Возможность использования других `протоколов` в качестве прокси для `udp` зависит от наличия у этого `протокола` возможностей `uot`.
|
|
||||||
|
|
||||||
Включение `finalmask.udp` нарушит работу маскировки страниц `masquerade`.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## HysteriaObject
|
## HysteriaObject
|
||||||
|
|
||||||
@@ -45,6 +37,8 @@
|
|||||||
|
|
||||||
Пароль аутентификации Hysteria, должен совпадать на сервере и клиенте.
|
Пароль аутентификации Hysteria, должен совпадать на сервере и клиенте.
|
||||||
|
|
||||||
|
При использовании с `hysteria inbound` будет переопределён `clients` (если он существует).
|
||||||
|
|
||||||
> `udpIdleTimeout`: number
|
> `udpIdleTimeout`: number
|
||||||
|
|
||||||
Единица измерения: секунды, по умолчанию 60.
|
Единица измерения: секунды, по умолчанию 60.
|
||||||
|
|||||||
Reference in New Issue
Block a user