fix(site): export preview/download and restore GeoExport deploy

Restore site/ mirror, patch export fetch for empty API responses and
Keenetic format, add Telegram bot card, and switch install.sh back to
geoexport-site systemd + nginx on port 4173.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Андрей Бобырев
2026-05-24 21:54:23 +03:00
parent 35e815641e
commit afc2d5470e
14 changed files with 442 additions and 68 deletions

47
site/README.md Normal file
View File

@@ -0,0 +1,47 @@
# GeoExport — локальная копия
Зеркало интерфейса [geoexport.org](https://geoexport.org/): экспорт списков geoip/geosite для VPN-клиентов (Xray, 3x-ui, V2Ray).
## Запуск
```bash
cd ~/geoexport-clone
npm start
```
Откройте в браузере: **http://127.0.0.1:4173**
Другой порт: `PORT=8080 npm start`
## Состав
| Путь | Назначение |
|------|------------|
| `index.html` | Точка входа SPA |
| `assets/` | Собранный фронтенд (React + Tailwind) с оригинала |
| `data/*.json` | Кэш API: пресеты, источники, дата обновления |
| `server.mjs` | Локальный сервер: статика + JSON + прокси динамических API |
## Обновление данных
```bash
curl -sL https://geoexport.org/api/presets -o data/presets.json
curl -sL https://geoexport.org/api/sources -o data/sources.json
curl -sL https://geoexport.org/api/last-update -o data/last-update.json
curl -sL https://geoexport.org/api/routing/presets -o data/routing-presets.json
```
## Патч экспорта
Перед запуском применяется `patch-bundle.mjs` (превью/скачивание, Keenetic, пустые ответы API).
```bash
npm start # prestart → patch автоматически
```
Карточка про Telegram-бота `@domain_searchPro_bot``assets/telegram-bot.js`.
## Ограничения
- Экспорт, поиск, DNS lookup и генерация routing проксируются на живой `geoexport.org` (нужен интернет).
- Это копия UI и кэшированных справочников, не полный автономный бэкенд с базами `.dat`.