# Исходящие подключения

Исходящие подключения используются для отправки данных.  Доступные протоколы см. в разделе [Исходящие протоколы](./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.

### 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.