Русский |
English
Caution
ЭТОТ РЕПОЗИТОРИЙ - УЧЕБНЫЙ ПРИМЕР ДЛЯ ИЗУЧЕНИЯ NGINX, РЕВЕРС-ПРОКСИ И ОСНОВ СЕТЕВОЙ БЕЗОПАСНОСТИ. ЭТОТ СКРИПТ ДЕМОНСТРИРУЕТ НАСТРОЙКУ NGINX КАК REVERSE PROXY. НЕ ДЛЯ ПРОДА И НЕ ДЛЯ ПРОДАКШН-ИСПОЛЬЗОВАНИЯ! ЕСЛИ ВЫ НЕ ПОНИМАЕТЕ КАК РАБОТАЕТ ПАНЕЛЬ УПРАВЛЕНИЯ - ЭТО ВАШИ ПРОБЛЕМЫ, А НЕ АВТОРА СКРИПТА. ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК!
Скрипт устанавливает панель управления Remnawave, ноды Xray и страницу подписки, а после установки сам становится меню управления сервером: полтора десятка модулей, от правил подписок до резервных копий.
Обратный прокси поднимается на NGINX или Caddy. Архитектура рассчитана на скорость: Xray занимает порт 443 и передает трафик веб-серверу через Unix-сокет, без лишних сетевых переходов между ними.
| Версия | Системы | Веб-сервер | Права |
|---|---|---|---|
| 3.8.3 | Debian, Ubuntu | NGINX или Caddy | root |
Important
Скрипт тестировался в среде виртуализации KVM. Для работы нужен собственный домен. Рекомендуется запускать с правами root на свежеустановленной системе.
1. Один сервер
- Панель управления и нода Xray на одной машине
- Подходит для компактных установок с умеренным трафиком
2. Распределенная установка
- Сервер панели: центр управления без ноды Xray
- Сервер ноды: нода Xray с заглушкой SelfSteal для VLESS REALITY
Варианты установки: панель с нодой, панель со страницей подписки, отдельная панель, отдельная нода, отдельная страница подписки, а также подключение еще одной ноды к работающей панели.
Подготовьте три домена или поддомена:
- Панель управления: доступ к интерфейсу управления
- Страница подписки: раздача конфигураций клиентам
- Заглушка SelfSteal: маскировочный сайт на сервере ноды
Tip
Вся документация живет в вики на двух языках: установка по шагам с примерами вывода, страницы настройки модулей, устранение неполадок.
Вся вики · Введение · Установка · Неполадки
Выполните следующую команду для начала установки:
bash <(curl -Ls https://raw.githubusercontent.com/eGamesAPI/remnawave-reverse-proxy/refs/heads/main/install_remnawave.sh)Если GitHub недоступен, используйте зеркало на jsDelivr:
bash <(curl -Ls https://cdn.jsdelivr.net/gh/eGamesAPI/remnawave-reverse-proxy@main/install_remnawave.sh)| Модуль | Что делает |
|---|---|
| Установка компонентов | Пять режимов установки и подключение новой ноды к работающей панели |
| Управление панелью | Статус служб, запуск и остановка, обновление, логи, Remnawave CLI, доступ к панели |
| Резервные копии и восстановление | Копия базы PostgreSQL и конфигураций панели, восстановление на том же или новом сервере, отправка в Telegram, Google Drive и S3, копирование по расписанию |
| Обновление скрипта | Проверка и установка обновлений, запуск сокращенной командой rr |
| Модуль | Что делает |
|---|---|
| Шаблон SelfSteal | Маскировка ноды под обычный сайт, выбор из набора шаблонов |
| Node Plugins | Плагины ноды через панель, например Torrent Blocker |
| Xray core | Свежее ядро Xray вместо штатного |
| SSH-доступ к удаленным серверам | Список сохраненных серверов и запуск команд на них |
| Маршрутизация | Направление выбранных доменов через сервер выхода, остальной трафик идет напрямую |
| Балансировщик клиентов | Одна запись в подписке вместо списка хостов, клиент автоматически переключается на рабочий |
| Модуль | Что делает |
|---|---|
| Правила подписок и ответов | Пресеты правил панели: какие клиенты какие конфигурации получают, лимит устройств, JSON и дополнительные пути |
| Страница подписки | Шаблон Orion вместо штатной страницы и обратный переход |
| Модуль | Что делает |
|---|---|
| WARP Native | WARP-подключение на выбранной ноде |
| NetBird | Оверлейная сеть для трафика между панелью и нодами на WireGuard, с одноразовыми ключами и запасным публичным путем |
| Управление IPv6 | Включение и отключение IPv6 на сервере |
| Управление сертификатами | Перевыпуск сертификатов домена и смена способа выпуска |
| Модуль | Что делает |
|---|---|
| Xray Checker | Проверка работоспособности прокси, панель результатов и уведомления в Telegram |
Сертификаты выпускаются одним из способов:
- DNS API: Cloudflare, Gcore или Bunny.net. Выпуск wildcard-сертификата, DNS-записи создаются автоматически по API-ключу
- ACME HTTP-01: без API-ключа, по одному домену на сертификат
- Собственные сертификаты: уже выпущенные на вашем сервере, продление вручную
Примеры настройки DNS
| Тип записи | Имя | Значение | Статус прокси |
|---|---|---|---|
| A | example.com | your_server_ip | DNS only |
| CNAME | panel.example.com | example.com | DNS only |
| CNAME | sub.example.com | example.com | DNS only |
| CNAME | node.example.com | example.com | DNS only |
[!TIP] Запись
node.example.comявляется необязательной для функциональности SelfSteal. Вы можете использовать корневой доменexample.comвместо нее.
| Тип записи | Имя | Значение | Статус прокси |
|---|---|---|---|
| A | example.com | panel_server_ip | DNS only |
| CNAME | panel.example.com | example.com | DNS only |
| CNAME | sub.example.com | example.com | DNS only |
| A | node.example.com | node_server_ip | DNS only |
По ходу установки скрипт спросит язык интерфейса, веб-сервер (NGINX или Caddy), способ выпуска сертификатов, вариант защиты панели и данные доменов.
Развертывание на одном сервере
- Запустите скрипт установки
- Выберите "Установка компонентов Remnawave"
- Выберите "Установить панель и ноду на один сервер"
- Дождитесь завершения
- Скрипт автоматически перезапустит сервисы и отобразит учетные данные для входа
Распределенное развертывание (панель и нода на разных серверах)
Шаг 1: Настройка сервера панели
- Запустите скрипт установки на первом сервере
- Выберите "Установка компонентов Remnawave"
- Выберите "Установить только панель"
- Сохраните предоставленные учетные данные
Шаг 2: Экспорт ключа ноды
- Войдите в панель управления
- Перейдите в Ноды → Управление
- Выберите целевую ноду
- Найдите поле "Secret Key (SECRET_KEY)"
- Скопируйте значение с помощью иконки копирования
Шаг 3: Настройка сервера ноды
- Запустите скрипт установки на втором сервере
- Выберите "Установка компонентов Remnawave"
- Выберите "Установить только ноду"
- Вставьте ключ при запросе
- Дождитесь сообщения об успешном подключении ноды
При установке на NGINX панель закрывается секретной ссылкой с cookie (по умолчанию) или страницей входа TinyAuth. При установке на Caddy доступен третий вариант: страница входа с многофакторной аутентификацией.
Секретная ссылка выглядит так:
https://panel.example.com/auth/login?<SECRET_KEY>=<SECRET_KEY>
Как это работает:
- Переход по ссылке с правильным параметром устанавливает в браузере cookie: имя и значение совпадают с
<SECRET_KEY> - Панель открывается только при наличии правильной cookie
- Без параметра и без cookie сканер увидит пустую страницу или ошибку 404
Такая схема прячет панель от сканирования хостов, подбора путей и попыток брутфорса.
- Брандмауэр: UFW открывает только необходимые порты
- TCP: алгоритм контроля перегрузки BBR
- Маскировка: заглушка SelfSteal со случайным шаблоном сайта
- Сеть панель-нода: трафик внутри оверлея NetBird не выходит в публичный интернет
Caution
Этот репозиторий предназначен исключительно для образовательных целей и для изучения принципов работы обратных прокси-серверов и сетевой безопасности. Скрипт демонстрирует настройку прокси-сервера с использованием NGINX для реверс-прокси, управления трафиком и защиты от атак.
Мы настоятельно напоминаем, что использование этого инструмента с целью обхода сетевых блокировок или цензуры является незаконным в ряде стран, где существуют законы, регулирующие использование технологий для обхода ограничений в интернете.
Данный проект не предназначен для использования в целях, нарушающих законы о защите информации или вмешивающихся в механизмы цензуры. Мы не несем ответственности за возможные юридические последствия, связанные с использованием этого скрипта.
Используйте этот инструмент/скрипт исключительно в демонстрационных целях, в качестве примера работы обратного прокси и защиты данных. Настоятельно рекомендуем удалить скрипт после ознакомления. Дальнейшее использование на ваш страх и риск.
Если вы не уверены, нарушает ли использование данного инструмента или его компонентов законодательство вашей страны- откажитесь от любого взаимодействия с данным инструментом.
Присоединяйтесь к нашему Telegram-сообществу для поддержки и обсуждений:
Telegram чат: https://t.me/remnawave_reverse
Если вам нравится этот проект и вы хотите поддержать его дальнейшее развитие, пожалуйста, рассмотрите возможность сделать пожертвование. Ваш вклад помогает финансировать будущие обновления и улучшения!
Способы пожертвования:
- TON USDT:
UQAxyZDwKUPQ5Bp09JOFcaDVakjYQT46rf3iP3lnl_qc9xVS
