2.2 KiB
2.2 KiB
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:
- Первый poll — медленный (10-17с,
rss.phpпроксирует с tg.i-c-a.su) - Со второго — мгновенно из кэша
- Картинка первого поста — тоже медленная, дальше мгновенно
Можно сразу прогреть вручную: открыть https://proxy.budaev.org/rss/username.
Важно
- Не забудь добавить username в
channels.json(для мониторинга, не влияет на работу) - Картинки живут в кэше 24ч, потом перезапрашиваются