ESPN DeportesFederación Portuguesa suspende a Cristiano Ronaldo tras abandonar la selecciónThe Jerusalem PostWWII air-raid shelter buried beneath German playground rediscovered during construction workESPNThe WNBA Finals are set! First look at how Valkyries, Dream match upPunchRonaldo will return to Portugal squad in November — OfficialComplete SportsArsenal Make 27-Year History During Leeds Comeback WinZDF heuteAktuelle Pressemitteilungen des ZDFRTP DesportoMarco Silva reconhece que Benfica não tem outra solução além de ganharFootball ItaliaItaly doctor hits back at Fabregas’ Kean comments: ‘We constantly keep clubs updated’DW EnglishTrump slams Zelenskyy, says Ukraine should elect new presidentAntara NewsPolice foils illegal trade of protected mobula ray species in BaliMyJoyOnlineHincapie injury adds to Arsenal issues after Guimaraes rescue actVariety‘Children of Blood and Bone’ Author Tomi Adeyemi Quietly Cancels New York Comic Con Panel
The Daily Newsstand · Free, Always
Saturday, October 10, 2026

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

Translate

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 прямо в боте.

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.