Личный мост, чтобы оставаться на связи без интернета — пока карманная нода в зоне приёма меш-сети, тебе можно написать в обычный Telegram.
Друзья пишут в Telegram-боту — бот шлёт зашифрованный DM по радио на твою карманную ноду. Отвечаешь одной строкой — ответ улетает обратно в Telegram конкретному человеку. Адресная связь поверх mesh, без общего чата и без приложений у собеседников.
Чтобы остаться на связи в местах без сотовой сети, не нужно заставлять родных и друзей ставить себе приложение Meshtastic, разбираться в каналах, hops и SF11. Meshgram — это не общий чат на радио, а мост из Telegram в LoRa: собеседник пишет в привычный Telegram-бот, на карманной Heltec-ноде сообщение приходит по радио. Адресно, конкретному человеку, без общего канала.
Telegram уже стоит у всех. Открыл бота, написал — это всё. Никаких каналов, hops, ключей и установки приложения Meshtastic.
Между home-нодой и pocket-нодой идёт E2E-зашифрованный DM Meshtastic. Чужие узлы на канале только ретранслируют пакет, содержимое не читают.
Каждый собеседник получает короткий слот: @1, @2, @3. Повторные сообщения от того же человека падают в тот же слот — переписка не разрывается.
« передаю → отправлено → доставлено → ответ». LoRa-ACK от карманной ноды поднимается обратно до Telegram-пользователя.
Очередь в SQLite, экспоненциальный бэк-офф 2→4→8→16 мин. Сервер упал — после старта добивает то, что не доехало.
Heltec V3/V4, T-Beam, T-Echo, T-Deck, RAK4631, Xiao S3, ThinkNode M1-M6 и ещё ~40. SVG-рендеры с офсайта Meshtastic.
Нажми «Послать сообщение» — увидишь весь путь: Telegram-чат → серверы Telegram →
твой сервер с relay.py → home-нода Heltec → LoRa-эфир → pocket-нода у адресата.
Всё ниже — уже в production, а не «в планах». Бета-функции помечены β. Дорожная карта — в разделе голосования.
Каждому собеседнику — короткий слот, как мини-чат. Окно жизни 20 часов до первого ответа, +10 часов после. Освобождённые номера переиспользуются — нумерация не разрастается.
«передаю → отправлено → доставлено → ответ» — как в обычном Telegram. Не дошло за TTL — inline-кнопка « ещё раз».
Опциональный закрытый режим — пускаем только своих. Бан тихий: забаненный получает обычное «не принимает сообщения», без подсказок что и когда вызвало бан.
Раздаёшь разным аудиториям свои ссылки — у тебя в кармане видно, откуда пришёл человек: [@3 work:vlad], [@5 friends:anya].
Команда /where от избранных пользователей возвращает текущие координаты с пометкой свежести. Остальным — нейтральный ответ «недоступно», ничего не выдаёт о настройке.
Триггер #SOS с карманной ноды — рассылка пред-настроенному списку контактов с координатами. «Красная кнопка» без защиты от ложных срабатываний — приоритет надёжности.
Если связь временно пропала — сообщение в очереди. Бэк-офф 2 → 4 → 8 → 16 минут до истечения TTL. Очередь переживает рестарт сервера — после старта продолжает добивать.
Тёмная тема в стиле dev-консоли, splitter с лайв-логом и панелью ноды, восемь секций настроек, мастер первичной установки в три шага.
Бот и GUI живут в разных процессах. GUI запускает relay.py через
QProcess, читает stdout → раскрашенный лог. Закрыть окно — бот продолжает работать.
Открытые проекты, связанные с мостами Telegram ↔ Meshtastic LoRa. Ссылки на исходники.
| Проект | Маршрутизация | Ключевые фичи |
|---|---|---|
|
Meshgram это
|
addressed @N | Sticky-слоты @N на каждого собеседника, цепочка статусов доставки, нативный PyQt6 GUI с тёмной темой, 50+ моделей нод, whitelist, реферальные deep-links, SOS, GPS /where |
| group bridge | MQTT для соединения mesh-сетей разных городов, веб-карта нод, APRS bidirectional, plugin-архитектура, console-команды (/distance, /ping, /stats). Используется коммьюнити в Киеве |
|
| group bridge | UTF-8 chunking длинных сообщений с ACK-gating, синхронизация эмодзи-реакций, plugin dm_http_command (DM → HTTP-API), Docker, systemd-юниты, reply-link mapping |
|
| group bridge | Serial и TCP подключение к ноде, авто-reconnect, rate-limiting, опциональный syslog. Минимальный YAML-конфиг | |
| group bridge | Авто-ответы по ключевым словам с RSSI/SNR и hop-count, разбивка длинных сообщений, логирование чатов в файлы, маппинг node ID → имя | |
| group bridge | Мост Meshtastic ↔ приватные группы Telegram, двунаправленная связь | |
| group bridge | Минимальный форвардер сообщений TG ↔ нода через serial-интерфейс | |
| mesh → TG | Лёгкий Python-скрипт, форвардит входящие LoRa-сообщения через USB в Telegram-чат. Односторонний |
Сейчас Meshgram требует ПК с relay.py — он держит USB-ноду и связывается с Telegram. В планах — упростить до того, что у тебя дома стоит только сама нода с Wi-Fi на подоконнике, а relay живёт у нас на сервере. Никаких локальных процессов, никакого VPN ради бота.
Нода с Wi-Fi (Heltec V3/V4, T-Beam) питается через зарядку, подключается к домашнему роутеру. Один раз настроил — дальше работает.
Сообщения идут от ноды через MQTT-bridge на наш VPS, оттуда в Telegram. Для России это значит, что VPN тебе на ПК больше не нужен — мост работает с нашей стороны.
Поддержка пары одинаковых нод, sticky-слоты @N,
ретраи, ACK-статусы — всё то же что в self-host версии. Просто
без локального процесса на ПК.
У проекта есть демо-бот в Telegram. Он не подключается к реальной mesh-сети, не требует ни ноды, ни настроек — просто показывает интерфейс и флоу как у настоящего Meshgram. 30 секунд — и ты понимаешь, как это выглядит со стороны пользователя.
Увидишь живую цепочку статусов «📨 передаю → 📨 отправлено →
✓ доставлено», слот @N, ответ от «фейкового Михаила»
через 5–12 секунд — ровно тот же UX, что и в боевом режиме.
Если зашло — есть команда /donate: поддержать можно
через CryptoBot (USDT) или нативными Telegram Stars (⭐). Без
обязательств — это сольный любительский проект, любая копейка идёт
в счёт хостинга и нод-ретрансляторов.
Это не дорожная карта по комитету — финальное решение остаётся за автором. Но голоса показывают, что нужно реальным пользователям, а не только мне. Чем больше людей просят одно и то же — тем выше приоритет.
Опиши свою идею — она уйдёт в общий пул. Лучшие предложения попадают в следующий раунд голосования или сразу в работу. Кратко, по делу — что делать и зачем это нужно.
Один Python на всё: бэкенд, GUI, скрипты. Никакого Node, Electron, JS-тулчейна.
Конечный пользователь запускает один .bat-файл.