Администрирование

Веб-админка

Полный обзор панели: где что настраивать, зачем нужен каждый раздел и с чего начать после установки.

💡
Детальные инструкции по оплатам — Методы оплат, Remnawave — Remnawave, HWID — HWID, Subpage на сервере — SUBPAGE.

Вход и роли

Адрес панели: https://ваш-домен.ru/{admin_secret_path}/. Путь задаётся в Настройки → Основные → ⚙️ Системныеadmin_secret_path.

⚠️
Смена пути — строго по инструкции: Полезное → Смена секретного пути. Иначе потеряете доступ.

Администратор vs модератор

  • Администратор — настройки, панели (3X-UI / Remnawave), аналитика, бэкап, push, обновления.
  • Модератор — только разделы из moderator_sections: обычно клиенты, платежи, тарифы, инструменты (без /settings/, /analytics, Remnawave).

PWA и мобильный интерфейс

Админку можно установить как приложение (PWA) на iPhone и Android — откройте панель в браузере и добавьте на главный экран:

  • iPhone (Safari) — «Поделиться» → «На экран „Домой“».
  • Android (Chrome) — меню ⋮ → «Установить приложение» / «Добавить на главный экран» (формулировка зависит от версии Chrome).

На телефоне внизу — быстрые вкладки Главная / Клиенты / Платежи. Интерфейс учитывает safe-area (вырез, индикатор жестов). Push-уведомления — Настройки → Push (нужны HTTPS и разрешение уведомлений в браузере).

Карта бокового меню

Все пункты — в левом сайдбаре (на телефоне — гамбургер + нижняя панель для трёх главных разделов).

Рекомендуемый порядок первой настройки

  • 1Основныеbot_token, домены connect_page_url / sub_page_url, subscription_provider.
  • 2Методы оплаты — ключи шлюзов и переключатели show_payment_*. См. документацию.
  • 3Панели — серверы 3X-UI или Remnawave → Настройки.
  • 4Тарифы → Продление — линейка и активный набор тарифов.
  • 5Subpage — ссылки приложений, тема, HWID (если нужен).
  • 6Тексты / Стиль кнопок — тексты бота и подписи кнопок меню.

Главная

Оперативная сводка без углубления в карточки клиентов.

  • Карточки клиентов — всего в базе, регистрации за сутки, активные подписки, заблокированные, «без пробного» (пустой UUID), онлайн на панелях (агрегат по 3X-UI).
  • Статистика сервера — CPU/RAM/диск хоста, где крутится админка (SSE в реальном времени).
  • Аналитика пользователей — регистрации и источники за период (сегодня / 7 / 30 дней, UTC).
  • Серверы 3X-UI — краткий статус подключённых панелей с главной (переход в Панели → 3X-UI).

Финансовая аналитика и графики выручки — в отдельном разделе Аналитика.

Клиенты

Основной раздел поддержки. Поиск: Telegram ID, @username, email, UUID. Длинная цифровая строка (20+ цифр) не ломает страницу — обрабатывается как текст.

Список

  • Фильтры: активная подписка, истекающие, заблокированные, теги.
  • Ссылка на Заблокированные — отдельный список.
  • Создать пользователя — ручной ID (до 19 цифр для SQLite), выдача подписки без Telegram.

Карточка клиента

Платежи

Журнал всех попыток оплаты: pending, succeeded, canceled. Фильтр по методу, периоду, пользователю.

  • succeeded — учитываются в аналитике «Выручка».
  • Отменённые по таймауту — см. логику бота (ожидание оплаты).
  • Ручное подтверждение — если шлюз не прислал webhook (редкие кейсы).

Настройка шлюзов — Методы оплат, не в этом разделе.

Аналитика

Только для администратора. Период: 7 / 30 / 90 / 365 дней или всё время.

  • Выручка — сумма платежей status = succeeded.
  • ARPU, конверсия, средний чек — по платящим за период.
  • Лимит устройств — распределение limit_ip только у клиентов с активной подпиской (окончание > сейчас, UTC).
  • Графики: регистрации, оплаты, методы оплаты, трафик Remnawave.

Сотрудничество

Рефералы

Статистика программы «приведи друга». Параметры в Основные → 👥 Реферальная система: ref_bonus_on_join_days, ref_bonus_on_payment_days, переключатели показа кнопок.

Тексты сообщений — Настройки → Тексты → 👥 Реферальная программа.

Партнёры

Список партнёров с балансом, рефералами и оплатами. KPI на странице (оптимизированные SQL-агрегаты).

  • Карточка партнёра — начисления, выплаты, индивидуальный partner_percent_rub.
  • Экспорт CSV — выгрузка для бухгалтерии.
  • Глобально: partner_percent_rub, partner_min_withdraw_rub, show_partner_program_button в Основных.

Продвижение

Материалы и ссылки для партнёров (баннеры, тексты, UTM). Отдельные промо-кампании от реферальной механики.

Тарифы

Продление

Тарифы подписки в боте и на сайте. Рекомендуется линейка тарифов — именованный набор, один активный набор в момент времени.

Подробнее: Методы оплат → Тарифы.

Докупить GB

Тарифы докупки трафика (только Remnawave). Нужен traffic_renewal_enabled в Панели → Remnawave → Настройки.

Лимит устройств

Платный апгрейд limit_ip без сброса срока: клиент платит за оставшиеся дни. Настройка цен за слот, минимальный чек, вкл/выкл функции.

Формула в боте: пропорция оставшихся дней × цена слота; «Подписка далее» — из минимального месячного тарифа с включённым методом оплаты.

Настройки

Все подразделы сохраняют данные в таблицу settings (или отдельные таблицы для subpage/backup). После сохранения бот подхватывает изменения через перезагрузку конфига.

Основные

Вкладки на одной странице. Кнопка «Сохранить все настройки» внизу формы.

💡
Поля remnawave_* (кроме subscription_provider) перенесены в Панели → Remnawave → Настройки — не ищите их в Основных.

Тексты

Все пользовательские сообщения бота по категориям:

  • 👋 Приветствие и подписка
  • 💳 Оплата и продление
  • 🎟️ Промокоды
  • 👥 Реферальная программа
  • 💬 Поддержка
  • 📘 О сервисе и инструкции
  • 🤖 Защита от ботов

Поддерживаются плейсхолдеры ({username}, срок подписки и т.д.) — смотрите подсказки в форме.

Стиль кнопок

Подписи inline-кнопок главного меню и разделов (не путать с URL из «Ссылки»). Можно сбросить к значениям по умолчанию.

Subpage

Subpage — раздел веб-админки для управления страницей подписки клиентов через xuiweb. Раньше большая часть этих параметров лежала только в .env subpage, теперь админка сохраняет JSON-настройки в таблицу settings, а subpage может подтянуть их через endpoint /api/settings/info при старте.

  • Основная информация — название проекта, тема, support/website URL, интервал автообновления, текст анонса, разрешение копирования ключей, заглушки «истекла», «заблокирован», «лимит устройств».
  • HWID-лимит — отдельный тумблер hwid_limit_enabled. Он хранится отдельно и читается xuiweb при каждом запросе подписки, поэтому влияет на проверку устройств без пересборки общего конфига.
  • Ссылки приложений — отдельные ссылки Happ и INCY для iOS, Android, APK, Windows, macOS и Linux. Это именно ссылки, которые клиент видит на странице подписки.
  • HTTP-заголовки — динамическая таблица заголовков RESP_HEADER_*: например Profile-Title, Announce и другие данные для клиентских приложений.
💡
Чтобы subpage брал настройки из веб-админки, в окружении subpage должен быть включён флаг API_CUSTOM_SETTINGS=true. Если API недоступен или поле пустое — остаётся fallback из .env.

После изменения custom-настроек обычно нужен рестарт subpage, чтобы он заново подтянул JSON-конфиг. Заглушки блокировки и HWID-проверка работают через xuiweb и могут применяться без полного переноса настроек в .env. Подробнее: SUBPAGE, HWID.

Доп возможности

  • Ссылки приложений в кабинете на сайтеapp_link_* для личного кабинета (WEBSITE), не для subpage.
  • Доп. ссылки в подпискеsub_extra_links_active: vless/vmess/trojan в тело подписки активным клиентам.
  • VLESS backup — резервные ключи в подписке (если включено).

HWID-лимит на subpage — в разделе Subpage, не здесь.

Push-уведомления

Web Push для PWA админки: подписка администратора на уведомления (новые платежи, события). Требует HTTPS и разрешения браузера.

Бэкап

Авто- и ручной бэкап ZIP: vpn_bot.db, .env. При S3 — также devices.db; Telegram при включённом S3 не используется.

Панели

3X-UI

Управление серверами панели 3X-UI.

  • Добавить сервер — URL панели, логин, пароль, inbound, приоритет, лимит клиентов, теги.
  • Синхронизация — массовая проверка клиентов на панели.
  • Live-статус — CPU, RAM, онлайн, версия Xray.
  • Вкладки — все / офлайн / архив (серверы вне ротации новых клиентов).
  • Архив — «В архив», восстановление, проверка доступности без синка, удаление.

Шаблон ключа и inbound — документация 3X-UI. Шаблоны инбаундов — Инструменты → Шаблоны инбаундов.

Remnawave

Два подпункта: Дашборд (статистика панели, ноды, пользователи) и Настройки.

subscription_provider — по-прежнему в Основные. Полная инструкция: Remnawave.

Xray JSON

Шаблон JSON-конфига для выдачи клиентам (3X-UI / совместимый режим). Плейсхолдеры подставляются при генерации подписки.

Инструменты

Промокоды

Создание кодов на дни / скидку — через раздел промокодов (доступ из меню или настроек, в зависимости от версии). Тексты — в Тексты → Промокоды.

Бэкап и S3 (подробно)

💡
S3 включён → бэкап только в bucket (не в Telegram). В архив добавляется devices.db (HWID). Нужен pip install boto3 на сервере бота.
  • 1Заполните S3: endpoint, region, bucket, access key, secret (пустой secret при сохранении = не менять).
  • 2Включите «Отправка в S3» и интервал авто-бэкапа.
  • 3«Сделать бэкап сейчас» — проверка вручную. last_backup обновится при успехе Telegram или S3.

Восстановление — Переезд проекта.