# XLX-Pistarscript-panel-Install Памятка по развёртыванию собственного XLX-рефлектора (мультирежимный DMR/D-Star/YSF рефлектор) вместе с самописной веб-панелью регистрации позывных и набором файлов для хотспотов Pi-Star. Репозиторий не содержит кода — это пошаговая инструкция автора, описывающая порядок установки и связывание трёх своих репозиториев (`xlxd-debian-installer`, `reg`, `pistar`), а также cron-задание, которое выкладывает базы DMR ID в веб-каталог, откуда их забирают хотспоты. Исходный текст инструкции сохранён как [README.upstream.md](README.upstream.md) — он является первоисточником, ниже приводится его разбор. ## Стек - Bash, cron. - Debian-сервер с Apache2 + PHP (ставит `xlxd-debian-installer`), каталог рефлектора `/xlxd`, веб-каталог `/var/www/xlxd`. - Веб-панель регистрации (репозиторий `reg`) — хранит данные в `db.json` и генерирует `dmrid.dat`. - Клиентская сторона — хотспоты Pi-Star, забирающие файлы ID по HTTP. ## Структура - `README.upstream.md` — оригинальная инструкция автора (единственный содержательный файл репозитория). - `README.md` — этот файл. Внешние компоненты, на которые ссылается инструкция: - `xlxd-debian-installer` — установщик самого рефлектора (форк, отдельный репозиторий). - `reg` — панель регистрации и администрирования позывных, разворачивается в `/var/www/xlxd/reg`. - `pistar` — каталог файлов для хотспотов, разворачивается в `/var/www/xlxd/pistar`. ## Как запустить/установить 1. Установка рефлектора: ```sh git clone https://github.com/viktor138irk/xlxd-debian-installer /root/xlxd-debian-installer.sh ``` 2. Панель регистрации позывных: ```sh cd /var/www/xlxd git clone https://github.com/viktor138irk/reg chmod 666 /var/www/xlxd/reg/db.json chmod 666 /var/www/xlxd/reg/dmrid.dat ln -s /var/www/xlxd/reg/dmrid.dat /xlxd/dmrid.dat ``` Симлинк подставляет базу, которую ведёт панель, на место базы ID, читаемой демоном `xlxd`. 3. Файлы для Pi-Star: ```sh cd /var/www/xlxd git clone https://github.com/viktor138irk/pistar nano /xlxd/dmrid.sh ``` Содержимое `/xlxd/dmrid.sh`: ```sh #!/bin/bash echo $(date) >> /var/log/dmrid.log curl -o /var/www/xlxd/pistar/DMRIds.dat https://www.pistar.uk/downloads/DMRIds.dat cp /xlxd/dmrid.dat /xlxd/DMRIdsYKT.dat sed -i -e 's/;/\t/g' /xlxd/DMRIdsYKT.dat cp /xlxd/DMRIdsYKT.dat /var/www/xlxd/pistar/DMRIdsYKT.dat rm /xlxd/DMRIdsYKT.dat ``` Скрипт скачивает мировую базу `DMRIds.dat` с pistar.uk и рядом кладёт локальную базу рефлектора, конвертируя разделитель `;` в табуляцию (формат, который ожидает Pi-Star). 4. Права и расписание: ```sh chmod 755 /xlxd/dmrid.sh echo "* * * * * /xlxd/dmrid.sh" >> /var/spool/cron/crontabs/root echo "@reboot /root/restartall.sh" >> /var/spool/cron/crontabs/root ``` ## Конфигурация - Пути жёстко зашиты: `/xlxd` (рабочий каталог рефлектора), `/var/www/xlxd` (веб-корень), `/var/www/xlxd/reg`, `/var/www/xlxd/pistar`. - Имя локальной базы для хотспотов — `DMRIdsYKT.dat`. - Источник мировой базы ID — `https://www.pistar.uk/downloads/DMRIds.dat`. - Расписание cron — ежеминутно (`* * * * *`). - Права `666` на `db.json` и `dmrid.dat` нужны, чтобы панель под `www-data` могла их перезаписывать. ## Состояние Рабочая памятка, соответствующая реально развёрнутой инсталляции. Последний коммит 2025-07-12, всего 3 коммита (первичный импорт и две правки README). ## Что не доделано - Скрипт `/xlxd/dmrid.sh` существует только в виде текста в инструкции — в репозитории его нет, при установке он набирается вручную. - Упомянутый `/root/restartall.sh` (запуск по `@reboot`) нигде не описан и в репозитории отсутствует. - Запуск раз в минуту избыточен: каждая минута тянет полную мировую базу DMR ID с внешнего сайта. - Нет описания репозиториев `reg` и `pistar`, нет проверок ошибок и логирования результата (в лог пишется только дата запуска).