RU Add hysteria & TUN (#799)

This commit is contained in:
Nikita Korotaev
2026-01-14 10:37:47 +05:00
committed by GitHub
parent 40142a51c0
commit cc6b081adc
4 changed files with 138 additions and 0 deletions
+1
View File
@@ -943,6 +943,7 @@ export default defineConfig({
},
{ text: "VMess", link: "/ru/config/inbounds/vmess.md" },
{ text: "Wireguard", link: "/ru/config/inbounds/wireguard.md" },
{ text: "TUN", link: "/ru/config/inbounds/tun.md" },
],
},
{
+36
View File
@@ -0,0 +1,36 @@
# TUN
Создает интерфейс TUN. Трафик, направленный на этот интерфейс, будет обрабатываться Xray. В настоящее время поддерживаются только Windows, Linux, Android.
## InboundConfigurationObject
```json
{
"name": "xray0",
"MTU": 1500,
"UserLevel": 0
}
```
> `name`: string
Имя создаваемого TUN интерфейса. По умолчанию `"xray0"`.
> `MTU`: number
Значение MTU интерфейса. По умолчанию `1500`.
> `userLevel`: number
Уровень пользователя. Соединения будут использовать [локальные политики](../policy.md#levelpolicyobject), соответствующую этому уровню пользователя.
Значение userLevel соответствует значению `level` в [policy](../policy.md#policyobject). Если не указано, по умолчанию равно 0.
## Советы по использованию
В настоящее время Xray не изменяет системную таблицу маршрутизации автоматически. Необходимо вручную настроить маршрутизацию для направления трафика на созданный интерфейс TUN, иначе он останется просто интерфейсом.
Если вы хотите проксировать только один или несколько процессов, будет очень полезна маршрутизация по имени процесса в системе маршрутизации Xray.
::: warning
Остерегайтесь возможных проблем с петлями трафика (traffic loops). После настройки маршрутизации запросы, отправляемые Xray, могут быть направлены обратно в Xray, создавая петлю!
Используйте `interface` в `sockopt` для привязки к реальному физическому сетевому интерфейсу, чтобы избежать этой проблемы. Команды `ipconfig` (Windows) и `ip a` (Linux) помогут найти имя нужного вам интерфейса.
Или используйте `sendThrough` для исходящих соединений. Он доступен непосредственно в OutboundObject и не имеет такой глубокой вложенности, как `sockOpt.interface`. Здесь необходимо использовать IP-адрес сетевой карты, например 192.168.1.2 (как видите, его недостатком является отсутствие автоматической поддержки dual-stack, пожалуйста, выбирайте в соответствии с фактически используемым IP для исходящего трафика).
:::
+22
View File
@@ -0,0 +1,22 @@
# Hysteria2
Реализация клиента протокола Hysteria2.
Эта страница очень проста, так как протокол hysteria2 фактически разделен на простой протокол управления прокси и оптимизированный низкоуровневый транспорт QUIC. В Xray протокол прокси и низкоуровневый транспорт разделены, подробности см. в разделе [hysteriaSettings](../transports/hysteria.md) низкоуровневого транспорта.
## OutboundConfigurationObject
```json
{
"address": "192.168.108.1",
"port": 3128,
}
```
> `address`: string
Адрес прокси-сервера Hysteria2, обязательно.
> `port`: int
Порт прокси-сервера Hysteria2, обязательно.
+79
View File
@@ -0,0 +1,79 @@
# Hysteria
Реализация низкоуровневого транспорта QUIC для Hysteria2 в Xray. Обычно используется в сочетании с [исходящим протоколом hysteria2](../outbounds/hysteria2.md).
## HysteriaObject
`HysteriaObject` соответствует пункту `hysteriaSettings` в конфигурации транспорта.
```json
{
"version": 2,
"auth": "password",
"up": "0",
"down": "0",
"udphop": {
"port": "1145-1919",
"interval": "30s"
},
"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
Ограничение скорости загрузки/скачивания (upload/download). Значение по умолчанию 0.
Формат удобен для пользователя, поддерживает различные распространенные записи бит в секунду, включая `1000000`, `100kb`, `20 mb`, `100 mbps`, `1g`, `1 tbps` и т.д. Регистр не важен, пробелы между единицами необязательны. Без единиц измерения по умолчанию используется bps (бит в секунду), значение не может быть ниже 65535 bps.
Поведение согласования соответствует оригинальной Hysteria:
Значение на сервере ограничивает максимальную скорость режима Brutal, которую может выбрать клиент; 0 означает отсутствие ограничений для клиента.
Если на клиенте 0, используется режим BBR; если не 0, используется режим Brutal, который будет ограничен сервером.
Обратите внимание на относительность: загрузка (upload) сервера — это скачивание (download) клиента, а скачивание (download) сервера — это загрузка (upload) клиента.
> `udphop`: {"port": string, "interval": string}
Конфигурация скачков портов UDP (UDP port hopping).
`port` — это диапазон портов для скачков. Может быть строкой с числом, например `"1234"`; или числовым диапазоном, например `"1145-1919"`, что означает 775 портов от 1145 до 1919. Можно использовать запятые для разделения, например `11,13,15-17` означает 5 портов: 11, 13, и с 15 по 17.
> `initStreamReceiveWindow`: number
> `maxStreamReceiveWindow`: number
> `initConnectionReceiveWindow`: number
> `maxConnectionReceiveWindow`: number
Эти четыре параметра являются конкретными параметрами окна QUIC. **Не рекомендуется изменять эти значения, если вы не понимаете полностью, что делаете**. Если вы все же меняете их, рекомендуется сохранять соотношение окна приема потока к окну приема соединения как 2:5.
> `maxIdleTimeout`: number
Максимальное время ожидания простоя (в секундах). Через какое время сервер закроет соединение, если не получит никаких данных от клиента. Диапазон 4~120 секунд, по умолчанию 30 секунд.
> `keepAlivePeriod`: number
Интервал QUIC KeepAlive (в секундах). Диапазон 2~60 секунд. По умолчанию отключено.
> `disablePathMTUDiscovery`: bool
Отключить ли обнаружение Path MTU Discovery.