Учебный проект · Open Source · v2.4

REVERSE PROXY XRAY × NGINX

Одна bash-команда — и сервер готов: XRAY слушает порт 443, отдаёт REALITY-туннель, а весь лишний трафик маскируется под обычный сайт через NGINX. BBR, UNIX-сокеты, UFW и SSL — уже настроены.

1
команда для установки
443
единственный веб-порт
2
режима развёртывания
≈120c
до готовой ноды
root@vps:~# install_remnawave.sh
Ubuntu 22.04+ · Debian 11+ root

Выполняйте от root на чистой системе · учебный стенд

XRAY CORENGINXVLESS REALITYSELFSTEALBBRUNIX SOCKETSUFWSSL / ACMECLOUDFLARE DNS-APIJSON SUBSCRIPTIONTELEGRAM BOTSYSTEMD
01 / Архитектура

Путь одного запроса

XRAY принимает TLS прямо на 443. Похож запрос на REALITY-туннель — уходит в панель и ноду. Не похож — бесшумно проксируется в NGINX через UNIX-сокет и выглядит как обычный сайт.

Клиент
браузер · VPN-клиент
VLESS REALITY → туннель
XRAY :443
REALITY-хендшейк
UNIX-сокет
/run/xray.sock
NGINX
reverse proxy
Сайт-маска
случайный шаблон
P-01

Быстро

Ни одного лишнего TCP-хопа между Xray и NGINX: данные передаются через сокет в памяти.

P-02

Незаметно

REALITY неотличим от TLS настоящего сайта, а fallback показывает «живой» сайт-заглушку.

P-03

Защищено

UFW открывает только SSH и HTTPS. Всё, что не похоже на туннель, уходит в маскировку.

02 / Возможности

Всё уже настроено

Скрипт закрывает весь стек: ядро, фаервол, сертификаты, панель, нода и подписки. Девять модулей — один установщик.

F-01

BBR и тюнинг ядра

Алгоритм контроля перегрузки BBR раскачивает канал с высокой задержкой и потерями: скрипт включает его и применяет проверенные sysctl-настройки.

BBR sysctl fastopen
throughput+240%
F-02

REALITY SelfSteal

Ключи x25519 генерируются автоматически, а сервер «крадёт» TLS-отпечаток у целевого сайта.

privateKey: aXq…9fE0
publicKey: Kp2…wQ7A
serverName: www.microsoft.com
F-03

Связка через сокет

Fallback уходит в NGINX без лишнего TCP-круга — быстрее и незаметнее для анализа трафика.

/run/xray.sock
F-04

UFW + IPv6

Открыто только нужное. Скрипт настраивает правила и аккуратно управляет IPv6.

allow22/tcp
allow443/tcp
denyincoming *
F-05

SSL: ACME + Cloudflare

Сертификаты выпускаются через DNS-API Cloudflare или HTTP-01 и продлеваются по cron.

Let's Encrypt автопродление
F-06

Подписки и автообновление

Панель отдаёт JSON-подписку, скрипт конвертирует её под популярные клиенты и обновляет конфигурации по расписанию.

v2rayN sing-box Clash Stash Hiddify
{
  "sub": "https://sub.example.com",
  "format": ["json", "base64"],
  "refresh": "*/30 * * * *"
}
F-07

Маскировка сайта

Вместо пустой заглушки ставится случайный шаблон — сканер видит «живой» сайт.

coffee-shop-landing
F-08

Telegram-бот

Статус нод, входы в панель и трафик — прямо в вашем чате.

F-09

Real-time статистика

Трафик, онлайн и скорость нод — в панели в реальном времени.

▲ up412 MB/s
▼ down1.2 GB/s
онлайн38
F-10

Обновления из меню

Панель, Xray и сам скрипт обновляются одним пунктом меню — без ручных команд.

v2.4latest
03 / Развёртывание

Два режима — одна команда

Компактный all-in-one или распределённая связка «панель + нода». Переключайте режимы и сравнивайте DNS-записи.

All-in-one установка

STANDALONE

Панель управления, XRAY-нода и подписки живут на одной машине. Идеально для старта и небольших нагрузок.

  • Панель Remnawave + XRAY в одном контуре
  • SSL и маскировка настраиваются автоматически
  • Минимум серверов — минимум расходов
VPS panel + xray clients

Пример DNS-записей

ТипИмяЗначениеПрокси
Aexample.comyour_server_ipDNS only
Apanel.example.comexample.comDNS only
Asub.example.comexample.comDNS only
Anode.example.com*example.comDNS only

Запись node.example.com необязательна — она нужна только при выносе ноды на отдельный сервер.

Три шага до запуска

От чистой ОС до рабочей ноды

1

Запустите скрипт

Выполните команду из блока быстрого старта на чистой системе, от имени root. Скрипт определит ОС и подготовит окружение.

bash <(curl -Ls .../install_remnawave.sh)
2

Выберите компоненты

В меню скрипта откройте «Установка компонентов Remnawave» и укажите режим: один сервер либо панель и нода раздельно. Домены и сертификаты скрипт спросит по ходу.

3

Свяжите ноду с панелью

Скопируйте SECRET_KEY из раздела «Ноды» в панели и вставьте его при установке ноды на втором сервере. Готово — трафик пошёл.

04 / Безопасность

Панель, которой
«не существует»

NGINX проверяет секретный параметр ещё до проксирования. Нет ключа — нет панели: сканер получает 404 и уходит ни с чем.

Метод доступа
https://panel.example.com/auth/login?SECRET_KEY=••••••••
  • После первого входа с ключом браузер получает секретную cookie.
  • Без cookie или с неверным параметром — пустая страница или 404.
  • Боты, брутфорс и сканеры портов не видят ничего интересного.
https://panel.example.com/
404
Not Found

Страница не найдена. Здесь ничего нет… правда-правда.

remnawave / dashboard ● live
38
онлайн
1.2TB
трафик
4
ноды

Cookie-сессия

Ключ в URL нужен один раз: дальше браузер ходит по секретной cookie, а параметр больше не светится в истории.

Защита от брутфорса

Перебор бесполезен: пространство ключей огромное, а без правильного параметра сервер отвечает как обычный сайт.

Ротация ключа

SECRET_KEY меняется из панели за секунды — старые ссылки мгновенно превращаются в тыкву.

0 c
средняя установка
0
единственный веб-порт
0
режима развёртывания
0%
автоматизация без ручных конфигов
05 / FAQ

Частые вопросы

Коротко о системах, доменах, обновлениях и границах учебного проекта.

Не нашли ответ?Спросите в Telegram-чате сообщества

Ubuntu 20.04+ и Debian 11+. Рекомендуется чистая установка и запуск от root: скрипт сам ставит и настраивает все зависимости.

Да: публичный IPv4 и домен. Для выпуска SSL удобнее всего DNS в Cloudflare — скрипт использует DNS-API для ACME-челленджей.

Проект рассчитан на чистую систему: NGINX и порт 443 полностью отдаются связке. Для продакшн-сайтов используйте отдельную машину.

Через меню скрипта: панель, Xray и подписки обновляются отдельными пунктами. Подписки клиентов обновляются автоматически по расписанию.

Проект учебный. Перед использованием изучите законодательство своей страны и условия вашего хостинга — ответственность лежит на пользователе.

Звездой на GitHub, участием в Telegram-сообществе или донатом на USDT TRC-20 — адрес в блоке «Сообщество» ниже.

Сообщество

Вместе — веселее

Обсуждения, конфигурации и помощь — в Telegram-чате. Нравится проект? Поддержите разработку, и новых релизов станет больше.

Telegram-чат
Поставить звезду на GitHub
Скопировано в буфер обмена