mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2025-01-20 17:51:40 +03:00
afde8ebc06
总是有人不知道Mux还有走UDP的事情,为什么?因为这个第一段。
164 lines
8.7 KiB
Markdown
164 lines
8.7 KiB
Markdown
# Исходящие подключения
|
||
|
||
Исходящие подключения используются для отправки данных. Доступные протоколы см. в разделе [Исходящие протоколы](./outbounds/).
|
||
|
||
## OutboundObject
|
||
|
||
`OutboundObject` соответствует дочернему элементу поля `outbounds` в конфигурационном файле.
|
||
|
||
::: tip
|
||
Первый элемент в списке используется как основной исходящий узел.
|
||
Если совпадений с правилами маршрутизации нет или ни одно правило не сработало, трафик отправляется через основной исходящий узел.
|
||
:::
|
||
|
||
```json
|
||
{
|
||
"outbounds": [
|
||
{
|
||
"sendThrough": "0.0.0.0",
|
||
"protocol": "название протокола",
|
||
"settings": {},
|
||
"tag": "тег",
|
||
"streamSettings": {},
|
||
"proxySettings": {
|
||
"tag": "another-outbound-tag"
|
||
},
|
||
"mux": {}
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
> `sendThrough`: address
|
||
|
||
IP-адрес, используемый для отправки данных.
|
||
Этот параметр используется, если на хосте настроено несколько IP-адресов.
|
||
Значение по умолчанию - `"0.0.0.0"`.
|
||
|
||
Разрешается указывать блок IPv6 CIDR (например, `114:514:1919:810::/64`).
|
||
Xray будет использовать случайный IP-адрес из этого блока для установления исходящих соединений.
|
||
Необходимо правильно настроить сетевое подключение, таблицу маршрутизации и параметры ядра, чтобы разрешить Xray привязываться к любому IP-адресу из этого блока.
|
||
|
||
> `protocol`: string
|
||
|
||
Название протокола подключения.
|
||
Список доступных протоколов см. в разделе "Исходящие подключения" в левой части документации.
|
||
|
||
> `settings`: OutboundConfigurationObject
|
||
|
||
Конкретные настройки зависят от протокола.
|
||
См. описание `OutboundConfigurationObject` для каждого протокола.
|
||
|
||
> `tag`: string
|
||
|
||
Тег этого исходящего подключения, используемый для идентификации этого подключения в других настройках.
|
||
|
||
::: danger
|
||
Если это поле не пустое, его значение должно быть **уникальным** среди всех тегов.
|
||
:::
|
||
|
||
> `streamSettings`: [StreamSettingsObject](./transport.md#streamsettingsobject)
|
||
|
||
Тип транспорта (transport) - это способ взаимодействия текущего узла Xray с другими узлами.
|
||
|
||
> `proxySettings`: [ProxySettingsObject](#proxysettingsobject)
|
||
|
||
Настройки исходящего прокси.
|
||
Если исходящий прокси включен, параметр `streamSettings` этого исходящего подключения игнорируется.
|
||
|
||
> `mux`: [MuxObject](#muxobject)
|
||
|
||
Настройки Mux. Mux позволяет мультиплексировать несколько TCP-соединений через одно TCP-соединение. У Mux есть дополнительная функция: передача UDP-соединений как XUDP.
|
||
|
||
### ProxySettingsObject
|
||
|
||
```json
|
||
{
|
||
"tag": "another-outbound-tag"
|
||
}
|
||
```
|
||
|
||
> `tag`: string
|
||
|
||
При указании тега другого исходящего подключения данные, отправляемые этим исходящим подключением, будут перенаправлены через указанное исходящее подключение.
|
||
|
||
::: danger
|
||
Этот способ пересылки **не использует** транспортный уровень.
|
||
Если вам нужна пересылка с использованием транспортного уровня, используйте [SockOpt.dialerProxy](./transport.md#sockoptobject).
|
||
:::
|
||
|
||
::: danger
|
||
Этот параметр несовместим с SockOpt.dialerProxy.
|
||
:::
|
||
|
||
::: tip
|
||
Совместим с настройкой `transportLayer` в v2fly/v2ray-core [transportLayer](https://www.v2fly.org/config/outbounds.html#proxysettingsobject).
|
||
:::
|
||
|
||
### MuxObject
|
||
|
||
Функция Mux позволяет мультиплексировать несколько TCP-соединений по одному TCP-соединению.
|
||
Подробнее см. [Mux.Cool](../../development/protocols/muxcool).
|
||
Mux предназначен для сокращения задержек при установлении TCP-соединений, а не для увеличения пропускной способности.
|
||
Использование Mux при просмотре видео, загрузке файлов или тестировании скорости обычно приводит к обратным результатам.
|
||
Mux нужно включать только на клиенте, сервер автоматически адаптируется.
|
||
|
||
`MuxObject` соответствует полю `mux` в `OutboundObject`.
|
||
|
||
```json
|
||
{
|
||
"enabled": true,
|
||
"concurrency": 8,
|
||
"xudpConcurrency": 16,
|
||
"xudpProxyUDP443": "reject"
|
||
}
|
||
```
|
||
|
||
> `enabled`: true | false
|
||
|
||
Включить пересылку запросов через Mux.
|
||
Значение по умолчанию - `false`.
|
||
|
||
> `concurrency`: number
|
||
|
||
Максимальное количество одновременных подключений.
|
||
Минимальное значение - `1`, максимальное значение - `1024`.
|
||
Если этот параметр опущен или равен `0`, используется значение `8`.
|
||
|
||
Это значение определяет максимальное количество дочерних соединений, которые могут быть мультиплексированы по одному TCP-соединению.
|
||
Например, если `concurrency` равен `8`, то при отправке 8 TCP-запросов клиентом Xray создаст только одно фактическое TCP-соединение, и все 8 запросов клиента будут передаваться по этому соединению.
|
||
|
||
::: tip
|
||
Если указать отрицательное значение, например `-1`, трафик TCP не будет проходить через Mux.
|
||
:::
|
||
|
||
> `xudpConcurrency`: number
|
||
|
||
Использовать новый агрегированный туннель XUDP (т.е. другое Mux-соединение) для проксирования UDP-трафика.
|
||
Укажите максимальное количество одновременных дочерних UoT-подключений.
|
||
Минимальное значение - `1`, максимальное значение - `1024`.
|
||
Если этот параметр опущен или равен `0`, UDP-трафик будет использовать тот же путь, что и TCP-трафик (традиционное поведение).
|
||
|
||
::: tip
|
||
Если указать отрицательное значение, например `-1`, трафик UDP не будет проходить через Mux.
|
||
Будет использоваться исходный способ передачи UDP-трафика для данного протокола прокси.
|
||
Например, `Shadowsocks` будет использовать нативный UDP, а `VLESS` будет использовать UoT.
|
||
:::
|
||
|
||
> `xudpProxyUDP443`: string
|
||
|
||
Управление обработкой проксируемого трафика UDP/443 (QUIC) в Mux:
|
||
|
||
- По умолчанию `reject` - отклонять трафик (обычно браузеры автоматически переключаются на TCP HTTP/2).
|
||
- `allow` - разрешить трафик через Mux.
|
||
- `skip` - не использовать Mux для трафика UDP/443.
|
||
Будет использоваться исходный способ передачи UDP-трафика для данного протокола прокси.
|
||
Например, `Shadowsocks` будет использовать нативный UDP, а `VLESS` будет использовать UoT.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|