разработка
•
•
282 просмотров
Гайз, как обещал — рассказываю, как решил проблему с блокировкой АПИ Телеграм...
Увеличить
Гайз, как обещал — рассказываю, как решил проблему с блокировкой АПИ Телеграмма на сервере 🔧
Дисклеймер: сразу скажу, что тут никакого рокет саенс не будет, это даже не единственный способ. Я выбрал его и он рабочий. Всё!
Итак, вводная: мой блог (blog.polar-dev.com) парсит канал через Telethon — тянет посты, медиа, пишет в базу. Сервер стоит в РФ, на FreeBSD. И вчера всё тихо сломалось — парсер перестал доставать новые посты 😐
Ясно-понятно, похоже, появились ограничения доступа к API Telegram с российских IP.
Для защиты граждан, конечно же 🫡
Первая мысль — поднять SOCKS5-туннель через SSH до зарубежного VPS. Telethon это умеет нативно.
Но меня напрягло, что постоянное соединение, которое надо держать и мониторить,
весь трафик (включая медиа) через туннель приведёт к просадке скорости. Ну, и это лишняя точка отказа
Решил, как по мне, проще:💡
Вынес сам парсер на зарубежный VPS. Теперь он парсит канал, скачивает фото/аудио, конвертит в WebP — и складывает всё в JSON + папку media/.
А на FreeBSD-сервере по крону запускается sync-скрипт:
1. SSH на VPS -> запускает парсер
2. rsync забирает posts.json + media/
3. Скрипт импорта пишет в MySQL
Получается, парсер работает там, где нет блокировок. Сервер забирает готовый результат. Никаких туннелей, никаких прокси в рантайме 🤫
Получился такой вот пайплайн:
VPS: Telegram API -> JSON + WebP
FreeBSD: rsync -> MySQL -> сайт
З.Ы. Заметьте, делая полностью законный сервис для использования гражданами РФ, разработчики вынуждены для этого переносить сервер из РФ. Т.е. буквально лишают возможности соблюдать закон о локализации персональных данных (152-ФЗ)🤯
И да, мой способ позволит сохранять данные юзеров (если собираете) на территории РФ 💪
В общем, в этом случае я vs «Контора Оптимистов» — 1:0 😉
Дисклеймер: сразу скажу, что тут никакого рокет саенс не будет, это даже не единственный способ. Я выбрал его и он рабочий. Всё!
Итак, вводная: мой блог (blog.polar-dev.com) парсит канал через Telethon — тянет посты, медиа, пишет в базу. Сервер стоит в РФ, на FreeBSD. И вчера всё тихо сломалось — парсер перестал доставать новые посты 😐
Ясно-понятно, похоже, появились ограничения доступа к API Telegram с российских IP.
Для защиты граждан, конечно же 🫡
Первая мысль — поднять SOCKS5-туннель через SSH до зарубежного VPS. Telethon это умеет нативно.
Но меня напрягло, что постоянное соединение, которое надо держать и мониторить,
весь трафик (включая медиа) через туннель приведёт к просадке скорости. Ну, и это лишняя точка отказа
Решил, как по мне, проще:💡
Вынес сам парсер на зарубежный VPS. Теперь он парсит канал, скачивает фото/аудио, конвертит в WebP — и складывает всё в JSON + папку media/.
А на FreeBSD-сервере по крону запускается sync-скрипт:
1. SSH на VPS -> запускает парсер
2. rsync забирает posts.json + media/
3. Скрипт импорта пишет в MySQL
Получается, парсер работает там, где нет блокировок. Сервер забирает готовый результат. Никаких туннелей, никаких прокси в рантайме 🤫
Получился такой вот пайплайн:
VPS: Telegram API -> JSON + WebP
FreeBSD: rsync -> MySQL -> сайт
З.Ы. Заметьте, делая полностью законный сервис для использования гражданами РФ, разработчики вынуждены для этого переносить сервер из РФ. Т.е. буквально лишают возможности соблюдать закон о локализации персональных данных (152-ФЗ)🤯
И да, мой способ позволит сохранять данные юзеров (если собираете) на территории РФ 💪
В общем, в этом случае я vs «Контора Оптимистов» — 1:0 😉
#API
#Telegram
#Блокировки
#DevOps
#РКН
Понравился пост?
Обсуди его в Telegram-канале!
Обсуждение
Комментарии доступны через Telegram. Для участия в обсуждении нужен аккаунт Telegram.
Поделиться: Telegram