Универсальный Bash-скрипт для автоматической настройки Nginx в связке с Xray (3XUI).
Позволяет за пару минут поднять защищенный канал, настроить маскировку (Stealth) и SSL сертификаты.
- ✅ Автоматическая установка: Nginx, Certbot и необходимые зависимости
- 🔒 SSL Сертификаты: Автоматическая генерация через Let's Encrypt или использование уже имеющихся файлов по пути (/root/cert/Ваш домен/fullchain.pem /root/cert/Ваш домен/privkey.pem)
- 🛡️ Anti-Censorship: Создание сайта-заглушки для защиты от активного сканирования (Probe resistance)
- 🔄 Два режима работы:
- 🛡️ Relay (Проксирующий сервер): Принимает трафик и пересылает его. Скрывает факт подключения к VPN
- ⚙️ Backend (Сервер с 3XUI): Принимает трафик от Nginx и отдает его в локальную панель 3XUI
- 🛠️ Конструктор маршрутов: Удобное меню для добавления новых путей (location) и транспортов без переустановки всего сервера
- gRPC - Высокопроизводительный транспорт
- WebSocket (WS) - Универсальный протокол
- SplitHTTP (XHTTP) - Современный HTTP-based транспорт
Запустите эту команду на вашем сервере (от имени root):
bash <(curl -Ls https://raw.githubusercontent.com/Gothik99/NGINX-3XUI/main/install.sh)Задача: Скрыть конечный зарубежный сервер. Клиент подключается к RU-серверу, а тот перебрасывает трафик.
Шаги:
- Запустите скрипт
- Выберите в меню
1) Полная установка - Введите домен этого сервера (например,
ru.myserver.com) - Выберите роль
1) Только проксирующий (Relay) - Введите адрес вашего зарубежного сервера (например,
de.myserver.com) - Добавьте маршрут (например, gRPC с путем
/secret-grpc)
Готово! В клиенте (Happ или др) указывайте адрес ru.myserver.com, но ключи/UUID от зарубежного сервера.
Или настройте External Proxy с TLS
Задача: Поставить Nginx перед панелью 3XUI для использования порта 443 и маскировки под сайт.
Шаги:
-
Запустите скрипт на сервере, где установлена панель 3XUI
-
Выберите в меню
1) Полная установка -
Введите домен этого сервера
-
Выберите роль
2) Проксирующий под 3XUI (Backend) -
Добавьте маршрут:
- Транспорт: gRPC
- Путь:
/secret-grpc(должен совпадать с настройками в панели) - Локальный порт: Например,
2053
-
В панели 3XUI создайте Inbound:
Port: 2053 Listen IP: 127.0.0.1 (Важно! Только локально) Network: gRPC Service Name: /secret-grpc Security: None (Шифрованием занимается Nginx)
Пример WebSocket (WS) и Пример gRPC
Хотите добавить WebSocket или XHTTP к уже работающему серверу? Не нужно ничего переустанавливать!
- Запустите скрипт еще раз
- В главном меню выберите пункт
2) Добавить новый маршрут - Следуйте подсказкам мастера
Скрипт автоматически добавит новый location в конфиг Nginx и перезагрузит службу.
| Параметр | Значение |
|---|---|
| OS | Ubuntu 20.04+, Debian 10+ |
| Права | Root доступ |
| Порты | 80 и 443 должны быть свободны (для Nginx) |
| Домен | Доменное имя должно быть привязано к IP адресу сервера (A-запись) |
Для режима Relay убедитесь, что на целевом (зарубежном) сервере также настроен прием соответствующего транспорта на 443 порту (через Nginx или XTLS Vision), либо сервер доступен по HTTPS.
- Всегда используйте сильные пароли для панели 3XUI
- Регулярно обновляйте сертификаты SSL
- Настройте файрвол для ограничения доступа
Gothik99
- GitHub: @Gothik99
- Команде разработчиков 3XUI
- Сообществу Xray/V2Ray за отличную документацию
⭐ Если проект был полезен, поставьте звезду! ⭐