установка и настройка XRay (VLESS + Reality) + 3x-ui
3x-ui - web panel для управления XRay core.
XRay поддерживает:
- VLESS
- Reality
- Trojan
- Shadowsocks
- VMess
Reality использует TLS camouflage для обхода DPI/filtering.
Инструкция собиралась и проверялась на Ubuntu 24.04.
По итогу получаем:
- XRay core
- VLESS + Reality
- 3x-ui panel
- один inbound для всех клиентов
- TLS camouflage
- QR и ссылки для клиентов
- systemd сервис
- работу через
443/tcp
00. подготовка сервера
Подключаемся:
ssh root@123.45.67.89
Создаем пользователя:
adduser deployuser
Даем sudo:
usermod -aG sudo deployuser
Проверяем вход:
ssh deployuser@123.45.67.89
01. обновление системы
sudo apt update && sudo apt full-upgrade -y
Перезагружаем:
sudo reboot
02. отключение root login
Редактируем:
sudo nano /etc/ssh/sshd_config
Меняем:
PermitRootLogin no
Перезапускаем SSH:
sudo systemctl restart ssh
03. подключение
ssh deployuser@123.45.67.89
sudo -i
04. установка 3x-ui
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
Warning
Установка выполняется через remote install script. Перед использованием рекомендуется проверить содержимое install.sh.
05. настройка при установке
Выбираем:
Do you want to customize the Panel Port? → y
Port → 2053
Choose SSL certificate:
2 (Let's Encrypt for IP Address)
IPv6 → Enter
Port for ACME → 80
Warning
Пункты install script могут отличаться между версиями 3x-ui.
Используйте нестандартный port для 3x-ui panel.
06. данные панели
После установки получаем:
Username: XXXXX
Password: XXXXX
Port: 2053
WebBasePath: XXXXX
07. вход в панель
https://IP:2053/WEBBASEPATH
Warning
3x-ui panel регулярно сканируется ботами и может стать целью:
- brute-force атак
- mass scanning
- попыток подбора стандартных URL/path
- попыток входа с утекшими паролями
Рекомендуется:
- использовать нестандартный port
- использовать сложный password для panel
- ограничить доступ по IP через firewall
- не публиковать panel без необходимости
- использовать reverse proxy/WAF при публичном доступе
08. создание inbound
Создаем inbound только один раз.
Переходим:
Подключения → Создать подключение
Настройки:
Протокол: VLESS
Порт: 443
Примечание: vpn
09. настройка клиента
Внутри inbound:
Добавить клиента
Настройки:
Email → имя устройства
ID → Generate
Flow → оставить пустым
10. transport и security
Network → TCP
Security → Reality
11. Reality настройки
Пример:
Target:
example.com:443
SNI:
example.com
Warning
Reality target должен:
- поддерживать HTTPS
- отвечать по TLS
- соответствовать SNI
- выглядеть правдоподобно для TLS camouflage
12. генерация Reality keys
В панели:
Get New Keys
Reality использует public/private key pair.
13. Short ID
Short ID обычно содержит 8-16 hex символов.
Можно оставить автоматически сгенерированный.
Или указать свой:
abc123
14. создание inbound
Создать подключение
15. добавление новых пользователей
Новых пользователей добавляем внутрь существующего inbound:
Подключения → inbound → Клиенты → Добавить
Новый inbound создавать не нужно.
16. получение ссылки
Клиенты → QR / ссылка
Импорт через:
- Import URL
- Scan QR code
17. клиенты
Windows:
v2rayN
Android:
v2rayNG
iPhone:
Shadowrocket
Streisand
18. firewall
Warning
Перед включением UFW убедитесь, что разрешен OpenSSH, иначе можно потерять SSH доступ.
ufw allow OpenSSH
ufw allow 443/tcp
ufw allow 2053/tcp
ufw enable
19. проверка
ss -tulpen | grep :443
ss -tulpen | grep :2053
systemctl status x-ui
journalctl -u x-ui -n 50 --no-pager
20. проверка подключения
https://ipinfo.io
21. как это работает
- inbound обычно один (
443/tcp) - клиентов может быть сколько угодно
- каждый клиент получает свой ID
- Reality использует TLS camouflage для обхода DPI/filtering
- 3x-ui управляет XRay core через web panel
3x-ui не является самим VPN/proxy server.
Панель управляет XRay core.
полезные ссылки
3x-ui GitHub
https://github.com/MHSanaei/3x-ui/
XRay Documentation
https://xtls.github.io/
v2rayN
https://github.com/2dust/v2rayN/