вер 2026
Шлюз SMS у Telegram
Raspberry Pi з 3G-модемом, що пересилає кожне вхідне SMS у Telegram
- Автоматизація
- Домашня лабораторія
- Тривалість
- 1 місяць
- Роль
- Єдиний власник; налаштування в сесіях Claude Code
Огляд
Raspberry Pi з USB 3G-модемом, що пересилає кожне вхідне SMS у канал Telegram. Він працює як самовідновлюваний сервіс і доступний звідусіль через Tailscale, тож для читання повідомлень більше не потрібен пристрій із SIM-карткою.
Інструменти
- Raspberry Pi
- Python
- systemd
- Telegram
- Tailscale
Обмеження модема
SMS, що надходять на SIM-картку, можна прочитати лише на пристрої, у якому вона стоїть. Модем Huawei E303 у режимі HiLink має лише веб-API, без послідовного режиму й без USSD на цій прошивці. Після підключення він перехоплював у Pi типовий маршрут і DNS, а після повторного вставлення SIM втрачав картку до перезапуску.
Сервіс
Pi працює на Debian 13 з SSH за ключами через Tailscale. Сервіс на Python кожні 10 секунд опитує HiLink API модема, надсилає кожне нове SMS у канал Telegram через бота, позначає його прочитаним і веде файл стану, щоб нічого не надсилалося двічі. Він також обходить ваду кодування UTF-8/CESU-8 у модемі, тож грузинський текст і емодзі доходять без спотворень.
Самовідновлення
Коли модем повідомляє про втрату SIM, скрипт перезапускає його через власний API модема з 15-хвилинною паузою між спробами. NetworkManager налаштовано так, щоб модем ніколи не ставав типовим маршрутом чи DNS, а systemd перезапускає сервіс щоразу, коли той зупиняється.
Результат
Протестовано від початку до кінця 4 вересня 2026 року. Після повторного вставлення SIM він більше не потребує ручного перезапуску.