github eGamesAPI/remnawave-reverse-proxy v3.3.4

10 hours ago

REMNAWAVE REVERSE PROXY

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

🔧 Обновления скрипта

  • При самообновлении теперь обновляются все скачанные модули. Список модулей больше не ведётся вручную — скрипт сам находит всё, что скачал.
  • Проверка обновлений работает через все зеркала (jsDelivr, githack, gh-proxy) и поддерживает wget — на серверах без доступа к GitHub статус обновления больше не врёт «обновлений нет».
  • Когда обновление доступно, он подсвечивается красным и называется «Обновить скрипт», а когда нет — остаётся «Проверить обновления скрипта».

🖥️ Защита от опечаток в подтверждениях

  • Все вопросы «Продолжить? (y/n)» теперь переспрашивают при неверном вводе. Раньше случайная клавиша (например h) или пустой ввод молча завершала установку, отменяла обновление или обрывала проверку домена.
  • Принимаются y/yes/д/да и n/no/н/нет в любом регистре.

📉 Логи больше не плодятся

  • Удалён remnawave_reverse.log — скрипт больше ничего не дописывает в файл через tee.
  • Убран cron_jobs.log: задания cron (продление сертификатов, уведомления) теперь пишут в /dev/null.
  • При первом обновлении на новую версию старые лог-файлы удалятся автоматически — место на диске освободится.

🧊 Исправлено «зависание» после выбора языка

  • На серверах с нерабочим IPv6 (есть маршрут, но он ведёт в никуда) скрипт мог молча «висеть» на несколько минут сразу после выбора языка — все загрузки упирались в таймауты.
  • Теперь скрипт один раз проверяет IPv6 при запуске и, если он мёртв, автоматически переключает все загрузки на IPv4. Отключать IPv6 вручную больше не нужно. Серверы с рабочим IPv6 работают как раньше.

📡 Управление IPv6 — честный статус и надёжное определение адреса

  • Аплинк-интерфейс определяется по маршруту по умолчанию, а не как «первый попавшийся» — раньше скрипт мог пытаться включить IPv6 на docker0/veth.
  • disable_ipv6=1 на отдельном интерфейсе больше не считается «уже включено» — это честный статус «выключено».
  • После применения sysctl скрипт проверяет, что он реально применился, если IPv6 отключен через GRUB (ipv6.disable=1) — предупреждает об этом вместо ложного «успешно включено».
  • Сеть перезапускается способом, соответствующим вашей системе (netplan / ifupdown / systemd-networkd), чтобы получить глобальный адрес.
  • В результате показывается полученный адрес, а если он не появился — готовый пример конфига для вашего сетевого менеджера.
  • В заголовке меню IPv6 теперь живой статус: включено / выключено / нет адреса + сам адрес.

🚦 Проверка порта 443

  • Перед установкой скрипт проверяет, свободен ли порт 443. Если его держит сторонний сервис (apache, другой nginx и т.п.) — установка останавливается сразу, с именами виновников в сообщении, вместо загадочной ошибки посреди процесса. Собственные контейнеры скрипта (remnawave-nginx/caddy) конфликтом не считаются.

🎨 Legiz

  • Код Legiz вынесен в отдельный модуль (src/modules/legiz.sh) — теперь он обновляется отдельно от основного скрипта, как и остальные модули.
  • Вырезано устаревшее меню app-list/branding, которое больше неактуально.

🌐 Caddy

  • При установке panel+sub переменная SUB_DOMAIN теперь правильно передаётся в контейнер Caddy — подписочная страница на поддомене больше не теряется.

🌐 Прочее

  • Диапазоны Cloudflare кэшируются на неделю вместо скачивания при каждой проверке домена; при недоступности cloudflare.com используется кэш.
  • Проверка ОС — по номерам версий (Debian 11+, Ubuntu 22.04+), а не по кодовым именам, будущие релизы (Ubuntu 26 и т.п.) проходят без обновления скрипта.

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

NewReleases is sending notifications on new releases.