HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
DrKLO
Telegram
Java2013–2026
DrKLO / Telegram

Telegram

Telegram for Android source

43Distinct people
52Mentions
1Explicit recommenders
30.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Telegram for Android source

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

>Loading your messages on Signal can take quite a while. Yeah if you have to go through hundreds of ratchet steps, yeah it will take time. That's expected. The only way to make…

maqp used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:45:45 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year52 dated mentions

Observed mentions: 2013-12-16 13:13:10 UTC to 2026-02-11 13:41:06 UTC.

0369122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 3 mentions; 3 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC330
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC12012
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC312
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC505
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC514
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC312
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC615
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC514
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Telegram messenger for Android Telegram is a messaging app with a focus on speed and security. It’s superfast, simple and free. This repo contains the official source code for Telegram App for Android. Creating your Telegram Application We welcome all developers to use our API and source code to create applications on our platform. There are several things we require from all developers for the moment. Obtain your own api_id for your application. Please do not use the name Telegram for your app — or make sure your users understand that it is unofficial. Kindly do not use our standard logo (white paper plane in a blue circle) as your app's logo. Please study our security guidelines and take good care of your users' data and privacy. Please remember to publish your code too in order to comply with the licences. API, Protocol documentation Telegram API manuals: https://core.telegram.org/api MTproto protocol manuals: https://core.telegram.org/mtproto Compilation Guide Note: In order to support reproducible builds, this repo contains dummy release.keystore, google-services.json and filled variables inside BuildVars.java. Before publishing your own APKs please make sure to replace all these files with your own. You will require Android Studio 2025.1.4, Android NDK 27.2.12479018 and Android SDK 36. Clone the Telegram source code with its submodules: git clone --recursive --shallow-submodules https://github.com/DrKLO/Telegram.git Telegram In case you forgot the --recursive flag, change to the Telegram directory and run: git submodule init && git submodule update --init --recursive --depth=1 Copy your release.keystore into TMessagesProj/config Fill out RELEASE_KEY_PASSWORD, RELEASE_KEY_ALIAS, RELEASE_STORE_PASSWORD in gradle.properties to access your release.keystore Go to https://console.firebase.google.com/, create two android apps with application IDs org.telegram.messenger and org.telegram.messenger.beta, turn on firebase messaging and download google-services.json, which should be copied to the same folder as TMessagesProj. Open the project in the Studio (note that it should be opened, NOT imported). Fill out values in TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java – there’s a link for each of the variables showing where and which data to obtain. You are ready to compile Telegram. Localization We moved all translations to https://translations.telegram.org/en/android/. Please use it.
Read the full README on GitHub

What Hacker News says

12 sources
Is the android telegram client not open: https://github.com/DrKLO/Telegram ? I may be missing something. It seems to me that we could just fork the app and add in any ETE encryption we want. I get that everyone is annoyed at the Telegram people, but there are a bunch of open clients and the encryption we'd want must be independent of the server. For instance I could paste in PGP encrypted messages. Maybe there is some technical reason this wouldn't work?
In MTProto, the symmetric encryption scheme used in Telegram, is not IND-CCA secure
Indeed, and unsurprisingly, this results in a bug. It's not that it strips out the text, it's that it sets that variable to null which is then used for flow control. So you will run in to issues (not sure how it would manifest itself) if you share photo or video that does have text, but just doesn't contain "WhatsApp" ("Sent from FooBar"). It looks like it'll send a text and then send the photo[0] but who knows what kind of state will be modified when you send the text first. [0] https://github.com/DrKLO/Telegram/blob/74def22213846b1f90a26...
In WhatsApp is blocking Telegram links
I briefly looked at Telegram's crypto code a couple months ago. Here's a few funny things I spotted: Telegram's message format uses ambiguous padding, so they have to try all padding lengths when validating a message: https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/... That loop leaks timing information, as does the "Utilities.arraysEquals" method it uses. I'm not sure if it opens up a timing attack, but it's suspect: https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/... There is another spot where they pad with zero bytes without any authentication. This may leave room to mess with the protocol: https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/... There are also some weird things throughout the code, like using SecureRandom.nextDouble() all over: https://github.com/DrKLO/Telegram/blob/master/TMessagesProj
Read the rest
In Telegram Bot Platform
There is Telegram-FOSS [0]. I believe they have removed the binaries. It's also the version you can find on F-Droid. Edit: Also, the maintainer of the Android app is making all his changes locally and then submits all of them in one giant commit. There are pull requests, but he just includes these in his giant commits. People do have complained about this [1][2], but he obviously doesn't (want to) understand git. 0: https://github.com/slp/Telegram-FOSS/issues 1: https://github.com/DrKLO/Telegram/pull/76 2: https://github.com/DrKLO/Telegram/issues/1007
In Telegram Bot Platform
Telegram is not truly open source. They utilize a pre-compiled library for the actual messaging code, as seen here: https://github.com/DrKLO/Telegram/tree/master/TMessagesProj/... They would like to have you believe otherwise through their PR efforts, but I wouldn't trust them simply on the fact that they claim they are open source when they are not, and it's not clear what's going on in that binary lib. If they never claimed to be open source in the first place, it would be a different story.
In Telegram Bot Platform

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.