REVERSE PROXY XRAY × NGINX
Одна bash-команда — и сервер готов: XRAY слушает порт 443, отдаёт REALITY-туннель, а весь лишний трафик маскируется под обычный сайт через NGINX. BBR, UNIX-сокеты, UFW и SSL — уже настроены.
Выполняйте от root на чистой системе · учебный стенд
Путь одного запроса
XRAY принимает TLS прямо на 443. Похож запрос на REALITY-туннель — уходит в панель и ноду. Не похож — бесшумно проксируется в NGINX через UNIX-сокет и выглядит как обычный сайт.
Быстро
Ни одного лишнего TCP-хопа между Xray и NGINX: данные передаются через сокет в памяти.
Незаметно
REALITY неотличим от TLS настоящего сайта, а fallback показывает «живой» сайт-заглушку.
Защищено
UFW открывает только SSH и HTTPS. Всё, что не похоже на туннель, уходит в маскировку.
Всё уже настроено
Скрипт закрывает весь стек: ядро, фаервол, сертификаты, панель, нода и подписки. Девять модулей — один установщик.
BBR и тюнинг ядра
Алгоритм контроля перегрузки BBR раскачивает канал с высокой задержкой и потерями: скрипт включает его и применяет проверенные sysctl-настройки.
REALITY SelfSteal
Ключи x25519 генерируются автоматически, а сервер «крадёт» TLS-отпечаток у целевого сайта.
Связка через сокет
Fallback уходит в NGINX без лишнего TCP-круга — быстрее и незаметнее для анализа трафика.
/run/xray.sock
UFW + IPv6
Открыто только нужное. Скрипт настраивает правила и аккуратно управляет IPv6.
SSL: ACME + Cloudflare
Сертификаты выпускаются через DNS-API Cloudflare или HTTP-01 и продлеваются по cron.
Подписки и автообновление
Панель отдаёт JSON-подписку, скрипт конвертирует её под популярные клиенты и обновляет конфигурации по расписанию.
{ "sub": "https://sub.example.com", "format": ["json", "base64"], "refresh": "*/30 * * * *" }
Маскировка сайта
Вместо пустой заглушки ставится случайный шаблон — сканер видит «живой» сайт.
Telegram-бот
Статус нод, входы в панель и трафик — прямо в вашем чате.
Real-time статистика
Трафик, онлайн и скорость нод — в панели в реальном времени.
Обновления из меню
Панель, Xray и сам скрипт обновляются одним пунктом меню — без ручных команд.
Два режима — одна команда
Компактный all-in-one или распределённая связка «панель + нода». Переключайте режимы и сравнивайте DNS-записи.
All-in-one установка
STANDALONEПанель управления, XRAY-нода и подписки живут на одной машине. Идеально для старта и небольших нагрузок.
- Панель Remnawave + XRAY в одном контуре
- SSL и маскировка настраиваются автоматически
- Минимум серверов — минимум расходов
Пример DNS-записей
| Тип | Имя | Значение | Прокси |
|---|---|---|---|
| A | example.com | your_server_ip | DNS only |
| A | panel.example.com | example.com | DNS only |
| A | sub.example.com | example.com | DNS only |
| A | node.example.com* | example.com | DNS only |
Запись node.example.com необязательна — она нужна только при выносе ноды на отдельный сервер.
Три шага до запуска
От чистой ОС до рабочей ноды
Запустите скрипт
Выполните команду из блока быстрого старта на чистой системе, от имени root. Скрипт определит ОС и подготовит окружение.
bash <(curl -Ls .../install_remnawave.sh)
Выберите компоненты
В меню скрипта откройте «Установка компонентов Remnawave» и укажите режим: один сервер либо панель и нода раздельно. Домены и сертификаты скрипт спросит по ходу.
Свяжите ноду с панелью
Скопируйте SECRET_KEY из раздела «Ноды» в панели и вставьте его при установке ноды на втором сервере. Готово — трафик пошёл.
Панель, которой
«не существует»
NGINX проверяет секретный параметр ещё до проксирования. Нет ключа — нет панели: сканер получает 404 и уходит ни с чем.
https://panel.example.com/auth/login?SECRET_KEY=••••••••
- После первого входа с ключом браузер получает секретную cookie.
- Без cookie или с неверным параметром — пустая страница или 404.
- Боты, брутфорс и сканеры портов не видят ничего интересного.
Страница не найдена. Здесь ничего нет… правда-правда.
Cookie-сессия
Ключ в URL нужен один раз: дальше браузер ходит по секретной cookie, а параметр больше не светится в истории.
Защита от брутфорса
Перебор бесполезен: пространство ключей огромное, а без правильного параметра сервер отвечает как обычный сайт.
Ротация ключа
SECRET_KEY меняется из панели за секунды — старые ссылки мгновенно превращаются в тыкву.
Частые вопросы
Коротко о системах, доменах, обновлениях и границах учебного проекта.
Не нашли ответ?Спросите в Telegram-чате сообществаUbuntu 20.04+ и Debian 11+. Рекомендуется чистая установка и запуск от root: скрипт сам ставит и настраивает все зависимости.
Да: публичный IPv4 и домен. Для выпуска SSL удобнее всего DNS в Cloudflare — скрипт использует DNS-API для ACME-челленджей.
Проект рассчитан на чистую систему: NGINX и порт 443 полностью отдаются связке. Для продакшн-сайтов используйте отдельную машину.
Через меню скрипта: панель, Xray и подписки обновляются отдельными пунктами. Подписки клиентов обновляются автоматически по расписанию.
Проект учебный. Перед использованием изучите законодательство своей страны и условия вашего хостинга — ответственность лежит на пользователе.
Звездой на GitHub, участием в Telegram-сообществе или донатом на USDT TRC-20 — адрес в блоке «Сообщество» ниже.
Вместе — веселее
Обсуждения, конфигурации и помощь — в Telegram-чате. Нравится проект? Поддержите разработку, и новых релизов станет больше.
Поставить звезду на GitHub