docs: refine and expand the guide on using the Remnawave panel, including detailed instructions on host creation, user management, and subscription retrieval
BIN
blog/learn/17.jpeg
Normal file
|
After Width: | Height: | Size: 304 KiB |
BIN
blog/learn/18.jpeg
Normal file
|
After Width: | Height: | Size: 292 KiB |
BIN
blog/learn/19.jpeg
Normal file
|
After Width: | Height: | Size: 291 KiB |
BIN
blog/learn/20.jpeg
Normal file
|
After Width: | Height: | Size: 337 KiB |
BIN
blog/learn/21.jpeg
Normal file
|
After Width: | Height: | Size: 340 KiB |
BIN
blog/learn/22.jpeg
Normal file
|
After Width: | Height: | Size: 433 KiB |
BIN
blog/learn/23.jpeg
Normal file
|
After Width: | Height: | Size: 314 KiB |
BIN
blog/learn/24.jpeg
Normal file
|
After Width: | Height: | Size: 369 KiB |
BIN
blog/learn/25.jpeg
Normal file
|
After Width: | Height: | Size: 404 KiB |
BIN
blog/learn/26.jpeg
Normal file
|
After Width: | Height: | Size: 406 KiB |
BIN
blog/learn/27.jpeg
Normal file
|
After Width: | Height: | Size: 464 KiB |
BIN
blog/learn/28.jpeg
Normal file
|
After Width: | Height: | Size: 289 KiB |
BIN
blog/learn/29.jpeg
Normal file
|
After Width: | Height: | Size: 348 KiB |
BIN
blog/learn/30.jpeg
Normal file
|
After Width: | Height: | Size: 548 KiB |
BIN
blog/learn/31.jpeg
Normal file
|
After Width: | Height: | Size: 352 KiB |
@@ -5,7 +5,7 @@ tags: [learn]
|
||||
date: 2025-07-17
|
||||
---
|
||||
|
||||
В этой небольшой статьи мы во всех подробностях и деталях расскажем о функциях панели, которые помогут вам быстро разобраться с ее работой.
|
||||
В этой небольшой статье мы во всех подробностях и деталях расскажем о функциях панели, которые помогут вам быстро разобраться с ее работой.
|
||||
Мы буквально пройдемся от первого входа в админ-панель до импорта подписки в клиентские приложения.
|
||||
|
||||
<!-- truncate -->
|
||||
@@ -208,4 +208,157 @@ Remnawave (как панель) – не содержит в себе Xray-яд
|
||||
|
||||
`Хост` – эта такая сущность, которая "направит" пользователя на ноду из ваших нод.
|
||||
|
||||
// to be continued...
|
||||
На руках у пользователя в большинстве случаев будет _ссылка_, в простонародье это называется подписка (или subscrtipion url) или просто _ссылка_.
|
||||
|
||||
Subscriotion URL – это ссылка, при открытии которой пользователь получит список _хостов_, которые ему доступны.
|
||||
А вот куда уже будут направлены хосты – это как раз то, чем мы сейчас и займемся.
|
||||
|
||||
И закрепим материал:
|
||||
|
||||
- у конечного пользователя на руках будет _ссылка_
|
||||
- при добавлении в клиентское приложение, пользователь получит список _хостов_, которые ему доступны
|
||||
- пользователь выбирает для подключения один из _хостов_ и подключается к ноде
|
||||
|
||||
## Хосты {#hosts}
|
||||
|
||||
<img src={require('./17.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
После перехода в раздел `Хосты` (`Hosts`) выберите опцию `Создать хост` (`Create host`).
|
||||
|
||||
Перед вами открылось модальное окно.
|
||||
|
||||
- `Видимость хоста` (`Host visibility`) – этот пункт отвечает за то, будет ли хост виден пользователям.
|
||||
- Например, мы можем создать хост, но отключить ему видимость – в таком случае в подписке пользователя не будет отображаться этот хост.
|
||||
- `Примечание` (`Remark`) – это "название" хоста, которое будет видно пользователю в клиентском приложении.
|
||||
|
||||
<img src={require('./18.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
Но прежде чем вы _направим_ хост на одну из наших нод, необходимо выбрать к какому **инбаунду** будет принадлежать этот **хост**.
|
||||
|
||||
Дело в том, что **хост** (как сущность) **строго привязан к одному конкретному инбаунд**, так как хост наследует все настройки инбаунда, а "Расширенные настройки" в карточке хоста позволяют _перезаписать_ некоторые из них.
|
||||
|
||||
Нажимаем на кнопку выбора **инбаундов** и перед нами открывается уже знакомое окно с Сonfig Profiles. Однако, в этот раз вы можете выбрать один единственный **инбаунд** из любого созданного вами профиля.
|
||||
|
||||
Выберем `Shadowsocks` и сохраним изменения.
|
||||
|
||||
<img src={require('./19.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
Внимательный читатель мог заметить, что после выбора **инбаунда** – поле **порт** автоматически заполнилось. Хорошее замечение!
|
||||
Как уже упоминалось выше, хост наследует все параметры инбаунды, следовательно и порт тоже.
|
||||
|
||||
> Примечание: в большинстве случаев порт в хосте будет совпадать с портом инбаунда, но это не всегда так. В некоторых конфигурациях Xray порты инбаунда и хоста могут отличаться.
|
||||
|
||||
Остается единственные поле, которые мы еще не обсудили – это `адрес`. C ним немного интересная история, сейчас расскажу.
|
||||
|
||||
В адрес хоста вы можете вписать и IP-адрес, и домен. Но! Адрес или домен обязательно должны быть **направлены** на ноду, к которой вы хотите подключиться.
|
||||
|
||||
Базовый пример: чуть ранее мы добавили ноду с IP-адресом `1.2.3.4`, затем мы создали A-запись в DNS-сервере, которая будет указывать на этот IP-адрес.
|
||||
Пусть будет: `node.domain.com > 1.2.3.4`.
|
||||
Это означает, что в поле адрес мы можем вписать `node.domain.com`.
|
||||
|
||||
> Примечание: но почему просто всегда не указывать просто IP-адрес? Дело в том, что IP-адрес вашей ноды может изменится, но при этом сам хост останется тем же. И чтобы конечный пользователь получил новый IP-адрес, ему необходимо будет обновить подписку. А процедуры "автообновления" подписки в клиентских приложениях могут работать далеко не всегда.
|
||||
> С другой стороны, если вы используете домен, то чтобы у этого хоста обновить IP-адрес, вам необходимо будет обновить DNS-запись. Никаких дополнительных действий со стороны пользователя не потребуется.
|
||||
|
||||
---
|
||||
|
||||
<img src={require('./20.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
И глянем одним глазком на расширенные опции, которые доступны в карточке хоста. Многие из них предоставляет возможность перезаписать некоторые параметры инбаунда из конфигурации Xray. Например, SNI позволяет перезаписать аналогичный параметр в конфигурации инбаунда – serverNames. В случае отсутствия этого параметра в хосте, Remnawave будет использовать параметр из конфигурации инбаунда.
|
||||
|
||||
---
|
||||
|
||||
<img src={require('./21.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
После создания хоста, он появится в общем списке хостов. При нажатии на него, откроется окно редактирования.
|
||||
|
||||
## Интерсекция {#remark-three}
|
||||
|
||||
Итак, мы создали хост, который будет направлять пользователя на одну из наших нод.
|
||||
Теперь нам необходимо создать пользователя, который будет использовать этот хост.
|
||||
|
||||
Но перед этим, давайте рассмотрим, что же такое `внутренний сквад`.
|
||||
|
||||
Чуть ранее мы уже обсуждали `Config Profiles`, которые представляют из себя полноценные конфигурации ядра Xray и в карточке ноды мы могли выбрать активный профиль и активировать инбаунды.
|
||||
|
||||
Если попробовать представить, что `Config Profile` – это "шаблон" для ноды, то `внутренний сквад` – это "шаблон" для пользователя. Но не совсем шаблон. Скорее `группа`.
|
||||
|
||||
**Один пользователь может быть привязан сразу к нескольким внутренним сквадам.**
|
||||
|
||||
<img src={require('./23.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
В карточке редактирования внутреннего сквада мы можем включать/выключать инбаунды, которые будут доступны пользователям, которые состоят в этом скваде.
|
||||
|
||||
В нашем случае, у нас уже есть один внутренний сквад, который содержит один инбаунд – `Shadowsocks`.
|
||||
|
||||
Значит, если мы создадим пользователя и привяжем его к этому скваду, то он будет иметь доступ только к `Shadowsocks`.
|
||||
|
||||
:::tip Совет
|
||||
Мы уже подробно рассказывали про устройство профилей конфигураций и внутренних сквадов в [этой статье](/blog/misc/new-profiles-and-squads/explaining-new-profile-and-squads-system). Статья доступна на русском языке.
|
||||
:::
|
||||
|
||||
## Пользователи {#users}
|
||||
|
||||
Итак, после такой длительной подготовки – мы наконец-то можем создать пользователя.
|
||||
|
||||
Перейдем во вкладку `Пользователи` (`Users`) и выберем опцию `Создать пользователя` (`Create user`).
|
||||
|
||||
<img src={require('./22.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
Для начала нам необходимо выбрать имя пользователя, оно может быть любым, но не должно содержать пробелов.
|
||||
|
||||
В разделе `Traffic & Limits` мы можем установить лимиты для пользователя.
|
||||
|
||||
- `Лимит трафика` (`Data limit`) – лимит трафика в ГБ.
|
||||
- `Стратегия сброса трафика` (`Traffic reset strategy`) – стратегия сброса трафика. Она определяет как часто панель будет сбрасывать лимит трафика для этого пользователя.
|
||||
|
||||
В качествет обучающего примера, мы установим лимит в 1ГБ и стратегию сброса по трафику – `Сбрасывать ежедневно`.
|
||||
|
||||
В разделе `Access Settings` мы будем управлять сроком действия подписки, а так же определим какие в каких `внутренних сквадах` будет состоять пользователь.
|
||||
|
||||
Выберем срок действия подписки в 1 месяц и активируем один единственный доступный `внутренний сквад`.
|
||||
|
||||
<img src={require('./24.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
Сохраним изменения и после этого наш первый пользователь будет успешно создан.
|
||||
|
||||
<img src={require('./25.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
После создания пользователя мы вернемся в таблицу пользователей. Прошу уделить внимание (зона выделена на скриншоте выше) на функции которые доступны в этой таблице. Вы можете гибко управлять колонками, которые будут видны, включить режим полного экрана и включить поиск по некоторым полям. Поверьте, доступные функции вам очень пригодятся в будущем.
|
||||
|
||||
### Получение подписки {#get-subscription}
|
||||
|
||||
<img src={require('./26.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
После создания пользователя, мы можем получить его подписку.
|
||||
|
||||
Для этого нажмите на кнопку указанную на скриншоте.
|
||||
|
||||
Альтернативный способ – нажать на иконку карандаша и открыть карточку пользователя.
|
||||
|
||||
<img src={require('./27.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
Давайте откроем ее в браузере.
|
||||
|
||||
<img src={require('./28.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
Как мы видим, все работает корректно.
|
||||
|
||||
## Интерсекция {#remark-four}
|
||||
|
||||
Итак, мы создали пользователя, получили его подписку.
|
||||
|
||||
Давайте для теста попробуем использовать эту подписку в клиентском приложении.
|
||||
|
||||
Для примера возьмем приложение – [Clash Verge Rev](https://github.com/clash-verge-rev/clash-verge-rev).
|
||||
|
||||
После импорта подписки, мы может подключиться к нашей ноде и проверить, что все работает корректно.
|
||||
|
||||
<img src={require('./29.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
Как и было обещано выше, теперь мы можем посмотреть как обновилась статистика на домашней странице панели и в карточке ноды.
|
||||
|
||||
<img src={require('./30.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
<img src={require('./31.jpeg').default} width="100%" style={{borderRadius: '8px'}} alt="Hosts" />
|
||||
|
||||
---
|
||||
|
||||