15 августа я показал здесь Telemax — мост, который приносит переписку из MAX в Telegram. Пост прочитали 14 тысяч раз, под ним набралось 48 комментариев.

Каждый чат MAX — отдельная тема в группе Telegram. Здесь геолокация ушла в MAX, а в ответ пришёл видео кружок.

А на следующий день ссылка на GitHub из поста начала отдавать 404. Не репозиторий удалён, не аккаунт заблокирован — просто для всех, кто не вошёл под моим именем, меня и моего кода больше не существовало. Читатели шли по ссылке и упирались в пустую страницу, а те, кто уже поставил мост, потеряли обновления.

Разбанили меня только через месяц. Эта статья — о том, как прошёл этот месяц, как проект пережил его без GitHub и что из ваших комментариев за это время стало обновлениями.

Что произошло

Никакого письма, баннера или предупреждения не было. Сам я видел свой аккаунт как обычно, и заметил проблему, только когда открыл репозиторий в режиме инкогнито. Дальше всё по переписке с поддержкой:

  • 19 августа. Пишу в поддержку: аккаунт и все репозитории для посторонних отдают 404. В тот же день отвечают: активность отметила автоматическая система поиска нарушений, расскажите, как собираетесь пользоваться GitHub.

  • Тот же день. Подробно объясняю: я разработчик, а это отдельный аккаунт под один проект. Проект бесплатный, с открытым кодом, каждый ставит его на свой сервер. Всплеск активности — это запуск и частые релизы. Заодно включаю двухфакторную аутентификацию и подтверждаю телефон.

  • 27 августа. Восемь дней тишины. Вежливо напоминаю: пока репозиторий скрыт, пользователи не могут получить обновления, в том числе с исправлениями безопасности.

  • Около 10 сентября. Три недели без ответа. Напоминаю ещё раз и открываю отдельное обращение с основного аккаунта.

  • 18 сентября. Ответ: извините за задержку, сейчас много обращений. Иногда система отмечает аккаунты для ручной проверки — ограничения сняты.

Итого месяц, один вопрос от поддержки и ни слова о том, что именно их смутило. Бывалые говорят, что под автоматическую проверку просто так не попадают и часто за такой формулировкой стоит чья‑то жалоба. Проверить это нельзя, так что оставлю как есть.

Как жить без GitHub

Ждать месяц сложа руки я не стал. За пару дней поднял собственное зеркало проекта на своём сервере, с HTTPS. В пост добавил команду установки с него, и дальше все релизы выходили туда.

Запасной путь стал постоянным. Установщик, кнопка «Обновить» и проверка новых версий сначала идут на GitHub, а если тот недоступен — сами переключаются на зеркало. Пользователю ничего делать не нужно.

Проверка версии
Проверка версии

Проверка версии в боте выглядит одинаково, откуда бы ни пришло обновление.

У зеркала есть очевидный вопрос: почему ему должны доверять? Ответ — подпись. В разгар бана, 22 августа, я включил обязательную подпись релизов: каждую версию я подписываю своим ключом, а мост перед установкой проверяет подпись. Неподписанное или подменённое обновление он просто не ставит. Так всё равно, откуда пришёл код, — с GitHub или с зеркала: зеркало только транспорт.

Когда аккаунт вернули, я в тот же день выложил на GitHub всё накопившееся, и зеркало и GitHub снова совпали до коммита. Зеркало никуда не делось и работает до сих пор.

Месяц ожидания — месяц работы

Пока поддержка молчала, вышло больше 30 релизов. Заметная часть — ответы на вопросы из комментариев к первому посту. Спасибо всем, кто спрашивал, ставил и ругался.

“Можно ли два аккаунта MAX?” (@UrsusMaritimus). Тогда ответ был «поднимайте второй контейнер вручную». Теперь второй мост ставится той же командой в соседний каталог, а автообновление обслуживает все мосты на сервере.

«Можно ли SOCKS5-прокси для Telegram?» (тот же автор). Да: прокси задаётся при установке или потом в меню настроек, и мост проверяет связь через него до того, как сохранить. MAX при этом идёт напрямую. Спецсимволы в пароле прокси тоже больше ничего не ломают.

“Поставил — не работает, где взять API‑ключ?” (@denaturat, спасибо за первый живой отзыв). Веб‑панели и API‑ключа больше нет совсем — у сервера не осталось открытых портов. Вход в MAX теперь в личке бота: номер, код из SMS и, если есть, пароль — проскочить его уже не получится. Установщик сам проверяет токен, группу и права бота и показывает чек‑лист: что в порядке, чего не хватает и куда нажать. А бот после запуска пишет в группу «✅ Telemax подключён», чтобы было видно, что он жив.

Группа сразу после установки
Группа сразу после установки

Так группа выглядит сразу после установки: бот ставит аватарку, пишет, что подключён, и закрепляет пульт с кнопкой входа в MAX.

“Заработает на российском VPS?” (@ribkash). Да, если с сервера есть связь с Telegram — напрямую или через тот самый прокси.

“Как долго проживёт?” (@JTNeXuS). Тридцать релизов за месяц бана — наверное, лучший ответ. Мои рабочие чаты тоже там, так что мост чинится быстро.

И ещё за этот месяц:

  • в групповых чатах видно, кто написал, есть список участников, и любому можно написать в личку одним нажатием;

  • правки из MAX помечаются со временем правки;

  • в пульте появился «Статус», а контакт из Telegram можно просто переслать в группу — мост найдёт человека в MAX по номеру;

  • код открыт под лицензией AGPL-3.0;

  • установщик предлагает поставить Fail2ban от подбора паролей SSH и спокойно переживает свежие VPS с их сюрпризами;

  • неудачное обновление откатывается на прежнюю версию.

Карточка «Статус»
Карточка «Статус»

«Статус» в пульте: связь, последние сообщения, диск и память сервера — без захода на сервер.

После разбана

За три недели после возвращения на GitHub мост добрался до версии 1.2.

Боты MAX — прямо из Telegram

Боты в MAX живут на кнопках, а раньше вместо них в Telegram приходила заглушка «[вложение: INLINE_KEYBOARD]» — её видно и на снимке в первом посте. Теперь кнопки приходят настоящими: ссылки открываются, «Скопировать код» копирует, а нажатие кнопки с действием уходит боту от вашего имени.

Кнопки бота MAX в Telegram
Кнопки бота MAX в Telegram

Кнопка «Завершить все сессии» от службы безопасности MAX нажимается прямо в Telegram.

GigaChat в Telegram
GigaChat в Telegram

GigaChat отвечает в теме, а «Новый ответ» и «Подсказки» работают так же, как в MAX.

Нового бота можно найти из пульта по нику или ссылке max.ru/… и начать с ним чат одной кнопкой.

Пульт и несколько мостов

Пульт Telemax
Пульт Telemax

Пульт закреплён в группе, номер в нём закрыт маской. Кнопки срабатывают только у администраторов.

Команда установки на сервере, где мост уже стоит, теперь открывает меню: обновить, перенастроить, поставить ещё один мост или удалить лишний. Перед удалением настройки сохраняются в резервную копию.

Надёжнее в мелочах

  • длинное сообщение из Telegram доходит в MAX целиком, альбом удаляется без «хвостов», mp3 доходит файлом;

  • если что‑то передать нельзя (кубик, история), мост пишет об этом в тему, а не молчит;

  • пропущенное, пока мост был недоступен, догружается и не теряется;

  • сбои связи больше не сбрасывают вход в MAX;

  • если обновление сорвалось, мне уходит анонимный отчёт без текста переписки, названий чатов и номера. Отключается одной строкой TELEMETRY=off.

Бесценный опыт )))

  1. Площадка может исчезнуть в любой день — без предупреждения и объяснения причин. Если проектом пользуются каждый день, запасной путь нужен заранее, а не после.

  2. Подпись важнее площадки. Когда каждый релиз подписан, его можно раздавать откуда угодно, и никому не нужно верить зеркалу на слово.

  3. Комментарии — лучший план. Половина того, что сделано за этот месяц, выросла из вопросов под первым постом и сообщений пользователей.

Как поставить

Нужен сервер на Ubuntu 22.04+ или Debian 12+ — хватит и VPS с менее чем 1 ГБ памяти и 3 ГБ свободного диска. Бот создаётся в @BotFather, в группе включаются темы, бот добавляется администратором с правом «Управление темами». Дальше одна команда от root:

curl -fsSL https://raw.githubusercontent.com/Trollobot/Telemax/main/install.sh | bash

Если GitHub с сервера недоступен — та же установка с зеркала:

curl -fsSL https://zergont-gate.duckdns.org/install.sh | bash

Потом /login в личке бота — и чаты MAX начнут появляться в группе. Тем, кто ставил мост после первого поста, достаточно нажать «Обновить».

Честно об ограничениях

  • Проект неофициальный и работает с вашим аккаунтом MAX на ваш страх и риск.

  • Это не сквозное шифрование: переписка проходит через ваш сервер, и его стоит защищать.

  • Любой участник группы в Telegram видит все ваши чаты MAX.

  • Звонки — только уведомления, мини‑приложения ботов открываются только в MAX.

  • Разработчик один: баги бывают, зато чинятся быстро.

Обратная связь

Нашли баг или есть идея — пишите боту @TelemaxSvv_bot или в Issues на GitHub — теперь он снова открывается.

Весь функционал бесплатный. Если пригодился — можно подогреть мотивацию разработчика: команда /donate прямо в боте.

Комментарии (1)


  1. trinxery
    10.10.2026 18:33

    показал проект на Хабре и получил бан на GitHub

    Про упомянутый бан и про новый способ распространения обновлений в этой статье 16 из где-то 55 абзацев, остальные -- реклама. -1.