Telegram Desktop – Official Messenger
This is the complete source code and the build instructions for the alpha version of the official desktop client for the Telegram messenger, based on the Telegram API and the MTProto secure protocol.
The source code is published under GPLv3 with OpenSSL exception, the license is available here.
- Windows XP - Windows 10 (not RT)
- Mac OS X 10.8 - Mac OS X 10.11
- Mac OS X 10.6 - Mac OS X 10.7 (separate build)
- Ubuntu 12.04 - Ubuntu 18.04
- Fedora 22 - Fedora 24
- Qt 5.3.2 and 5.6.2, slightly patched (LGPL)
- OpenSSL 1.0.1g (OpenSSL License)
- zlib 1.2.8 (zlib License)
- libexif 0.6.20 (LGPL)
- LZMA SDK 9.20 (public domain)
- liblzma (public domain)
- Google Breakpad (License)
- Google Crashpad (Apache License 2.0)
- GYP (BSD License)
- Ninja (Apache License 2.0)
- OpenAL Soft (LGPL)
- Opus codec (BSD License)
- FFmpeg (LGPL)
- Guideline Support Library (MIT License)
- Mapbox Variant (BSD License)
- Range-v3 (Boost License)
- Open Sans font (Apache License 2.0)
- Emoji alpha codes (MIT License)
- Catch test framework (Boost License)
Before publish a custom version of Telegram Desktop application you need to get new api_id
and api_hash
values.
To do that you need to follow instructions at the page: Obtaining api_id.
See also the thread: GitHub: "internal server error" on login.
So, after obtaining new values of api_id
and api_hash
you need to create a new directory next to your tdesktop
folder with the name: TelegramPrivate
.
And place a new file custom_api_id.h
there with the content:
static const int32 ApiId = [api_id];
static const char *ApiHash = "[api_hash]";
And please check that we set CUSTOM_API_ID
define at the Telegram.gyp
file.
Also please note that we do not need to place the custom_api_id.h
to Git.
It is because we should keep api_id
and api_hash
values private.