Шлёт ли AyuGram данные через свои сервера и можно ли собрать его самому?

Недавно я обратился к ИИ-помощнику Gemini (в среде Antigravity) с вопросами о безопасности популярного модифицированного клиента Telegram — AyuGram. Меня интересовало, общается ли AyuGram напрямую с серверами Telegram и действительно ли его исходный код полностью открыт для самостоятельной сборки.

Ниже представлен подробный анализ репозитория и принципов работы AyuGram, который подготовил ИИ-помощник Gemini в ходе нашего диалога.


Раунд 1. Куда AyuGram отправляет данные?

Анатолий: github.com/AyuGram шлёт ли аюграм информцию через свои сервера или общается напрямую с сервером телеграм?

Gemini (ИИ-помощник): AyuGram общается с серверами Telegram напрямую, используя официальный протокол MTProto. Ваши личные данные, сообщения, медиафайлы, пароли двухэтапной аутентификации и коды авторизации не передаются через сторонние серверы разработчиков AyuGram.

Вот как устроена сетевая работа и безопасность AyuGram:

  1. Прямое подключение к Telegram
    Вся основная функциональность мессенджера (отправка сообщений, получение обновлений чатов, звонки и т.д.) происходит напрямую между вашим устройством и официальными серверами Telegram (или через настроенные вами лично прокси/VPN).
  2. Как работают «невидимка» и «сохранение удаленных сообщений»?
    • Режим невидимки (Ghost Mode): Реализован полностью локально. Клиент просто перехватывает и не отправляет на серверы Telegram определенные запросы (например, запрос messages.readHistory при чтении сообщений или messages.setTyping при наборе текста).
    • Сохранение удаленных и измененных сообщений: Когда вам присылают сообщение, AyuGram кэширует его в локальную базу данных на вашем устройстве. Если отправитель удаляет или изменяет сообщение, сервер Telegram присылает вашему клиенту команду «удалить/изменить сообщение». AyuGram игнорирует эту команду для отображения в интерфейсе и считывает исходный текст из своей локальной базы данных. Никакие удаленные сообщения не загружаются на сторонние серверы.
  3. Куда AyuGram может делать дополнительные запросы?
    Как и любой форк, AyuGram выполняет несколько служебных сетевых запросов вне сети Telegram:

    • Проверка обновлений: Клиент обращается к GitHub API или серверам AyuGram, чтобы проверить наличие более новой версии приложения.
    • Спонсорство и AyuPremium: Если вы являетесь спонсором проекта или используете функции AyuPremium, клиент делает запрос к API AyuGram для проверки вашего Telegram ID и выдачи соответствующего статуса (например, значка в профиле).
    • Авто-прокси: Если вы используете встроенную функцию автоматического поиска прокси, приложение может загружать актуальные списки прокси с GitHub или ресурсов AyuGram.
    • Crash-репорты (аналитика падений): В некоторых сборках (особенно если они устанавливаются из магазинов приложений) могут быть интегрированы стандартные системы сбора логов ошибок (например, Firebase Crashlytics), которые отправляют технические отчеты о сбоях в Google/разработчикам. Сборки с GitHub обычно содержат минимум телеметрии или не содержат её вовсе.
  4. Открытый исходный код
    Исходный код проекта полностью открыт и опубликован в репозитории AyuGram на GitHub. Это позволяет любому независимому разработчику или специалисту по безопасности проверить код приложения на наличие скрытых бэкдоров, уязвимостей или несанкционированной отправки данных.

Раунд 2. Полная открытость исходников и нюансы сборки

Анатолий: вот прямо полностью опубликован на гитхаб, ничего не утаили, можно самому собрать?

Gemini (ИИ-помощник): Да, исходный код AyuGram полностью опубликован на GitHub, исходники открыты, и его можно собрать самостоятельно. Никакого скрытого (обфусцированного) кода в самом клиенте нет.

Однако при самостоятельной сборке и использовании ключей API есть важные технические нюансы:

  1. Маскировка под официальные клиенты (API Spoofing)
    В готовых сборках AyuGram «из коробки» зашиты официальные ключи API (api_id и api_hash) официальных приложений Telegram (например, Telegram Android, Telegram Desktop, iOS, macOS).

    • Зачем это сделано: Серверы Telegram видят ваше подключение как стандартное официальное приложение. Это избавляет вас от необходимости регистрировать свои ключи на my.telegram.org и минимизирует риски блокировки (бана) аккаунта антиспам-системой Telegram, которая часто подозрительно относится к новым сторонним API-ключам.
    • В настройках AyuGram встроен удобный селектор, позволяющий «на лету» переключать конфигурации маскировки под разные платформы.
  2. Нюансы самостоятельной сборки
    Если вы решите скомпилировать AyuGram самостоятельно из исходного кода на GitHub, вам нужно учесть:

    • В публичном репозитории на GitHub вместо официальных API-ключей могут находиться заглушки (так как прямая публикация официальных ключей нарушает правила Telegram). Чтобы собрать рабочее приложение, вам придётся либо зарегистрировать собственные ключи на my.telegram.org, либо самостоятельно найти и прописать в исходный код общеизвестные официальные ключи Telegram, извлеченные реверс-инжинирингом.
  3. Сложность сборки
    Собрать проект такого масштаба — задача не в один клик:

    • AyuGram Desktop (C++, Qt, CMake/GYP) требует настройки сложного окружения компиляции (компилятор MSVC/GCC/Clang, библиотеки Qt, OpenSSL и другие зависимости).
    • AyuGram Android собирается через Android Studio и Gradle, требуя настройки Android SDK и NDK.
  4. Закрытая серверная часть (Бэкенд)
    Код клиента полностью открыт. Но код сервера, который обрабатывает премиум-функции AyuGram (проверка подписки AyuPremium, выдача значков спонсоров), является закрытым (проприетарным) и принадлежит разработчикам.

    • В коде клиента вы можете четко видеть все обращения к этому серверу (что именно отправляется и какой ответ ожидается).
    • При самостоятельной сборке вы можете либо оставить эти запросы как есть (они будут работать, если ваш ID внесен в базу спонсоров на сервере разработчиков), либо просто вырезать эту логику из исходного кода или перенаправить на свой локальный сервер-заглушку.

Ссылки на исходники: