Как не открывать навязанный мессенджер и выжить: история одного моста Max2TG 🚀🚪
Привет,
Случалось ли у вас такое: сидите вы в своём уютном Telegram, пьёте кофе, пишете код… и тут приходят они — инициаторы «великого переезда».
С горящими глазами они объявляют:
Ребята, с понедельника мы все дружно переходим на корпоративный мессенджер МАКС!
И ладно бы это был просто мессенджер. Но к нему обычно прилагаются новый интерфейс, слежка, новые уведомления, которые ломают привычный дзен.
В общем, кто-то с ИИ-напарником сел, переглянулись и решили: если мы не можем отменить МАКС, мы можем сделать так, чтобы никогда его не открывать.
Max2TG — двусторонний мост между МАКСом и Telegram Topics, написанный полностью на чистом вайбе. Ну и на Python, конечно.
Сразу важное уточнение: автор этого поста и автор репозитория никак не связаны. Я просто нашёл проект, посмотрел на идею, восхитился уровнем инженерного упрямства и решил оформить это в виде небольшого рассказа.
Как это работает
Вместо того чтобы держать открытым приложение МАКС, вы создаёте одну Telegram-группу с включёнными топиками, то есть форумами, и приглашаете туда бота.
Дальше всё работает примерно так:
каждый чат или канал в МАКСе превращается в отдельный топик в Telegram;
кто-то пишет вам в МАКС — бот ловит сообщение и аккуратно пересылает его в нужный топик в Telegram;
вы отвечаете на сообщение в топике Telegram — бот отправляет ответ обратно в МАКС от вашего имени;
картинки, видео, файлы, редактирование и даже удаление сообщений синхронизируются в обе стороны.
С технической точки зрения самое интересное здесь то, что приложение, судя по всему, эмулирует работу официального клиента МАКСа.
Как так получилось, почему это работает и кто вообще оставил эту дверь приоткрытой — науке неизвестно. Мы, как говорится, просто наблюдаем интересный инженерный артефакт.
Выглядит это так: для коллег вы прилежный сотрудник, который мгновенно отвечает в МАКСе. Для себя — человек, который вообще не сворачивает Telegram.
Победа? Победа.
Что под капотом
Проект собран на классическом Python-стеке:
aiogram;
aiosqlite;
python-dotenv.
Но дьявол, как обычно, крылся в деталях. Точнее — в зависимостях.
Поскольку оригинальный API МАКСа завязан на корпоративный TLS со стеком GOST/LibreSSL, при первой сборке авторы столкнулись с суровой реальностью: библиотека шифрования стабильно выдавала SIGSEGV, то есть падение процесса, при долгих параллельных запросах.
Как это решили?
Вайбкодинг-стилем.
Приложение разнесли на три изолированных процесса:
Основной процесс — Telegram, SQLite и логика синхронизации.
max-polling — отдельный процесс-слухач для событий МАКСа.
max-sdk-worker — отдельный процесс для отправки сообщений.
Если суровое шифрование падает от сетевого шока, падает только один маленький воркер, который тихо перезапускается Docker-ом. Основной бот в Telegram при этом даже бровью не ведёт.
Костыль? Нет, отказоустойчивая микросервисная архитектура! 😎
Важный дисклеймер
Этот пост — не рекомендация нарушать корпоративные политики, требования ИБ, правила использования сервисов или внутренние регламенты компании.
Если у вас в организации запрещены неофициальные клиенты, мосты, прокси, боты, автоматизация сообщений или эмуляция работы приложений — лучше не пытаться быть героем. В корпоративной среде «оно же просто пересылает сообщения» очень быстро превращается в разговор с безопасниками, юристами и руководителем.
Проект стоит воспринимать в первую очередь как любопытный инженерный эксперимент: пример того, как люди строят мосты между несовместимыми мирами, когда один мир очень хочет жить в Telegram, а другой внезапно переехал в государственный мессенджер.
Итог
Мост собран, протестирован, залит на GitHub и готов к бою.
Теперь вся коммуникация с МАКСом может происходить из любимого кресла в Telegram.
Если вас тоже пытаются насильно пересадить на новые корпоративные рельсы — не унывайте. Пишите мосты, кодите на вайбе и берегите свою менталку.
Код и инструкция по настройке здесь:
GitHub