> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axottle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Связь с Remnawave

> Что раздел читает в настройках подписки Remnawave, что вправе включить сам и что придётся сделать руками.

Содержимое подписки страница берёт напрямую из Remnawave, поэтому от её настроек зависит, что клиент увидит по ссылке: страницу с кнопками, сырой конфиг или JSON. Карточка **Связь с Remnawave** на экране развёрнутой страницы показывает это одним экраном.

<Info>Для кого: администратор панели. Требуемые права: `subscription_page.view` для чтения, `subscription_page.deploy` для включения настройки. Лицензия: ключ `core.subscription_page`.</Info>

## Кто владеет настройкой

Читать — свободно, писать — только по явной команде и только там, где у настройки нет другого владельца. Причина конкретная: те же настройки подписки трогает применение схем подключения. Раздел, который «на всякий случай» приводил бы их к своему представлению о правильном, молча отменял бы чужое решение — а следующее применение схемы отменяло бы его обратно, и так по кругу, пока кто-нибудь не заметит, что балансировка сломалась.

Поэтому настройку с другим владельцем раздел показывает и объясняет, но не переписывает. В карточке она помечена как **задаётся схемами подключения**, и кнопки исправления у неё нет.

## Что проверяется

| Настройка Remnawave                      | Что означает                                                                    | Что делает раздел                                                                                                       |
| ---------------------------------------- | ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `isProfileWebpageUrlEnabled` — выключена | Клиент получит по ссылке сырой конфиг, а не страницу с кнопками                 | Предупреждение с кнопкой **Включить**: это единственное, что раздел меняет сам                                          |
| `isProfileWebpageUrlEnabled` — включена  | Remnawave отдаёт клиентам адрес страницы подписок                               | Отмечает, что всё в порядке                                                                                             |
| `isProfileWebpageUrlEnabled` — нет в API | Версия Remnawave перенесла настройку в заголовки ответа и включила по умолчанию | Отмечает, что панели тут делать нечего                                                                                  |
| `serveJsonAtBaseSubscription` — включена | Клиент, открывший базовую ссылку в браузере, увидит JSON, а не страницу         | Предупреждение. Если настройку требуют применённые схемы — называет их и не выключает: без неё не работает балансировка |

Проверка ничего не меняет: её запускает открытие карточки и кнопка обновления. Включение — отдельное действие оператора.

<Note>
  Если панель не смогла выяснить, нужна ли `serveJsonAtBaseSubscription` применённым схемам, она ведёт себя так, будто владелец есть, и настройку не трогает. Не сумев узнать, чьё это, безопаснее не трогать вовсе.
</Note>

## Что раздел вправе включить сам

Одну настройку — `isProfileWebpageUrlEnabled`. Это буквально «отдавать клиенту адрес страницы»: у неё нет второго владельца в панели, и её включение ничего чужого не ломает.

Кнопка **Включить** собирает запрос из свежего чтения настроек, а не из показанного вам снимка: между двумя чтениями настройку мог поменять кто угодно ещё, и запись по старому снимку вернула бы заодно те значения, которые с тех пор изменились. Действие попадает в историю операций страницы и в аудит панели.

## Ручной шаг: домен страницы в Remnawave

Одно действие панель выполнить не может и говорит об этом прямо: домен страницы задаётся переменной окружения самой Remnawave.

| Что          | Значение                                                  |
| ------------ | --------------------------------------------------------- |
| Переменная   | `SUB_PUBLIC_DOMAIN`                                       |
| Значение     | Домен вашей страницы подписок, например `sub.вашдомен.ru` |
| Где          | Файл `.env` панели Remnawave                              |
| После правки | Перезапуск Remnawave                                      |

Панель туда не ходит намеренно: это чужой процесс на чужом сервере, и правка его окружения из веб-интерфейса была бы способом уронить панель клиента одной опечаткой в поле ввода. Точное значение раздел показывает готовым к копированию.

<Warning>
  Пока переменная не выставлена, Remnawave продолжает выдавать клиентам ссылки на прежний адрес. Страница при этом работает и отвечает — по ней просто никто не приходит, и по внешним признакам это выглядит как «поставили, а толку нет».
</Warning>

## Какое подключение показывает страница

Страница привязана к одному подключению Remnawave.

* Подключение одно — берётся оно.
* Подключений несколько — нужно выбрать. Угадывать нельзя: страница показала бы подписки не той панели, и заметили бы это клиенты, а не оператор.
* Привязанное подключение удалили — раздел скажет, что его больше нет, и попросит выбрать другое.
* Подключений нет вовсе — страницу не из чего наполнять; сначала [подключите Remnawave](/ru/remnawave/connections).

## Состояния связи

| Состояние    | Что значит                                                                                                                              |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| Настроена    | Настройки Remnawave соответствуют тому, что нужно странице                                                                              |
| Расходятся   | Есть предупреждение: клиент увидит не то, что вы ожидаете. Это не обязательно поломка — настройку мог выставить другой раздел осознанно |
| Ошибка       | Не удалось прочитать список подключений или настройки подписки: смотрите состояние подключения Remnawave                                |
| Не проверяли | Связь ещё не читали — откройте карточку или нажмите обновление                                                                          |

Состояние обновляется при проверке связи и после установки страницы: сверка с Remnawave — последняя стадия установки, и её результат виден сразу, а не через сутки от клиентов.

## Проверка

<Check>
  Карточка **Связь с Remnawave** без предупреждений, `SUB_PUBLIC_DOMAIN` в Remnawave равен домену страницы, Remnawave перезапущена. Ссылка подписки, открытая в браузере, показывает страницу с кнопками и QR — не текст конфига и не JSON.
</Check>

## Откат

* Включённую разделом настройку `isProfileWebpageUrlEnabled` можно выключить обратно в интерфейсе Remnawave: раздел на этом не настаивает и повторно её не включает.
* `SUB_PUBLIC_DOMAIN` возвращается прежним значением в `.env` и перезапуском Remnawave. Клиенты снова начнут получать ссылки на старый адрес.

Связанные страницы: [Страница подписок: обзор](/ru/subscription-page/overview), [Установка страницы подписок](/ru/subscription-page/installation), [Подключение Remnawave](/ru/remnawave/connections), [Синхронизация](/ru/remnawave/synchronization).
