diff --git a/docs/learn/xray-json-advanced.md b/docs/learn/xray-json-advanced.md index ba06906..a1f460e 100644 --- a/docs/learn/xray-json-advanced.md +++ b/docs/learn/xray-json-advanced.md @@ -28,10 +28,10 @@ title: Xray JSON – Advanced Объект `remnawave` добавляется на корневой уровень JSON-шаблона. Он поддерживает следующие поля: -| Поле | Описание | -| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `injectHosts` | Массив групп инжекта. Каждая группа содержит **селектор** для выбора хостов и параметры формирования тегов. | -| `addHostOutbound` | Если `true` — виртуальный хост будет добавлен как outbound с тегом `proxy` в начало массива `outbounds`. По умолчанию `false`. См. [addHostOutbound](#addhostoutbound). | +| Поле | Описание | +| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `injectHosts` | Массив групп инжекта. Каждая группа содержит **селектор** для выбора хостов и параметры формирования тегов. | +| `addVirtualHostAsOutbound` | Если `true` — виртуальный хост будет добавлен как outbound с тегом `proxy` в начало массива `outbounds`. По умолчанию `false`. См. [addVirtualHostAsOutbound](#addVirtualHostAsOutbound). | Поле `injectHosts` — это **массив** групп инжекта. Каждая группа содержит **селектор** для выбора хостов и собственный `tagPrefix`: @@ -176,16 +176,16 @@ title: Xray JSON – Advanced Первый выбранный хост всегда получает тег без суффикса `-{N}` (просто `proxy`). Это позволяет использовать его как `fallbackTag` в балансировщике: если все outbound'ы из `selector` окажутся недоступны, трафик уйдёт на первый хост. Для этого задайте `"selector": ["proxy-"]` (только `proxy-2`, `proxy-3`, ...) и `"fallbackTag": "proxy"`. ::: -## addHostOutbound +## addVirtualHostAsOutbound По умолчанию при использовании `remnawave`-директивы в итоговый конфиг попадают **только** инжектированные хосты. Сам виртуальный хост (recipient) используется только как источник `remarks` и `serverDescription`. -Если вам нужно, чтобы виртуальный хост также стал outbound'ом с тегом `proxy`, добавьте поле `addHostOutbound: true` на уровне объекта `remnawave`: +Если вам нужно, чтобы виртуальный хост также стал outbound'ом с тегом `proxy`, добавьте поле `addVirtualHostAsOutbound: true` на уровне объекта `remnawave`: ```json "remnawave": { //highlight-next-line-green - "addHostOutbound": true, + "addVirtualHostAsOutbound": true, "injectHosts": [ { "selector": { "type": "uuids", "values": ["uuid-хоста-1", "uuid-хоста-2"] }, @@ -208,7 +208,7 @@ title: Xray JSON – Advanced Это полезно, когда в routing-правилах используется `"outboundTag": "proxy"` для направления трафика через основной хост, а инжектированные хосты обслуживают отдельные группы трафика (например, через балансировщики). :::tip -`addHostOutbound` можно использовать совместно с `injectHosts` или без них. Если `injectHosts` не указан или пуст, в конфиг будет добавлен только outbound виртуального хоста. +`addVirtualHostAsOutbound` можно использовать совместно с `injectHosts` или без них. Если `injectHosts` не указан или пуст, в конфиг будет добавлен только outbound виртуального хоста. ::: ## Пошаговый пример: балансировщик с тремя хостами @@ -488,6 +488,6 @@ title: Xray JSON – Advanced - **Инжектируемые хосты должны быть включены.** По умолчанию выбираются только скрытые хосты (`selectFrom: "HIDDEN"`). Это поведение можно изменить на `"NOT_HIDDEN"` или `"ALL"`. Если хост выключен или не найден по селектору — он будет пропущен. - **Все участвующие хосты** должны быть доступны конечному пользователю — инбаунд, к которому они привязаны, должен быть включён в сквад пользователя. - **Объект `remnawave` удаляется** из итогового конфига — клиент его не увидит. -- **Outbound'ы добавляются в начало** массива `outbounds`. Если включён `addHostOutbound`, outbound виртуального хоста с тегом `proxy` идёт первым, затем — инжектированные, затем — статические outbound'ы из шаблона (`direct`, `block`). +- **Outbound'ы добавляются в начало** массива `outbounds`. Если включён `addVirtualHostAsOutbound`, outbound виртуального хоста с тегом `proxy` идёт первым, затем — инжектированные, затем — статические outbound'ы из шаблона (`direct`, `block`). - **Порядок хостов** определяет порядок outbound'ов и присваиваемые им теги. Для селектора `uuids` — порядок UUID в массиве `values`. Вместо `tagPrefix` можно использовать `useHostRemarkAsTag` или `useHostTagAsTag`, чтобы теги формировались из свойств хостов. - **Выбор шаблона и скрытие хоста** находятся в разделе **Расширенные** в карточке хоста.