Однофайловый интерактивный установщик Xray-core для Ubuntu Server 22.04.
Версия: 0.2.3
Runtime-файл: xray-server-wizard.sh
Отдельный мастер NaiveProxy находится в папке
NaiveProxy. Он не зависит от Xray Server Wizard и
устанавливается отдельным сервисом.
Быстрая установка на Ubuntu:
sudo apt-get update && sudo apt-get install -y curl
curl -fL https://raw.githubusercontent.com/RustForNew/xray-server-wizard/main/NaiveProxy/naiveproxy-server-wizard.sh -o naiveproxy-server-wizard.sh
chmod 700 naiveproxy-server-wizard.sh
sudo bash ./naiveproxy-server-wizard.shПрямая загрузка установщика:
naiveproxy-server-wizard.sh.
- Ubuntu Server 22.04;
- root-доступ или пользователь с
sudo; - systemd;
- публичный IPv4;
- открытые порты в firewall/security group VPS-провайдера;
- домен с готовой A-записью для TLS;
- доступный
80/tcpдля Let's Encrypt HTTP-01; - доступный UDP-порт для Hysteria2.
Выполнить на VPS:
sudo apt-get update && sudo apt-get install -y curl
curl -fL https://raw.githubusercontent.com/RustForNew/xray-server-wizard/main/xray-server-wizard.sh -o xray-server-wizard.sh
chmod 700 xray-server-wizard.sh && sudo bash ./xray-server-wizard.shПри работе под root:
apt-get update && apt-get install -y curl
curl -fL https://raw.githubusercontent.com/RustForNew/xray-server-wizard/main/xray-server-wizard.sh -o xray-server-wizard.sh
chmod 700 xray-server-wizard.sh && bash ./xray-server-wizard.shПроверка версии:
bash ./xray-server-wizard.sh --versionПовторный запуск:
sudo bash ./xray-server-wizard.sh- Выбрать протокол и транспорт.
- Выбрать TLS или REALITY, если транспорт поддерживает оба варианта.
- Указать количество пользователей.
- Для TLS указать домен с готовой DNS-записью.
- Проверить план и подтвердить установку.
Автоматически создаются порт, UUID/credentials, path, serviceName, XHTTP mode, REALITY keys, short ID, конфигурации Xray/Nginx и клиентские ссылки.
Доступны ручные параметры:
- протокол;
- транспорт;
- TLS или REALITY;
- порт сервера;
- адрес сервера в клиентской ссылке;
- количество пользователей;
- XHTTP path;
- XHTTP mode;
- gRPC
serviceName; - WebSocket path;
- REALITY target;
- REALITY SNI;
- получение Let's Encrypt или подключение существующего certificate/key;
- префикс названий подключений.
| Протокол | Транспорт | TLS | REALITY |
|---|---|---|---|
| VLESS | TCP/RAW | да | да |
| VLESS | XHTTP | да | да |
| VLESS | gRPC | да | да |
| VLESS | WebSocket | да | нет |
| Trojan | TCP/RAW | да | да |
| Trojan | XHTTP | да | да |
| Trojan | gRPC | да | да |
| Trojan | WebSocket | да | нет |
| Hysteria2 | Hysteria/QUIC | да | нет |
Всего: 15 профилей.
- ссылки
vless://; - отдельный UUID для каждого пользователя;
xtls-rprx-visionдля TCP/RAW;- от 1 до 500 пользователей.
- ссылки
trojan://; - отдельный credential для каждого пользователя;
- от 1 до 500 пользователей.
- ссылки
hysteria2://; - QUIC/UDP;
- обязательный TLS;
- от 1 до 500 пользователей.
- TLS;
- REALITY;
- VLESS Vision;
- TLS fallback на локальный сайт Nginx.
- TLS;
- REALITY;
- собственный path;
- modes:
auto,packet-up,stream-up,stream-one.
- TLS;
- REALITY;
- собственный
serviceName.
- TLS;
- собственный path;
- собственный Host/SNI.
- Hysteria transport;
- QUIC/UDP;
- TLS.
Автоматическая конфигурация TLS включает:
- установку Nginx и Certbot;
- проверку A/AAAA домена;
- Let's Encrypt HTTP-01;
- HTTPS-сайт-заглушку;
- постоянный ACME webroot;
- Certbot deploy-hook;
- проверку
nginx -t; - проверку и запуск Xray/Nginx.
В экспертном режиме можно указать существующие certificate/key.
Автоматическая конфигурация REALITY включает:
- X25519 key pair;
- short ID;
- fingerprint
chrome; - target и SNI;
- проверку TLS target;
- защиту от target, направленного на этот же VPS и тот же порт.
Адрес VPS указывается в поле адреса клиентского подключения. REALITY target указывается отдельно.
Основной файл с подключениями:
/root/xray-clients.txt
Архивная копия каждого запуска:
/root/xray-clients-<UTC timestamp>.txt
Формат записи:
[001]
UUID: <credential>
VLESS: <connection URI>
Для Trojan используется поле TROJAN, для Hysteria2 — HYSTERIA2. Права файлов: 0600.
/usr/local/bin/xray
/usr/local/etc/xray/config.json
/usr/local/etc/xray/certs/xray-server-wizard/
/var/lib/xray-server-wizard/backups/
/var/www/xray-server-wizard/index.html
/etc/nginx/sites-available/xray-server-wizard
/root/xray-clients.txt
Перед применением мастер:
- Показывает итоговый план.
- Проверяет занятость TCP/UDP-портов.
- Создаёт backup управляемых файлов.
- Проверяет Xray командой
xray run -test. - Проверяет Nginx командой
nginx -t. - Запускает systemd-сервисы.
- Проверяет состояние сервисов.
- Восстанавливает предыдущую конфигурацию при ошибке.
Если UFW активен, мастер добавляет правила для выбранных TCP/UDP-портов.
curl -fL https://raw.githubusercontent.com/RustForNew/xray-server-wizard/main/xray-server-wizard.sh -o xray-server-wizard.sh
chmod 700 xray-server-wizard.sh
sudo bash ./xray-server-wizard.sh- создаётся один inbound-профиль за запуск;
- управляемый Xray-конфиг заменяется после создания backup;
- произвольные существующие Xray-конфиги не объединяются;
- сторонние активные конфигурации Nginx автоматически не изменяются;
- CDN не настраивается;
- wildcard-сертификаты и DNS-01 не поддерживаются;
- NAT, CGNAT и firewall/security group VPS-провайдера не настраиваются;
- доступность UDP зависит от VPS-провайдера;
- требуется клиент с поддержкой выбранного профиля;
- минимальная версия Xray-core:
26.3.27.
bash -n xray-server-wizard.sh
python tests/test_wizard.pyПроверка конфигураций через Xray и Nginx:
XRAY_BIN=/path/to/xray NGINX_BIN=/path/to/nginx python tests/test_wizard.pyxray-server-wizard.sh
README.md
CHANGELOG.md
tests/test_wizard.py