docs: update Remnawave version requirement and enhance injectHosts section in xray-json-advanced.md

This commit is contained in:
kastov
2026-02-25 03:00:10 +03:00
parent b288e1098b
commit 1ce4068029
2 changed files with 42 additions and 16 deletions

View File

@@ -14,7 +14,7 @@ title: Xray JSON Advanced
:::
:::warning Внимание
Требуется Remnawave версии 2.6.2 или новее.
Требуется Remnawave версии 2.6.3 или новее.
:::
## Условия работы
@@ -45,11 +45,17 @@ title: Xray JSON Advanced
Каждый элемент массива `injectHosts`:
| Поле | Описание |
| ------------ | ---------------------------------------------------------------------------------------------------------- |
| `selector` | Объект, определяющий какие хосты будут выбраны. |
| `selectFrom` | Из какого пула выбирать хосты: `"HIDDEN"` (по умолчанию), `"NOT_HIDDEN"` или `"ALL"`. Необязательное поле. |
| `tagPrefix` | Префикс тега для создаваемых outbound'ов в этой группе. |
| Поле | Описание |
| -------------------- | -------------------------------------------------------------------------------------------------------- |
| `selector` | Объект, определяющий какие хосты будут выбраны. **Обязательное поле.** |
| `selectFrom` | Из какого пула выбирать хосты: `"HIDDEN"` (по умолчанию), `"NOT_HIDDEN"` или `"ALL"`. |
| `tagPrefix` | Префикс тега для создаваемых outbound'ов. См. [правила формирования тегов](#правила-формирования-тегов). |
| `useHostRemarkAsTag` | Если `true` — тегом outbound'а будет **примечание** (remark) хоста. |
| `useHostTagAsTag` | Если `true` — тегом outbound'а будет **тег хоста** (если тег не задан, используется remark). |
:::warning
Необходимо указать **ровно одно** из трёх полей: `tagPrefix`, `useHostRemarkAsTag` или `useHostTagAsTag`.
:::
Групп может быть сколько угодно — каждая формирует свой независимый набор outbound'ов с собственным префиксом. Это позволяет, например, завести отдельный балансировщик для каждой группы серверов.
@@ -113,18 +119,37 @@ title: Xray JSON Advanced
### Правила формирования тегов
В каждой группе теги формируются независимо:
Тег outbound'а определяется тем, какое из трёх полей указано в группе инжекта:
- Первый хост из массива получает тег, равный `tagPrefix` (например, `proxy`).
- Каждый последующий хост получает тег `{tagPrefix}-{N}`, начиная с 2.
**`tagPrefix`** — первый хост получает тег, равный `tagPrefix`. Каждый последующий — `{tagPrefix}-{N}`, начиная с 2.
Пример для группы из трёх выбранных хостов с `tagPrefix: "proxy"`:
Пример для трёх хостов с `tagPrefix: "proxy"`:
| Порядок в hostUuids | Тег outbound'а |
| ------------------- | -------------- |
| 1-й | `proxy` |
| 2-й | `proxy-2` |
| 3-й | `proxy-3` |
| Порядок | Тег outbound'а |
| ------- | -------------- |
| 1-й | `proxy` |
| 2-й | `proxy-2` |
| 3-й | `proxy-3` |
**`useHostRemarkAsTag`** — каждый outbound получает тег, равный **примечанию** (remark) хоста.
```json
{
"selector": { "type": "tagRegex", "pattern": "^ru-" },
"useHostRemarkAsTag": true
}
```
Если хосты имеют примечания «Москва», «Питер», «Казань» — outbound'ы получат теги `Москва`, `Питер`, `Казань`.
**`useHostTagAsTag`** — каждый outbound получает тег, равный **тегу хоста**. Если тег хоста не задан, используется его примечание.
```json
{
"selector": { "type": "tagRegex", "pattern": "^ru-" },
"useHostTagAsTag": true
}
```
## Префиксное сопоставление в Xray
@@ -422,5 +447,5 @@ title: Xray JSON Advanced
- **Все участвующие хосты** должны быть доступны конечному пользователю — инбаунд, к которому они привязаны, должен быть включён в сквад пользователя.
- **Объект `remnawave` удаляется** из итогового конфига — клиент его не увидит.
- **Outbound'ы добавляются в начало** массива `outbounds`. Статические outbound'ы из шаблона (`direct`, `block`) остаются после них.
- **Порядок хостов** определяет порядок outbound'ов и присваиваемые им теги. Для селектора `uuids` — порядок UUID в массиве `values`.
- **Порядок хостов** определяет порядок outbound'ов и присваиваемые им теги. Для селектора `uuids` — порядок UUID в массиве `values`. Вместо `tagPrefix` можно использовать `useHostRemarkAsTag` или `useHostTagAsTag`, чтобы теги формировались из свойств хостов.
- **Выбор шаблона и скрытие хоста** находятся в разделе **Расширенные** в карточке хоста.