3X-UI

Работа с 3X-UI

Подключение серверов 3X-UI к боту, первичная настройка и формирование шаблонов ключей для пользователей.

Первичная настройка

💡
После установки бота перейдите в веб-админку → Панели → 3X-UI для управления серверами.

Вариант 1 — Автоматическая установка через бота

Самый простой способ — использовать встроенный установщик в веб-админке.

  • 1Откройте веб-админку → Панели → 3X-UI → Установить по SSH
  • 2Введите данные вашего сервера: IP, порт SSH, логин и пароль root
  • 3Бот автоматически установит панель 3X-UI и создаст первый инбаунд
  • 4После добавления сервера нажмите Редактировать сервер и убедитесь, что в настройках установлен параметр FLOW:
    Значение FLOW
    xtls-rprx-vision
    ⚠️
    FLOW обязателен для протокола vless-reality-TCP. Без него соединение не будет работать корректно — установите это значение сразу после добавления сервера.

Вариант 2 — Ручная установка

Установите 3X-UI самостоятельно через официальный репозиторий, затем добавьте сервер в боте вручную.

  • 1Установите 3X-UI по инструкции из официального репозитория:
  • 2Войдите в панель 3X-UI и создайте инбаунд с протоколом VLESS + Reality + TCP
  • 3В веб-админке бота перейдите в Панели → 3X-UI → Добавить сервер
  • 4Заполните все параметры: адрес панели, порт, логин, пароль, sub-путь
  • 5После добавления откройте Редактировать сервер и проверьте значение FLOW = xtls-rprx-vision
💡
Рекомендуется использовать шаблон ключа — это позволяет не зависеть от API 3X-UI при выдаче подписки и ускоряет обработку запросов.
Пример добавления сервера в веб-админке
Добавление сервера 3X-UI

Шаблон ключа

💡
Шаблон ключа формируется из готовых данных клиента в панели 3X-UI. Вместо UUID подставляются переменные-плейсхолдеры, а после символа # формируется имя сервера для клиентского приложения.

Как сформировать шаблон

  • 1Откройте панель 3X-UI → выберите инбаунд → нажмите Клиенты
  • 2У любого клиента нажмите кнопку Ссылка подписки или скопируйте vless://... ключ
  • 3Вставьте ключ в поле Шаблон ключа в настройках сервера в веб-админке
  • 4Замените UUID клиента на переменную [UUID]
  • 5После символа # в конце ключа задайте имя сервера — оно будет отображаться в приложении у пользователя. Можно использовать [Severname] для автоподстановки
Ключ клиента в 3X-UI
Ключ клиента в 3X-UI
Шаблон ключа в веб-админке
Шаблон ключа в веб-админке

Доступные плейсхолдеры

[UUID]
UUID пользователя — подставляется автоматически при каждом запросе подписки.
[Email]
Email клиента в панели 3X-UI (подставляется автоматически).
[Severname]
Имя сервера в URL-encoded формате — удобно использовать после # в конце ключа.
[EndDate]
Остаток срока подписки: например 15д 3ч 12м. Отображается при наличии данных.
[Balancer]
Если строка начинается с [Balancer], сервер полностью исключается из подписки и используется только для балансировки через основной сервер.

Примеры шаблонов

Обычный ключ с UUID и именем сервера
vless
vless://[UUID]@nl.example.com:443?type=tcp&security=reality&sni=nl.example.com&fp=chrome&pbk=KEY&flow=xtls-rprx-vision#[Severname]
Несколько ключей для одного сервера (альтернативный IP/домен)
vless
vless://[UUID]@nl.example.com:443?type=tcp&security=reality&flow=xtls-rprx-vision#[Severname]
vless://[UUID]@nl2.example.com:443?type=tcp&security=reality&flow=xtls-rprx-vision#[Severname]
Балансируемый сервер (не попадёт в подписку напрямую)
vless
[Balancer]vless://[UUID]@nl3.example.com:443?type=tcp&security=reality&flow=xtls-rprx-vision#[Severname]
Каждая строка в поле шаблона — отдельный ключ. При запросе подписки все строки добавляются в список серверов пользователя.

Случайный выбор ключа (балансировка)

При включённом режиме «Случайный выбор ключа» (is_balancer) из всех строк шаблона при каждом запросе подписки будет случайно выбрана только одна — без учёта строк с маркером [Balancer].

💡
Используйте этот режим если хотите распределять пользователей по серверам случайным образом, не давая им все сервера сразу.