3X-UI — веб-панель для управления Xray-core: пользователи, лимиты, протоколы (VLESS, VMess, Trojan, ShadowSocks, даже WireGuard), подписки, Telegram-нотификации и пр. Это активно развиваемый форк классической X-UI.
Быстрая установка (Ubuntu/Debian, без Docker)
Подготовка VPS
# Обновления, инструменты, брандмауэрsudo apt update && sudo apt -y full-upgrade
sudo apt install -y curl wget ca-certificates ufw
sudo hostnamectl set-hostname panel.example.com
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw --force enable
1) Установка 3X-UI «в одну строку»
Официальный скрипт сам подтянет зависимости и Xray, задаст порт панели и учётные данные.
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
После инсталляции скрипт покажет URL панели, логин/пароль и сгенерированный web-путь (если вы его не задали вручную).  
Скрипт умеет рандомизировать порт/логин/пароль и webBasePath для безопасности, а также спросит, хотите ли вы вручную задать порт панели. Это видно прямо из текста install.sh. 
2) Открываем доступ к панели и заходим
Если инсталлятор поставил порт, например, 2053, открываем его:
sudo ufw allow 2053/tcp comment '3X-UI panel'
Далее — http://203.0.113.10:2053/ (или адрес/порт, которые вы получили в консоли).
3) Базовая защита панели
Сразу после входа:
- смените логин/пароль администратора, включите 2FA;
- задайте нестандартный web-path (например, /a9f3k2x9v4/).
3x ui docker (рекомендуется разработчиками)
1) Установка Docker
bash <(curl -sSL https://get.docker.com)
2) Docker Compose: «поднять и забыть»
mkdir -p ~/panel && cd ~/panel
cat > compose.yml <<'YAML'
services:
3xui:
image: ghcr.io/mhsanaei/3x-ui:latest
container_name: 3xui_app
volumes:
- $PWD/db/:/etc/x-ui/
- $PWD/cert/:/root/cert/
environment:
XRAY_VMESS_AEAD_FORCED: "false"
XUI_ENABLE_FAIL2BAN: "true"
tty: true
network_mode: host
restart: unless-stopped
YAML
docker compose up -d
После запуска панель доступна по умолчанию: http://203.0.113.10:2053/
, вход admin/admin — срочно поменяйте.
Обновление контейнера: docker compose down && docker compose pull && docker compose up -d
.
Настройка протоколов: xray 3x ui, vless 3x ui
3X-UI — это оболочка над Xray, поэтому вся магия в inbound-ах (входящих слушателях). Ниже — два самых востребованных рецепта. Для справки по REALITY и XTLS Vision используем первоисточник — Xray-core.
Вариант 1. VLESS + REALITY (невидимый TLS-трафик без своего сертификата)
Сгенерируйте ключи X25519 и короткий shortId:
# Если Docker: выполняем внутри контейнераdocker exec 3xui_app xray x25519
openssl rand -hex 8
В панели Add Inbound → VLESS → TCP + REALITY:
- port: 443
- serverNames/dest: реальный TLS-хост (например, www.cloudflare.com:443)
- privateKey: из генерации выше; shortIds: ваш 8-байтовый HEX
- flow: xtls-rprx-vision (Vision)
Сохранить и перезапустить ядро
Вариант 2. VLESS + WS + TLS (классика под собственный домен)
1. Выпустите сертификат (например, через обратный прокси: Caddy/NGINX).
2. Add Inbound → VLESS → WebSocket + TLS:
порт 443, path "/", путь к fullchain/key из каталога сертификата; сохранить → перезапуск.
Первый вариант для сложных сетей/фильтраций (REALITY), второй — для обычного HTTPS-трафика за прокси. Общее поведение наследуется от Xray-core.
Пользователи и 3x ui клиент (профили/линки/QR)
- В разделе пользователей создайте клиента, задайте лимиты трафика/срок и привяжите один или несколько протоколов (VLESS/VMess/Trojan/SS).
- Панель генерирует готовые URI/QR и подписки для популярных клиентов (v2rayN/v2rayNG, sing-box, Shadowrocket и др.) — их видно в карточке пользователя/службе подписок самой панели. (Функциональность подписок видна по структуре репозитория и wiki проекта.) 
Полезные системные команды (служба, порты, логи)
# Если ставили «в одну строку» (systemd):sudo systemctl status x-ui --no-pager
sudo journalctl -u x-ui -e --no-pager
# Если Docker:docker ps
docker logs -f 3xui_app
# Проверка, что порт панели слушает (2053 либо ваш):ss -ltnp | grep -E ':2053|:443'
Мини-хардненинг VPS под панель
# Запрет паролей по SSH, только ключиsudo bash -c 'cat >/etc/ssh/sshd_config.d/99-hardening.conf <<EOF
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin prohibit-password
EOF'
sudo sshd -t && sudo systemctl reload ssh
Частые вопросы
3x ui ubuntu — нужно ли что-то особое?
Нет: официальный скрипт поддерживает Ubuntu/Debian из коробки. 
Как установить 3x ui «другой версии»?
Можно указать VERSION=... при запуске скрипта (не рекомендуется: ставьте свежие релизы). 
Где взять пример Docker Compose?
В официальной wiki есть готовый compose.yml и команды обновления. 
Нужен 3x-ui на VPS под ключ? Мы в HSTQ быстро поднимем 3X-UI, настроим VLESS (REALITY/WS+TLS), выдачу подписок, мониторинг, бэкапы и защиту панели (2FA, web-path, Fail2Ban, firewall), а также поможем с миграцией.
Короткий чеклист команд для установки через docker
# Docker-установка
bash <(curl -sSL https://get.docker.com)
mkdir -p ~/panel && cd ~/panel
cat > compose.yml <<'YAML'
services:
3xui:
image: ghcr.io/mhsanaei/3x-ui:latest
container_name: 3xui_app
volumes:
- $PWD/db/:/etc/x-ui/
- $PWD/cert/:/root/cert/
environment:
XRAY_VMESS_AEAD_FORCED: "false"
XUI_ENABLE_FAIL2BAN: "true"
tty: true
network_mode: host
restart: unless-stopped
YAML
docker compose up -d
# Панель: http://203.0.113.10:2053 (admin/admin)
→ сразу меняем доступ