RM-Only 1.0 — 1.6

Список изменений

Что появилось в каждой версии. Актуальный релиз развёрнут, предыдущие — свёрнуты. Можно открыть несколько сразу.

RM-Only 1.6 Объединение клиентов, Wata2, ROUTADMIN, бекап и переезд

Главные нововведения

  • Клиенты: кнопка «Объединение» (удобнее на десктопе). Модалка на три колонки: в 1 и 2 вводишь ID — грузятся карточки, на третьей сразу итог. Ручной выбор данных; платежи, приглашения, промокоды, партнёрский баланс (сумма) и дата регистрации (наименьшая) всегда наследуют общее
  • Отдельный Telegram-бот для уведомлений и бекапа — Настройки → Основные → Системные настройки
  • Бекап панели Remnawave из веб-админки (если Remnawave на том же сервере, стандартные пути: /opt/remnawave и т.п.)
  • Форк скрипта distillium под RM-Only 1.5+: бэкап панели Remnawave + RM-Only и быстрый переезд — скрипт бекапа
  • Полная кастомизация всех кнопок в боте
  • Обновлённый дизайн личного кабинета (бэкенд без изменений — опционально)
  • Wata2 как второй терминал: те же тарифы и вебхук, свои ключи и кнопка вызова платежа
  • ROUTADMIN — служебный контур маршрутизации Remnawave (профиль / сквад / клиент)
  • Редактор config-профилей: доработки и исправления ошибок
  • Установка нод для новичков (SSH): новый транспорт VLESS WS TLS Cloudflare

Триал и тексты бота

  • text_trial_success заменён на text_trial_subscription
  • После активации триала — одно сообщение с клавиатурой главного меню (text_trial_subscription). text_welcome_message и блок подписки в этот момент не шлются
  • disable_web_page_preview=True по всем текстам бота
  • Сообщение помощи с кнопкой «Назад в главное меню»
  • Рефералка: кнопка «Копировать»; {max_per_day} и {remaining_invites} = бесконечно

Рефералка и партнёрка

  • Дневной лимит приглашений снят. По рефералке и партнёрке связь ставится без лимита

Трафик и тарифы

  • В тексты докупки GB добавлена переменная {description} — поле «Описание» тарифа докупки
  • Явное отображение докупки GB в оплате на сайте
  • В режиме No Limit под индикатором остатка трафика: ограничение только на ограниченные серверы, есть и безлимитные

Клиенты и Remnawave

  • Активные IP в модалке клиента
  • Смена статуса клиента в Remnawave
  • Добавление и удаление сквадов клиента
  • Remnawave → Настройки: сквады из списка панели по названию, без ручного ввода UUID
  • Устройства в модалке: иконки ОС, лучше отображение, время «5 мин назад» / часы / дни
  • Обзор: улучшены виджеты в модалке клиента
  • Сброс подписки: проверка пользователя по UserID, не по UUID
  • Кнопка «Уменьшить лимит» снова доступна при истёкшей подписке
  • Фильтр «Доп триал получен»

IP Control

  • Не учитываются IP нод, хостов и outbounds в профилях; если домен — извлекается IP
  • Домены/IP правил маршрутизации не учитываются, только outbounds[].settings.address
  • Одна запись в журнал; повторное уведомление спустя 12 ч больше не приходит

Новости, задачи, аналитика

  • news_tasks: после перезагрузки веб-админки задача не падает; прогресс, остановить / прекратить, очистка журнала
  • Отправка новостей: кнопки «Докупить GB» и «Промокод»; видеоинструкция убрана
  • В тексте рассылки переменная {uuid} — UUID подписки клиента
  • Аналитика: выбор периода (7 / 30 / 90 дней, год, всё время и свой диапазон «Период»)
  • Аналитика: карточки «Период» и «Сейчас» разделены — снимок не зависит от диапазона

Админка и документация

API

  • Расширен список доступных API-эндпоинтов

И другие изменения и исправления

RM-Only 1.5.2 HWID-абуз, скидка возвращения, редактор профилей, умная балансировка

Главные нововведения

  • Админка: hover по IPv4 — карточка IP (ipwho.is), «Это ваш IP» если адрес ноды/хоста
  • Редактор профилей Remnawave: Hysteria (ALPN h3), Trojan REALITY, Fallbacks, Proxy Protocol, sniffing галочками, генерация VLESS Encryption / ML-DSA-65, дефолтный routing DIRECT/BLOCK, + WARP Cloudflare
  • HWID Control — абуз триала: один HWID, много неоплаченных аккаунтов → HWID_BLOCKED, после платежа ключи снова отдаются
  • Скидка на возвращение — Настройки → Основные, text_return_discount, блок в Аналитике
  • Умная балансировка: теги хоста ONLINE:N (фильтр по usersOnline) и AUTO:FALSE
  • Лимит устройств: докупка/уменьшение в Bot и Website, кнопка продления если мин. дни не подходят, лог кто менял, фолбэк если продажа лимита выключена
  • Удаление устройства в кабинете и боте — только после успешной оплаты подписки (как докупка GB)
  • Subpage: пустая ссылка в админке — приложение не показывается (без дефолта из .env)

Трафик и тарифы

  • Кнопка докупки трафика в сообщении об окончании
  • text_remnawave_traffic_trial: вебхук смотрит, была ли успешная оплата подписки; без оплаты — этот текст, без докупки ГБ
  • No Limit+ без оплаты подписки не трогает squad / сброс / безлимит
  • traffic_gb = 0 при продлении в Remnawave → безлимит и сброс использованного
  • Выключенный метод оплаты больше не создаёт платёж; тариф is_active=0 — «Тариф больше недоступен»
  • Баг линейки тарифов: в JSON уходила старая цена, в превью — новая

Remnawave и админка

  • Клиенты: hover по лимиту устройств — User-Agent / HWID / модель / ОС (пакет до 15 с страницы)
  • Дашборд нод: фильтр по провайдерам (favicon + имя), 4 плитки (очередь/RAM/сеть/инфо), смена провайдера и даты продления без перезагрузки, IP:порт и страна в одну строку
  • SSH-установка ноды: поле версии, по умолчанию latest
  • Триал UUID внутреннего сквада при регистрации (remnawave_trial_internal_squad_uuid)
  • На карточке ноды вместо CPU — Очередь (loadAvg за 1 мин)
  • В «Продлить подписку» кнопка «Расширить лимит устройств», если device_upgrade_enabled
  • На экране уменьшения лимита та же «Подписка далее», что и при увеличении
  • Отчёты — Лог лимита устройств
  • Вкладка Сотрудничество: индексы + агрегаты сумм/бонусов отдельно (не виснет на 10k+)
  • YooKassa: поле yookassa_proxy_url для исходящих запросов
  • После привязки Email клиент в Telegram получает {site_url}/auth/magic/{magic_token}
  • registration_type = site больше не получает уведомления об истечении подписки
  • Удаление клиента (и массовые операции) чистит все записи устройств
  • Передача/Удаление HWID в Remnawave (устройства не удаляются при массовой очистке устройств) — Настройки → Основные → Системные настройки, по умолчанию выкл.
  • Удалён admin.py: /admin в боте больше не отвечает
  • tg-emoji в списке разрешённых Telegram HTML-тегов

Установка

  • install_bot.sh больше не ставит SUBPAGE
  • backup.sh исключает /media
  • SUBPAGE install.sh: при уже установленной — без подтверждений, не перезаписывает subpage.service

И другие изменения и исправления

RM-Only 1.4 HWID Control, локальный GEOIP, автопомощь клиенту

Главные нововведения

  • HWID Control
  • Локальное GEOIP (ip66.mmdb)
  • Помощь клиенту задача автопомощи

HWID Control

  • Ручная проверка по HWID
  • Фоновая задача (заранее настройте допустимые значения для нарушителей)

IP Control (Remnawave)

  • Вместо 2ip — локальная база IP
  • Дополнительное условие по ASN

Клиенты

  • В колонке «Лимит» — отображение занятых слотов устройств

Отчёты

  • Поиск по HWID

Помощь клиенту

  • Вместо готовых ссылок — переход на страницу подключения
  • Возможность добавить видео или GIF
  • Задача автопомощи клиентам, которые не подключились

Subpage — новые параметры

  • LOG_LEVEL REMOTE — уровень логов
  • REMOTE_CFG_REFRESH_SEC — интервал опроса remote-конфига
  • USE_SETTINGS_REDIS — кэш remote-настроек из админки в Redis (общий для всех Gunicorn-воркеров)

API

  • Начало разработки API до 1.7 в формате readonly

Веб-кабинет

  • Запоминает последний EMAIL для входа
  • MagicToken: если клиент ранее был авторизован в полном кабинете, ограниченный доступ не сменяет полный
  • Happ TV

Подписка (xuiweb / subpage)

  • При недоступности Remnawave серверы больше не пропадают из подписки — ошибка 404
  • Happ TV: с фронта на subpage уходит только GET

И другие изменения и исправления

RM-Only 1.3 Поддержка Remnawave 3.0+ и SDK remnawave-api 3.0

Поддержка Remnawave 3.0+ и SDK remnawave-api 3.0.

RM-Only 1.2 Мастер нод, журнал действий, Subpage RM-Only

Remnawave node-traffic exporter

  • Несколько адресов в WEBHOOK_URL через запятую в .env

IP Control (Remnawave)

  • Фоновая задача и журнал нарушителей limit IP

Продвижение

  • Улучшена работа с рекламными кампаниями

Промокоды

  • Редактирование уже использующихся промокодов

Главная (админка)

  • Быстрые действия на главной странице
  • Исправлено отображение CPU
  • Расширение справок INFO по разделам админки

Клиенты

  • Закрепление клиента в таблице

Настройки Subpage

  • Announce и другие заголовки под конкретное приложение (Happ, INCY, v2RayTun)

Настройки веб-кабинета

  • Возможность добавить собственное приложение

Remnawave — установка нод

  • Мастер для новичков: 3 готовые конфигурации
  • Получение сертификата при установке ноды

Remnawave — профили

  • Редактирование профилей: множественные исправления

Remnawave / миграции

  • Миграция User ID для перехода на Remnawave 3.0+
  • Аналитика трафика и IP Control агрегируют по User ID
  • Исправлена смена сквада при NO LIMIT+ на нескольких проектах при одной панели

Инструменты

  • Журнал действий — новый раздел

Отчёты

  • Новые фильтры и поиск по HWID

Сайт (Website)

  • Исправления фронтенда личного кабинета
  • Оплата кодом оплаты

Платежи (админка)

  • Улучшения раздела платежей

Страница подписки (Subpage)

  • Отдельный Subpage для RM-Only

И другие изменения и исправления

RM-Only 1.1 IP Control, режимы JSON-подписки, PWA

Настройки Веб-админка

  • Редактирование текстов: исправления HTML-тегов и проверка разметки
  • Дублирование HTTP заголовков

IP Control (Remnawave)

  • Новый раздел: индекс Remnawave и опрос нод для выявления нарушений по Limit IP (несколько IP на одной подписке)
  • Список нарушителей с трафиком и детализацией по нодам

Платежи (админка)

  • Фильтры «Сутки» и «Месяц» приведены к UTC — корректные границы периода независимо от часового пояса сервера

Страница подписки (Subpage)

  • Исправления блока «Примечания»

JSON-подписка (xrayConfig)

  • Три режима правил выдачи JSON по User-Agent (настройки Remnawave): apps — по галочкам Happ / INCY / v2rayTun; all_except — всем клиентам, кроме перечисленных UA; only_list — только клиентам из списка UA
  • Гибкий список правил UA для режимов all_except и only_list

Балансировка ключей

  • Исправления при локальном обращении к Remnawave

Веб-админка — PWA

  • Адаптация под iPhone: верхняя шапка, user modal, нижняя навигация и тп
  • Рекомендуется: удалить PWA с домашнего экрана и добавить заново

Сайт (Website)

  • Небольшие исправления вёрстки и поведения личного кабинета

И другие изменения и исправления

RM-Only 1.0 Переход на Remnawave, массовые операции, JSON и профили

Переход на Remnawave

  • Полностью вырезана логика работы с 3X-UI
  • Удалён сервис «Аналитика» для 3X-UI
  • Улучшено взаимодействие с Remnawave

Массовые операции

  • Удаление истёкших клиентов — из базы и из Remnawave
  • Компенсация дней (только активным клиентам)
  • Обработка failed-платежей: если Remnawave недоступна, но клиенты уже продлили подписку — можно в один клик обработать их платежи (протестировать: назначить себе платёж как «Неуспешный»)

Установка ноды (SSH)

  • В docker-compose.yml добавлены тома:
    /etc/letsencrypt:/etc/letsencrypt:ro
    /var/log/remnanode:/var/log/remnanode

Балансировка по текстовым ключам

  • Пример: 🇪🇺 Евро WIFI 1, 🇪🇺 Евро WIFI 2, 🇪🇺 Евро WIFI 3 — три ключа с одной «группой» имени
  • При каждом обновлении подписки из пула случайно выбирается один ключ, а у клиента в списке остаётся одна строка: 🇪🇺 Евро WIFI

JSON-подписка

  • xrayConfig отдаётся только выбранным приложениям (по User-Agent)
  • Умная балансировка Xray JSON — в разработке (экспериментально)

Профили Remnawave

  • GUI-редактор конфигурации Xray

Ноды — сортировка карточек

  • По дате продления
  • По онлайну (число пользователей)
  • По нагрузке (CPU / RAM / сеть)

Клиенты и отчёты

  • Обогащение IP клиентов через 2ip — возвращено
  • Проверка лимита устройств: превышение limit_ip и дубликаты HWID на разных аккаунтах
  • Исправлено: при уменьшении дней подписки «в прошлое» (админка, бот) дата окончания в Remnawave не уходит в прошлое — ограничивается до «сейчас + 5 секунд» до истечения

Настройки бота

  • Методы оплаты — можно менять порядок
  • Главный экран бота — можно менять расположение кнопок
  • Расширенное редактирование текстов с проверкой синтаксиса HTML-тегов

Тарифы продления

  • Редактор всех линеек разом
  • Рекомендуем: полностью удалить старые тарифы и собрать заново

Сервисный режим бота

  • Остановка операций бота на время обслуживания

Трафик и онлайн (ускорение таблицы «Клиенты»)

  • Запись трафика за всё время, за сутки и последний онлайн
  • Данные пишутся в основную БД, интервал обновления — 10 мин
  • Запись батчами, без блокировки базы
  • При ~50 000 активных клиентов цикл занимает до ~3 сек

Страница подписки (Subpage)

  • Новый маршрут /sub/{uuid}/info — информационная страница клиента
  • Балансировка текстовых ключей: режимы online + random
  • Вкладка «Балансировка хостов» — появляется при включённой балансировке текстовых ключей
  • WEBSITE_URL поддерживает плейсхолдеры [UUID], [TelegramID], [Email], [REGTYPE] — можно вести на info-страницу конкретного клиента
  • Magic-link в личный кабинет из Happ, INCY и других VPN-приложений: в WEBSITE_URL или HTTP-заголовке profile-web-page-url укажите https://site.com/auth/magic/[MagicToken] — откроется ограниченный кабинет (продление, подписка, Telegram ID); токен подставляется автоматически из xuiweb
  • Исправлено: при открытии подписки в Яндекс.Браузере / приложении Яндекса / Алисе (YaApp) страница ошибочно отдавалась как содержимое подписки вместо HTML-страницы (в их User-Agent встречалась подстрока «happ»). Теперь такие клиенты корректно распознаются как браузер

Устройства

  • Редактор имени устройства — в боте и в личном кабинете
  • В списке «Мои устройства» смайлик зависит от ОС: 📱 для Android / iOS / iPadOS, 💻 для Windows / macOS
  • Автоочистка devices.db: раз в сутки удаляются устройства, не обновлявшиеся более 14 дней (по последнему запросу access_time).

Сайт (Website)

  • Вход через Telegram: добавлен метод OpenID Connect (OAuth 2.0) (oauth.telegram.org). Настройка в BotFather → Web Login: Trusted Origins, Redirect URL и ключи TELEGRAM_OIDC_CLIENT_ID / TELEGRAM_OIDC_CLIENT_SECRET в .env. Если OIDC не задан — работает старый виджет (BOT_USERNAME)

Веб-админка

  • Топ-10 по трафику за сутки на главной странице
  • Раздел «Рефералы»: разбивка Активные | Всего | Истёкшие и сумма заработка с привлечённых пользователей
  • Новый раздел настроек «Веб-кабинет»: белый список доменов для регистрации
  • Раздел «Платежи»: у Telegram ID — регистрация клиента (Сайт / TG), у метода оплаты — иконка, откуда вызван платёж (🌐 сайт / ✈️ Telegram); метка вызова из metadata_json платежа

Алькатрас

  • Анти-DDoS для xuiweb: реальная подписка только при выполнении порогов
  • Настройка: Настройки → Основные → Безопасность

И другие изменения и исправления