Перейти к основному содержимому

Быстрый старт

XLADA — панель управления прокси на базе Xray-core. Она даёт веб-интерфейс и REST API для пользователей, нод, подписок и конфигураций Xray. XLADA — форк Remnawave под лицензией AGPL-3.0 с усиленными приватностью и контролем над данными.

Из чего состоит система​

КомпонентГде работаетЗачем
Панельсервер управлениявеб-интерфейс и REST API
Нодакаждый прокси-серверзапускает Xray-core, управляется панелью
Страница подпискисервер управленияоформленная страница с ключами пользователя

Минимально нужны панель и хотя бы одна нода. Страница подписки необязательна: без неё пользователь получает ссылку напрямую.

браузер администратора
│ HTTPS
▼
┌──────────────────┐ HTTPS + mTLS + JWT ┌──────────────┐
│ Панель (xpanel) │ ───────────────────────────────▶ │ Нода (Xray) │
│ PostgreSQL │ ◀─────────────────────────────── │ прокси-сервер│
│ Valkey │ только входящие └──────────────┘
└──────────────────┘
▲
│ HTTPS
страница подписки (xpanel-subpage)

Установка панели​

Нужен сервер с Docker и домен, который указывает на него.

git clone https://github.com/xray-panel/deploy.git /opt/xlada
cd /opt/xlada

cp panel.env.sample .env
chmod 600 .env

# заполните .env:
# APP_SECRET — openssl rand -hex 32, менять после запуска нельзя
# POSTGRES_PASSWORD — openssl rand -hex 16
# PANEL_DOMAIN, FRONT_END_DOMAIN, SUB_PUBLIC_DOMAIN
# METRICS_USER, METRICS_PASS — обязательны, без них контейнер не стартует

docker compose up -d

Панель поднимется на 127.0.0.1:3000. Наружу её отдаёт nginx:

cp nginx/panel.conf /etc/nginx/sites-available/xlada-panel
ln -sf /etc/nginx/sites-available/xlada-panel /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d panel.example.com
HTTPS обязателен

В коде панели есть middleware, который разрывает соединение, если запрос пришёл без заголовков X-Forwarded-For и X-Forwarded-Proto: https. Без обратного прокси с TLS панель не работает.

Откройте https://panel.example.com — панель предложит создать администратора. Пароль: минимум 24 символа, обязательно строчные, прописные буквы и цифры.

Подключение ноды​

  1. В панели: Nodes → создать ноду — панель покажет SECRET_KEY.
  2. На прокси-сервере:
docker run -d \
--name xpanel-node \
--restart unless-stopped \
--network host \
--cap-add NET_ADMIN \
--ulimit nofile=1048576:1048576 \
-e NODE_PORT=2222 \
-e SECRET_KEY="<SECRET_KEY из панели>" \
ghcr.io/xray-panel/node:latest

Через минуту нода появится в панели как подключённая.

Что дальше​