From 68d76ee3195f523f2f8e0c7351dac98ee566c186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= Date: Thu, 20 Aug 2026 04:18:38 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BF=D0=BE=D0=B4=D1=80=D0=BE=D0=B1?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20README=20(=D1=80=D0=B0=D0=B7=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=BE=D1=81=D0=B5?= =?UTF-8?q?=20=D0=B2=20Gitea)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Старый README сохранён как README.upstream.md. --- README.md | 83 +++++++++++++++++++++++++++++----------------- README.upstream.md | 56 +++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 31 deletions(-) create mode 100644 README.upstream.md diff --git a/README.md b/README.md index bbe9497..5cc3a17 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,77 @@ -Установка XLX +# 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`, нет проверок ошибок и логирования результата (в лог пишется только дата запуска). diff --git a/README.upstream.md b/README.upstream.md new file mode 100644 index 0000000..bbe9497 --- /dev/null +++ b/README.upstream.md @@ -0,0 +1,56 @@ +Установка XLX + + +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 + +--------------------------------------------------------------------- + +Установка скриптов для пистар + +cd /var/www/xlxd + +git clone https://github.com/viktor138irk/pistar + +nano /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 + +----------------------------------------------------------------------- + +chmod 755 /xlxd/dmrid.sh + +echo "* * * * * /xlxd/dmrid.sh" >> /var/spool/cron/crontabs/root + +echo "@reboot /root/restartall.sh" >> /var/spool/cron/crontabs/root +