Files
2026-08-20 04:18:37 +09:00

4.9 KiB

XLX Server

Собственный XLX/DMR-сервер для пользователей Pi-Star.

Что уже есть

  • платная регистрация;
  • проверка позывного по внутренней базе зарегистрированных пользователей;
  • YooKassa;
  • ручной перевод с подтверждением по чеку;
  • автоматическая выдача внутреннего DMR ID;
  • отдельный DMR-пароль для Pi-Star;
  • установка и управление xlxd;
  • главный пользовательский дашборд /;
  • админка настроек xlxd /admin;
  • управление xlxd из админки: status/start/stop/restart;
  • графический редактор /xlxd/xlxd.blacklist, xlxd.whitelist, xlxd.interlink, xlxd.terminal;
  • статистика последних событий и вызовов на главной;
  • экспорт активных пользователей для будущего access gateway.

Компоненты

  • xlxd - мультипротокольный XLX reflector.
  • public/index.php - PHP API и web routes.
  • public/assets - стили и JS дашбордов.
  • src/Domain - регистрация, проверка дублей позывного, оплата, выдача ID, настройки XLX.
  • database/schema.sql - схема MariaDB/MySQL.
  • scripts/install-xlxd.sh - установка и сборка xlxd.
  • scripts/xlx-control - start/stop/status для systemd.

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

Для полной установки панели, базы, YooKassa-заготовки и самого xlxd используй общий установщик.

Установка без домена

sudo apt update
sudo apt install -y git
git clone https://github.com/viktor138irk/xlx.git
cd xlx
sudo bash scripts/install-system.sh

Web-панель устанавливается в /opt/xlx-server, поэтому Apache не зависит от папки, где был выполнен git clone.

Установщик сам выберет адрес сервера:

  1. XLX_PUBLIC_HOST, если переменная задана;
  2. hostname -f;
  3. первый IP из hostname -I;
  4. 127.0.0.1, если ничего не найдено.

В конце установки будут показаны:

  • адрес сайта;
  • адрес админки;
  • admin token;
  • webhook URL для YooKassa;
  • логин и пароль БД.

Установка с доменом

sudo apt update
sudo apt install -y git
git clone https://github.com/viktor138irk/xlx.git
cd xlx
sudo XLX_PUBLIC_HOST=xlx.example.ru bash scripts/install-system.sh

Если домен появится позже, его можно поменять в админке /admin.

Установка с YooKassa

sudo \
  XLX_PUBLIC_HOST=xlx.example.ru \
  YOOKASSA_SHOP_ID=123456 \
  YOOKASSA_SECRET_KEY=secret_key \
  bash scripts/install-system.sh

Webhook для YooKassa установщик выведет в конце. Он выглядит так:

http://адрес-сервера/api/webhooks/yookassa?token=секрет

Если сервер работает через HTTPS:

sudo \
  XLX_PUBLIC_SCHEME=https \
  XLX_PUBLIC_HOST=xlx.example.ru \
  YOOKASSA_SHOP_ID=123456 \
  YOOKASSA_SECRET_KEY=secret_key \
  bash scripts/install-system.sh

После установки

Открой:

  • / - главная страница и регистрация пользователей;
  • /admin - админка настроек xlxd;
  • /api/health - проверка API.

Для Pi-Star нужен UDP порт 62030. Также обычно открывают:

sudo bash scripts/firewall-ufw.sh

Управление XLX

sudo systemctl start xlxd
sudo systemctl stop xlxd
sudo systemctl restart xlxd
sudo systemctl status xlxd
sudo tail -f /var/log/xlxd.log

Только установка reflector

Если нужна только сборка и запуск xlxd без полной панели:

git clone https://github.com/viktor138irk/xlx.git
cd xlx
sudo mkdir -p /etc/xlx
sudo cp config/xlxd.env.example /etc/xlx/xlxd.env
sudo nano /etc/xlx/xlxd.env
sudo bash scripts/install-xlxd.sh
sudo systemctl start xlxd

Документация

  • docs/INSTALL_SYSTEM.md - установка всей системы без привязки к домену или IP.
  • docs/INSTALL_XLXD.md - установка reflector.
  • docs/PAYMENTS_AND_REGISTRATION.md - регистрация, YooKassa и чеки.
  • docs/ADMIN_DASHBOARD.md - главная и админка.

Статус

v0.2.0-dev.

Следующий шаг - UDP access gateway для жесткой проверки оплаченного доступа перед xlxd.