58 lines
2.2 KiB
Markdown
58 lines
2.2 KiB
Markdown
# PHP-Proxy для Telegram RSS
|
||
|
||
Архитектура:
|
||
```
|
||
tg.i-c-a.su (10-17s) → proxy.budaev.org (PHP + кэш) → бот (<0.1s)
|
||
```
|
||
|
||
## Установка
|
||
|
||
### 1. Загрузить файлы на хостинг
|
||
|
||
Через FTP залить всё содержимое `php-proxy/` в корень домена `proxy.budaev.org`:
|
||
```
|
||
/home/USER/www/proxy.budaev.org/
|
||
.htaccess
|
||
rss.php
|
||
media.php
|
||
channels.json
|
||
```
|
||
|
||
### 2. Прогреть кэш
|
||
|
||
Открыть в браузере (каждый запрос ~10-17с):
|
||
```
|
||
https://proxy.budaev.org/rss/gremtelegram
|
||
https://proxy.budaev.org/rss/raiznews
|
||
https://proxy.budaev.org/rss/droidergram
|
||
https://proxy.budaev.org/rss/mkvburyatii
|
||
https://proxy.budaev.org/rss/markettwits
|
||
```
|
||
|
||
### 3. Обновить deltabot.py
|
||
|
||
Изменения уже сделаны локально. Задеплоить на сервер:
|
||
```
|
||
scp deltabot.py SERVER:~/delta-bot/ && ssh SERVER sudo systemctl restart deltabot
|
||
```
|
||
|
||
## Как это работает
|
||
|
||
- **Без cron** — кэш наполняется лениво, по первому запросу. Крон не нужен.
|
||
- **`rss.php`** — отдаёт RSS из кэша (TTL 600с). При кэш-миссе проксирует с tg.i-c-a.su, кэширует.
|
||
- **`media.php`** — отдаёт картинки из кэша (TTL 24ч). При кэш-миссе скачивает и кэширует.
|
||
- **Бот** — стучится на `rss.php` как на обычный RSS-прокси. Ничего не знает про кэш.
|
||
|
||
## Добавление нового канала
|
||
|
||
После `/channels add username`:
|
||
1. Первый poll — медленный (10-17с, `rss.php` проксирует с tg.i-c-a.su)
|
||
2. Со второго — мгновенно из кэша
|
||
3. Картинка первого поста — тоже медленная, дальше мгновенно
|
||
|
||
Можно сразу прогреть вручную: открыть `https://proxy.budaev.org/rss/username`.
|
||
|
||
## Важно
|
||
|
||
- Не забудь добавить username в `channels.json` (для мониторинга, не влияет на работу)
|
||
- Картинки живут в кэше 24ч, потом перезапрашиваются
|