REMNAWAVE REVERSE PROXY
🚀 Основные изменения
В релизе два новых модуля и четыре исправления. Балансировщик заменяет список хостов в подписке одной записью, которая сама переключается между хостами. Модуль правил ответов показывает, что панель отдаёт на запрос подписки, и переключает это готовыми наборами. Правила ответов и шаблон страницы подписки объединены в пункте 5 «Подписки: правила и страница». Меню сгруппировано по смыслу: проверка обновлений и удаление скрипта отделены в нижний блок.
⚖️ Клиентский балансировщик
- В подписке появляется одна запись вместо списка хостов. Панель собирает её конфиг из скрытых копий выбранных хостов, клиент сам меряет задержку и держит трафик на двух лучших: когда хост слабеет или падает, связь переходит на другой без перенастройки. Обычные подписки и Xray Checker запись не видят, ложных срабатываний не будет.
- Исходные хосты скрыты из подписки, пока работает балансировщик: их ноды обслуживают балансировщик, и записи, которые сейчас недоступны, не попадаются пользователю на глаза. Разбор возвращает ноды на свои профили и снимает скрытие. Хосты, скрытые вручную до этого, модуль не трогает.
- Два пресета. «Всегда быстрейший» держит связь на двух самых быстрых хостах. «Основные с резервом» ведёт трафик через основной пул и переходит на первый резервный, когда все основные недоступны. Назначить все хосты основными модуль не даст: хотя бы один всегда остаётся резервом. Пул перемеряется каждые 30 секунд, переключение укладывается в один замер.
- Два вида клиентов. Для Xray JSON (v2rayN, Happ и другие) конфиг собирается целиком. Для Mihomo (Clash Meta, Stash и подобных) в стандартный шаблон добавляется готовая группа: «Всегда быстрейший» превращается в url-test, «Основные с резервом» в fallback с вашим порядком хостов.
- Хосты можно собирать по инбаундам: модуль сам предложит свести пул из разных инбаундов в отдельный профиль. Название записи видно пользователю, разбор балансировщика возвращает ноды на свои профили.
- Для клиентов Xray JSON модуль сам включает в панели «Отдавать JSON на базовом пути подписки»: раньше без этой настройки полный конфиг приходил только по прямой ссылке с суффиксом /v2ray-json.
📋 Подписки и правила ответов
- Раздел «Подписки: правила и страница» в пункте 5 главного меню. Экран состояния показывает правила ответов панели, лимит устройств, JSON на базовом пути и доступность дополнительных путей /json, /stash, /mihomo.
- Готовые наборы правил. «Клиенты и браузеры»: браузер получает страницу подписки, все приложения получают конфиги Base64. «Строгий: Happ и INCY + устройства» рассчитан на продажу подписок: полный конфиг Xray JSON получают Happ, INCY и RenoarX с корректным идентификатором устройства, конфиг Mihomo получают FlClashX, Koala Clash, Prizrak-Box, Rabbit Hole, Clash Mi, Flowvy и Clod Clash, конфиг Sing-box получают Karing, InHive, Throne и DeskBox. Известные приложения (v2rayN, v2RayTun, Shadowrocket и другие) получают Base64, браузер видит страницу подписки, все остальные запросы получают 404. «Разрешить всех» откатывает ограничения одним правилом.
- Лимит устройств включается прямо из меню: подписка выдаётся не более чем N устройствам пользователя, и утёкшая ссылка перестаёт работать на чужих телефонах. Клиентам без заголовка устройства (v2rayN, v2rayNG, FlClash, Stash) лимит отключается в панели персонально.
- Переключатели JSON на базовом пути подписки и дополнительных путей работают из того же меню.
- Перед каждой заменой правил текущий набор сохраняется в файл, хранятся десять последних копий. Восстановление выбирается из списка, состояние на момент отката тоже сохраняется копией.
- Правила хранятся в панели: модуль меняет настройки через её API и работает на панелях 3.4 и новее, где есть правила ответов.
🐛 Исправления
- При собственных сертификатах задача автообновления certbot больше не ставится: раньше она появлялась, даже когда сертификаты обновляются вручную. Строка от прошлой установки Let's Encrypt убирается, задача чекера и собственные задачи certbot не трогаются.
- Пункт 8 проверяет установленную команду rw-backup, а не скачанный файл: после удаления модуля бэкапов меню снова предлагает установку вместо вызова несуществующей команды (#173).
- Пустой ввод домена завершает установку сообщением «Домен не введён»: раньше пустая строка проваливалась в проверку DNS, а после ответа «продолжить» падала строкой bad array subscript.
- Образ страницы подписки во всех вариантах установки переведён с закреплённой версии на latest.
🌐 Wiki
Страницы обоих модулей на двух языках: устройство, пресеты, предупреждения и живые терминалы. Добавлены схемы работы балансировщика и правил ответов, обновлены цитаты меню в установочных руководствах.
⬆️ Обновление
Пункт 12 меню, или:
bash <(curl -Ls https://raw.githubusercontent.com/eGamesAPI/remnawave-reverse-proxy/refs/heads/main/install_remnawave.sh)