Skip to content

Remnawave Admin v2.4

Choose a tag to compare

@Case211 Case211 released this 23 Feb 18:51
· 1297 commits to main since this release
5a4a643

GitHub Release Notes (v2.4.0)

v2.4.0

80+ коммитов, 7 новых фаз, 1005+ тестов

Основные нововведения

Fleet Management (Фаза 7)

Полноценное управление серверным парком из веб-панели:

  • Web Terminal — интерактивный терминал через xterm.js ↔ PTY
  • Agent v2 WebSocket — двунаправленный командный канал с агентом
  • Script Catalog — CRUD UI для скриптов, импорт из GitHub, удалённое обновление агента

Система резервного копирования

  • Database Backup — pg_dump/pg_restore через веб-интерфейс
  • Config Export/Import — экспорт и импорт настроек
  • User Migration — перенос пользователей между инстансами
  • Бэкапы сохраняются в ./backups/ (bind mount) и доступны с хоста

External API v3

  • Публичное RESTful API с аутентификацией по API-ключам
  • Webhook-подписки на события панели
  • Swagger UI (опционально, EXTERNAL_API_DOCS=true)

Anti-Abuse — улучшения

  • Per-user исключения анализаторов — исключение пользователя из конкретных проверок (temporal, geo, ASN, profile,
    device, HWID), оставляя остальные активными
  • Whitelist нарушений — полное или частичное исключение из проверок
  • Аннулирование нарушений — восстановление score при ложном срабатывании
  • HWID кросс-аккаунт детекция — обнаружение общих HWID между аккаунтами
  • Дедупликация уведомлений — нет спама при повторных нарушениях

System Logs — редизайн

  • Structlog с JSON-форматом
  • 5 табов: All, Errors, API, Bot, Frontend
  • Сбор ошибок фронтенда
  • Мобильная адаптация

RBAC

  • ADMINS env auto-provision — при первом входе через Telegram для пользователей из ADMINS env автоматически
    создаётся RBAC-аккаунт. При повторном входе используется роль, назначенная суперадмином
  • Квоты ресурсов для ролей
  • Проверка прав на уровне каждого endpoint

Другие улучшения

  • Биллинг — виджет на Dashboard, провайдеры платежей, история
  • Отчёты — планирование по расписанию, структурированные коды ошибок
  • i18n — полная интернационализация EN/RU, шаблоны уведомлений
  • IP-аналитика — IP-адреса в профиле пользователя
  • Command Palette — навигация по всем разделам, двуязычный поиск
  • Backend Performance — оптимизация запросов, индексы
  • Тесты — 1005+ тестов (backend + frontend), покрытие core 62%+

Исправления

  • Краш при открытии нарушения с null ips/scores/reasons
  • Парсинг API-ответов для шаблонов, сниппетов и конфигураций
  • HWID не подтягивается автоматически в карточке пользователя
  • ASN фильтр не показывал записи без типа
  • Array.isArray() проверки для предотвращения .map() ошибок
  • Мобильная адаптация SystemLogs и Fleet UI
  • PTY reconnect storm в Web Terminal
  • Frontend 502 при запуске (Leaflet lazy-load)
  • Structlog processor signature

Обновление

Новые переменные окружения

Добавьте в .env:

# External API v3 (по умолчанию выключено)
EXTERNAL_API_ENABLED=false
# Swagger UI для External API (по умолчанию выключено)
EXTERNAL_API_DOCS=false

Изменения в docker-compose.yml

Добавлены переменные в web-backend:

services:
  web-backend:
    environment:
      - BACKUP_DIR=/app/backups
    volumes:
      - ./backups:/app/backups

Node Agent

Важно: AGENT_COLLECTOR_URL в .env node-agent теперь должен указывать на web-backend (порт 8081), а не на бота.
Collector API перенесён из бота в Web Backend. 

Полный changelog: 2.3.2...2.4