5.4 KiB
XLX-Pistarscript-panel-Install
Памятка по развёртыванию собственного XLX-рефлектора (мультирежимный DMR/D-Star/YSF рефлектор) вместе с самописной веб-панелью регистрации позывных и набором файлов для хотспотов Pi-Star. Репозиторий не содержит кода — это пошаговая инструкция автора, описывающая порядок установки и связывание трёх своих репозиториев (xlxd-debian-installer, reg, pistar), а также cron-задание, которое выкладывает базы DMR ID в веб-каталог, откуда их забирают хотспоты.
Исходный текст инструкции сохранён как 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.
Как запустить/установить
- Установка рефлектора:
git clone https://github.com/viktor138irk/xlxd-debian-installer
/root/xlxd-debian-installer.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.
- Файлы для Pi-Star:
cd /var/www/xlxd
git clone https://github.com/viktor138irk/pistar
nano /xlxd/dmrid.sh
Содержимое /xlxd/dmrid.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).
- Права и расписание:
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, нет проверок ошибок и логирования результата (в лог пишется только дата запуска).