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

Аварийный CLI

Аварийный CLI — это встроенная утилита для случаев, когда веб-интерфейс панели недоступен или обычные действия из него не помогают. Она работает прямо в контейнере, подключается к базе и Valkey и не зависит от браузера, входа и API.

CLI нужен, если вы забыли пароль администратора, случайно отключили парольный вход, хотите освободить диск от старых записей или потеряли SECRET_KEY для ноды.

Запуск​

docker exec -it xpanel cli

Появится меню XLADA Rescue CLI v0.4. Перед показом меню утилита проверяет подключение к базе данных и Valkey: если хоть одно недоступно, она сообщит об ошибке и завершится. Значит, чинить нужно сам контейнер, а не данные.

Внимание

Все команды выполняются в обход API и журнала действий администраторов. Они пишут в базу напрямую, а часть из них удаляет данные без возможности отката. Перед опасной операцией сделайте дамп базы.

Что умеет​

КомандаЧто делает
Reset superadminудаляет супер-администратора из базы
Enable password authenticationвключает вход по паролю
Generate keypairsсоздаёт ключи для шифрования правил ответа
Clean up HWID Devicesочищает таблицу hwid_user_devices
Clean up SRH Tableочищает историю запросов подписки
Clean up Users Usage Tableочищает историю трафика пользователей
Delete Users Usage by date rangeудаляет историю трафика за период
Reset certsудаляет внутренние сертификаты панели
Get SECRET_KEY for a XLADA Nodeвыводит SECRET_KEY для ноды
Exitвыходит из утилиты

Сброс администратора​

Reset superadmin полностью удаляет первую учётную запись администратора. После этого откройте панель в браузере — она снова предложит создать администратора с нуля. Утилита спрашивает подтверждение и сбрасывает закэшированные настройки, чтобы панель не помнила старые данные.

Вход по паролю​

Enable password authentication пригодится, если вы отключили парольный вход в настройках и остались без доступа. Команда возвращает переключатель в положение «включено», после чего можно войти обычным паролем.

Ключи для правил ответа​

Generate keypairs создаёт пару ключей для шифрования ответов правил маршрутизации. Можно выбрать age1 (X25519) или age1pq1 — гибридную схему, устойчивую к квантовым вычислениям. Публичный ключ вставляется в правило, приватный хранится у клиента и на сервер не передаётся.

Очистка данных​

Три команды очистки удаляют данные целиком, каждая со своим подтверждением:

  • Clean up HWID Devices — все устройства пользователей;
  • Clean up SRH Table — историю запросов подписки;
  • Clean up Users Usage Table — историю трафика и пересобирает индексы.

Delete Users Usage by date range удаляет историю трафика только за нужный период. Даты вводятся строго в формате ДД-ММ-ГГГГ, например 01-01-2026. Можно выбрать одиночный запрос (быстрее, но дольше держит блокировку) или пакетный режим с индикатором прогресса. В конце выполняется VACUUM, поэтому окно закрывать нельзя — прерывание оставит таблицу раздутой.

# перед очисткой сохраните дамп
docker exec xpanel-db pg_dump -U xpanel xpanel > backup-$(date +%F).sql

Сертификаты и ноды​

Reset certs удаляет внутренние сертификаты. После этого SECRET_KEY на всех нодах перестанет работать, и их придётся подключить заново. После команды перезапустите панель:

docker compose down && docker compose up -d

Get SECRET_KEY for a XLADA Node выводит SECRET_KEY для подключения новой ноды — выручает, если получить его в панели не удаётся.

Осторожно

Reset certs ломает связь со всеми нодами сразу. Не выполняйте её, если не готовы заново выдать ключи каждому серверу.

CLI ноды​

У ноды свой CLI с отдельным набором команд:

docker exec -it xpanel-node cli

Он умеет выгрузить текущую конфигурацию Xray, разорвать соединения по IP и очистить логи Xray. Команды доступны и без меню:

docker exec -it xpanel-node cli --dump-config # конфигурация с подсветкой
docker exec -it xpanel-node cli --dump-config-raw # машиночитаемый вывод
docker exec -it xpanel-node cli --kill-sockets # разорвать соединения по IP
docker exec -it xpanel-node cli --clear-logs # очистить логи Xray
docker exec -it xpanel-node cli --help # справка

Очистка логов выполняет ротацию файлов, Xray при этом не перезапускается и трафик не прерывается.

Совет

Вывод --dump-config-raw удобно перенаправлять в файл для сравнения версий конфигурации:

docker exec -i xpanel-node cli --dump-config-raw > xray-config.json

Что дальше​