Исходный код Telegram опубликован на GitHub в организации DrKLO и telegramdesktop, но только для клиентских приложений — серверная часть мессенджера остаётся закрытой, и это первое, что нужно понимать перед поиском репозиториев. Попытка найти «полный исходник Telegram» с сервером приведёт либо к фейковым архивам, либо к вредоносным файлам, замаскированным под исходники.
В этой статье разберём, какие именно части Telegram открыты, где лежит официальный код, как проверить подлинность репозитория и как собрать клиент из исходников на своём компьютере. Отдельно рассмотрим, зачем вообще может понадобиться сборка из исходного кода и какие риски несут сторонние «модифицированные» версии мессенджера.
Что именно открыто в Telegram
Telegram придерживается модели «открытый клиент — закрытый сервер». Это значит, что исходный код приложений для Android, iOS, Desktop (Windows, macOS, Linux), а также веб-версий доступен любому желающему. Протокол MTProto, на котором работает шифрование, тоже документирован и опубликован.
Закрытой остаётся серверная часть: код, который обрабатывает сообщения, хранит данные и управляет инфраструктурой. Разработчики объясняют это защитой от злоупотреблений и спама. Поэтому поднять «свой Telegram» на собственном сервере, используя официальные исходники, невозможно — соответствующего кода в открытом доступе просто нет.
- 📱 Telegram для Android — репозиторий DrKLO/Telegram на GitHub, код на Java и C++.
- 🍎 Telegram для iOS — репозиторий TelegramMessenger/Telegram-iOS, код на Swift и Objective-C.
- 💻 Telegram Desktop — репозиторий telegramdesktop/tdesktop, написан на C++ с использованием Qt.
- 🌐 Веб-версии — Telegram Web K и Web Z также имеют открытые репозитории.
- 📚 TDLib — библиотека для разработчиков собственных клиентов, кроссплатформенная и открытая.
Где найти официальные репозитории
Единственный надёжный источник — GitHub. Официальные репозитории перечислены на сайте Telegram в разделе, посвящённом исходному коду, и ссылки оттуда ведут на проверенные организации. Искать исходники через поисковик по запросу «telegram source code download» рискованно: в выдаче встречаются сайты, распространяющие архивы с вредоносным кодом.
Проверить подлинность репозитория несложно. Обратите внимание на владельца (организации DrKLO, TelegramMessenger, telegramdesktop), количество звёзд и форков — у официальных проектов их десятки тысяч, а также на историю коммитов, которая ведётся годами. Свежесозданный репозиторий с парой коммитов — почти гарантированная подделка.
⚠️ Внимание: не скачивайте «исходный код Telegram» с торрентов, файлообменников и незнакомых сайтов. Под видом исходников часто распространяют трояны и майнеры. Единственный безопасный источник — официальные репозитории на GitHub, на которые ссылается сам Telegram.
Лицензии и условия использования кода
Большинство клиентов Telegram распространяются под лицензией GNU GPL v2 (для некоторых компонентов — v3). Это copyleft-лицензия: вы можете изучать код, изменять его и распространять свои версии, но обязаны публиковать исходники своих модификаций под той же лицензией.
Отдельный момент — товарный знак. Название «Telegram» и логотип защищены, поэтому свою сборку нельзя выпускать под оригинальным именем и с фирменным оформлением. Кроме того, для публикации приложения в магазинах потребуется собственный api_id и api_hash, которые получают через my.telegram.org.
| Компонент | Язык | Лицензия | Статус |
|---|---|---|---|
| Telegram Android | Java, C++ | GPL v2 | Открыт |
| Telegram iOS | Swift, Obj-C | GPL v3 | Открыт |
| Telegram Desktop | C++ (Qt) | GPL v3 | Открыт |
| TDLib | C++ | Boost License | Открыт |
| Серверная часть | — | — | Закрыта |
Как собрать Telegram из исходников
Сборка — основная практическая причина, по которой скачивают исходный код. Процесс отличается для каждой платформы, но общая логика одинакова: клонируете репозиторий, устанавливаете зависимости, подставляете свои ключи API и запускаете сборку. Подробные инструкции есть в файле README каждого репозитория — сверяйтесь именно с ними, так как требования к версиям инструментов меняются.
Для Android-сборки потребуется Android Studio, NDK и JDK. Для Desktop — компилятор C++, CMake и библиотека Qt, причём сборка под Windows заметно сложнее, чем под Linux. Учтите: без собственных api_id и api_hash приложение не запустится.
git clone --recursive https://github.com/telegramdesktop/tdesktop.git
Флаг --recursive обязателен: репозитории Telegram используют субмодули, и без них сборка завершится ошибкой отсутствующих файлов. Это самая частая проблема новичков.
☑️ Чек-лист перед сборкой Telegram из исходников
⚠️ Внимание: сборка из исходников не даёт никаких преимуществ в скорости или функциях по сравнению с официальным приложением. Если вам нужен просто мессенджер — скачайте готовую сборку с официального сайта. Компиляция из кода оправдана только для изучения, аудита или разработки собственного клиента.
TDLib — инструмент для разработчиков
Если цель — не пересобрать Telegram, а создать своё приложение, работающее с сетью мессенджера, нужна TDLib (Telegram Database Library). Это официальная библиотека, которая берёт на себя всю работу с протоколом MTProto, шифрованием, локальным хранением данных и синхронизацией.
TDLib написана на C++, но имеет обёртки и привязки для множества языков — от Python и Java до C# и JavaScript. Библиотека кроссплатформенная и используется в том числе самими клиентами Telegram. Для старта достаточно собрать библиотеку по инструкции из репозитория tdlib/td и подключить её к своему проекту.
Чем TDLib отличается от Bot API
Bot API предназначен для ботов и работает через HTTP-запросы к серверам Telegram — вы не управляете аккаунтом пользователя. TDLib позволяет создавать полноценные клиенты, работающие от имени обычного пользователя: читать чаты, отправлять сообщения, управлять настройками. Для TDLib нужны api_id и api_hash, а пользователь авторизуется по номеру телефона, как в обычном приложении.
Безопасность и сторонние модификации
Открытость кода породила множество сторонних клиентов — Nekogram, Plus Messenger, Telegram X (исторически) и другие. Часть из них добросовестно публикует свои исходники, как требует лицензия GPL. Но встречаются и сборки с закрытым кодом, внутри которых никто не проверял, что происходит с вашими сообщениями и сессией.
Правило простое: неофициальный клиент без опубликованного исходного кода — потенциальная угроза. Такая программа получает полный доступ к вашей переписке и может передавать сессию третьим лицам. Проверить это без анализа кода невозможно.
- 🔍 Скачивайте модифицированные клиенты только из официальных магазинов приложений.
- 📄 Проверяйте, публикует ли автор модификации исходный код своей сборки.
- 🔑 Никогда не вводите код подтверждения из SMS в подозрительных приложениях.
- 🚫 Избегайте «взломанных» версий Telegram с обещаниями скрытых функций.
Воспроизводимые сборки
Отдельная тема — воспроизводимые сборки (reproducible builds). Telegram поддерживает этот механизм для Android и iOS: любой желающий может собрать приложение из опубликованного кода и сверить результат с версией из официального магазина. Если бинарники совпадают — значит, в распространяемое приложение не встроено ничего лишнего.
Процедура проверки описана в официальной документации и требует определённых технических навыков: нужно настроить окружение той же версии, что использовали разработчики, и сравнить контрольные суммы. Для обычного пользователя это не обязательная процедура, но сам факт её возможности повышает доверие к мессенджеру.
Часто задаваемые вопросы
Полностью ли открыт исходный код Telegram?
Нет. Открыты клиентские приложения для всех платформ, веб-версии и библиотека TDLib. Серверная часть, обрабатывающая сообщения и хранящая данные, закрыта и никогда не публиковалась.
Можно ли запустить свой сервер Telegram?
Нет, поскольку серверный код не опубликован. Все клиенты, включая собранные из исходников, подключаются к официальной инфраструктуре Telegram. Создать независимую сеть на базе официальных исходников невозможно.
Законно ли изменять и распространять код Telegram?
Да, лицензия GPL это разрешает. Но вы обязаны публиковать исходники своих модификаций, не можете использовать название и логотип Telegram, а для работы приложения нужны собственные api_id и api_hash.
Чем опасны неофициальные клиенты Telegram?
Клиент с закрытым кодом может перехватывать вашу сессию, читать переписку и передавать данные третьим лицам. Безопасны только модификации с опубликованным исходным кодом, скачанные из официальных магазинов приложений.
Что такое TDLib и кому она нужна?
TDLib — официальная библиотека для создания собственных клиентов Telegram. Она берёт на себя работу с протоколом MTProto, шифрование и хранение данных, позволяя разработчику сосредоточиться на интерфейсе и логике приложения.