github eGamesAPI/remnawave-reverse-proxy v3.2.0

4 hours ago

REMNAWAVE REVERSE PROXY

🚀 Основные изменения

🧩 Новые режимы установки: только панель и отдельная страница подписки

Меню «Установка компонентов Remnawave» теперь выглядит так:

1. Установить панель и ноду на один сервер
2. Установить панель и страницу подписки
3. Добавить ноду в панель
4. Установить только ноду
5. Установить только панель
6. Установить только страницу подписки
  • Установить панель и страницу подписки — прежний полный пункт (переименован, ставит панель + страницу подписки).
  • Установить только панель — то же самое, но без контейнера страницы подписки: не спрашивает саб-домен, не создаёт API-токен и не пишет блок подписки в конфиг веб-сервера.
  • Установить только страницу подписки — страница подписки на отдельном сервере по официальной схеме docs.rw (separate server). Работает с Nginx и Caddy.

Для отдельной страницы подписки скрипт спрашивает:

  • домен страницы подписки;
  • домен панели — по нему страница обращается к API (https://...);
  • API-токен панели (Настройки → API-токены);
  • cookie панели в формате ИМЯ=ЗНАЧЕНИЕ — та же пара, что в ссылке входа auth/login?.... Передаётся контейнеру как EGAMES_COOKIE и проходит cookie-защиту панели.

Проверка доступности после запуска принимает любой HTTP-ответ: страница по корню отвечает ошибкой по дизайну — валидны только ссылки вида https://sub.domain/<shortUuid>.

Раздел «Переустановить панель/ноду» поддерживает оба новых режима, при этом переустановка страницы подписки сносит только /opt/subscription, не трогая панель и ноду. «Удалить скрипт и данные» тоже теперь чистит /opt/subscription.

📊 Понятный вывод установки

  • Шаги установки выводятся в едином виде: [ * ] — выполняется, [ ✓ ] — готово.

🔧 Надёжность API-запросов

  • Таймауты curl (--connect-timeout 10 --max-time 60) — зависшая панель больше не вешает установку бесконечно.
  • X-Forwarded-For — чистый 127.0.0.1 вместо «домен:порт».
  • Тела логина и регистрации собираются через jq — спецсимволы в пароле не ломают JSON.
  • Файл сохранённого токена получает права 600.

🛡️ Диагностика не загрязняет значения

Ошибки API-функций выводятся в stderr и возвращают ненулевой код — цветные сообщения больше не попадают в переменные, захватываемые через $(...) (токены, ключи, UUID), а вызов не «успевает» с пустым значением.

✅ Переспрос вместо молчаливого отказа

  • Подтверждения y/n (удаление скрипта, переустановка и др.) переспрашивают при опечатке — случайный Enter или лишняя клавиша больше не считается «нет».
  • Метод генерации сертификатов тоже переспрашивает: неверный ответ больше не выбрасывает из установки с потерей уже введённых доменов и данных.

⏰ Cron без обрывов установки

Недоступный или незапускаемый cron (контейнеры, образы без systemd) больше не прерывает установку — выводится предупреждение

🧹 Безопасное удаление

  • Глобальный docker system prune -a --volumes заменён на docker image prune -f: остановленные контейнеры и тома сторонних сервисов пользователя больше не удаляются вместе с панелью.
  • Снос compose-каталогов вынесен в общий хелпер wipe_compose_dir.

📦 Прочее

  • Из правил роутинга Xray убран легаси-параметр "type": "field" (не входит в текущую спецификацию).
  • Убраны неиспользуемые ключи локализации.

🌍 Обновлены переводы

Новые строки для страницы подписки, переспросов ввода и cron (EN/RU).

Don't miss a new remnawave-reverse-proxy release

NewReleases is sending notifications on new releases.