docs: подробный README (разбор проекта при переносе в Gitea)

Старый README сохранён как README.upstream.md.
Этот коммит содержится в:
2026-08-20 04:18:38 +09:00
родитель fdc455612c
Коммит 68d76ee319
2 изменённых файлов: 108 добавлений и 31 удалений
+52 -31
Просмотреть файл
@@ -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`, нет проверок ошибок и логирования результата (в лог пишется только дата запуска).
+56
Просмотреть файл
@@ -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