Unofficial, FOSS-friendly fork of the original Telegram client for Android

Overview

Releases Discussions

Donate or Bitcoin 1McafEgMvqAVujNLtcJumZHxp2UfaNByqs

Telegram-FOSS

Telegram is a messaging app with a focus on speed and security. It’s superfast, simple and free.

This is an unofficial, FOSS-friendly fork of the original Telegram App for Android.

This version of Telegram is available on FDroid:

Get it on F-Droid

Current Maintainers

Contributors

Discussion

Join the Telegram-FOSS Offtopics group

You can also join #telegram-foss:matrix.org via matrix or #telegram-foss on freenode.

Changes:

Replacement of non-FOSS, untrustworthy or suspicious binaries or source code:

  • Do location sharing with OpenStreetMap(osmdroid) instead of Google Maps
  • Use Twemoji emoji set instead of Apple's emoji
  • Google Play Services GCM replaced with Telegram's push service
  • Has to show a notification on Oreo+, ask Google
  • SECURITY: Old BoringSSL prebuilts are replaced with the newest upstream source code built at compile time
  • SECURITY: Old FFmpeg prebuilts are replaced with the newest upstream source code built at compile time
  • SECURITY: Bundled libWebP is updated

Removal of non-FOSS, untrustworthy or suspicious binaries or source code and their functionality:

  • Google Vision face detection and barcode scanning (Passport)
  • Google Wallet and Android Pay integration
  • Google Voice integration
  • HockeyApp crash reporting and self-updates
  • Google SMS retrieval. You have to type the code manually

Other:

  • Allow to set a proxy before login
  • Added the ability to parse locations from intents containing a geo:,, string
  • Force static map previews from Telegram
  • No content restrictions

Versioning

This repository contains tags to make tracking versions easier.

Versions are in form "v$UPSTREAM$RELEASE" where:

  • $UPSTREAM is the public, visible version of upstream.
  • $RELEASE is a letter ([a-z]) indicating minor releases between official versions (sometimes, upstream is updated without relating the changes to an specific version).

API, Protocol documentation

Telegram API manuals: https://core.telegram.org/api

MTproto protocol manuals: https://core.telegram.org/mtproto

Building

NOTE: Building on Windows is, unfortunately, not supported. Consider using a Linux VM or dual booting. WindowsSupport

Important:

  1. You need the Android NDK, Go(Golang) and Ninja to build the apk.

  2. Don't forget to include the submodules when you clone:

    • git clone --recursive https://github.com/Telegram-FOSS-Team/Telegram-FOSS.git
  3. Build native FFmpeg and BoringSSL dependencies:

    • Go to the TMessagesProj/jni folder and execute the following (define the paths to your NDK and Ninja):
    export NDK=[PATH_TO_NDK]
    export NINJA_PATH=[PATH_TO_NINJA]
    ./build_ffmpeg_clang.sh
    ./patch_ffmpeg.sh
    ./patch_boringssl.sh
    ./build_boringssl.sh
    
  4. If you want to publish a modified version of Telegram:

    • You should get your own API key here: https://core.telegram.org/api/obtaining_api_id and create a file called API_KEYS in the source root directory. The contents should look like this:
      APP_ID = 12345
      APP_HASH = aaaaaaaabbbbbbccccccfffffff001122
      
    • Do not use the name Telegram and the standard logo (white paper plane in a blue circle) for your app — or make sure your users understand that it is unofficial
    • Take good care of your users' data and privacy
    • Please remember to publish your code too in order to comply with the licenses

The project can be built with Android Studio or from the command line with gradle:

./gradlew assembleAfatRelease

DIGITAL RESISTANCE

DIGITALRESISTANCE

Comments
  • Replace Apple's emojis & other licencing issues

    Replace Apple's emojis & other licencing issues

    Apple's emojis have the following copyright statement:

    octocat, squirrel, shipit
    Copyright (c) 2012 GitHub Inc. All rights reserved.
    
    bowtie
    Copyright (c) 2012 37signals, LLC. All rights reserved.
    
    neckbeard
    Copyright (c) 2012 Jamie Dihiansan. Creative Commons Attribution 3.0 Unported
    
    feelsgood, finnadie, goberserk, godmode, hurtrealbad, rage 1-4, suspect
    Copyright (c) 2012 id Software. All rights reserved.
    
    trollface
    Copyright (c) 2012 whynne@deviantart. All rights reserved.
    
    All other emoji images
    Copyright (c) 2012 Apple Inc. All rights reserved.
    

    As you can see, only a small part of it is under CC. For the rest, the licence is unknown. It would be beneficial for our freedom to replace them with Google's Noto font, which is available under the Apache licence. (Besides, Apple's emojis are horribly ugly.)

    Let's do something about this, for freedom's sake!

    opened by Lesik 114
  • Telegram 3.18.0 source code!

    Telegram 3.18.0 source code!

    Looks like its updated :+1: :tada:

    https://github.com/DrKLO/Telegram

    Pavel Durov tweet: https://twitter.com/durov/status/847454485882355713

    Telegram 3.18 blog: https://telegram.org/blog/calls

    :tada:

    discussion 
    opened by ghost 108
  • Unreliable Message Delivery since 3.1.3

    Unreliable Message Delivery since 3.1.3

    Hi Since the latest update, push messages are wa, less reliable than in earlier versions. I didnt change any settings. Often messages dont appear even when I have the chat open. When Im in a group chat, i often get multiple messages at once delivered.

    Im using Paranoid Android 5.1

    opened by vanitasvitae 96
  • Add emojiOne support

    Add emojiOne support

    Initial request was in #35.

    This is important for anything < Android 4.4 as there are either no emoji or only b/w ones.

    Wip here: #50 Todo:

    • Option to switch emojis
    • adjust to new emoji code
    • testing
    enhancement 
    opened by Bubu 41
  • On 2.5.2 impossible to share location

    On 2.5.2 impossible to share location

    Hi

    With version 2.5.2 during a chat, the location sharing does not work : the option is displayed when selecting the paperclip to attach things but selecting 'location' has no effects. Gps is on.

    On a friend's device it works but it is the Google Play version, not F-Droid.

    I have not installed Google Services but I think it should be independant.

    Keep up the good work, Sevan

    opened by sevan6 41
  • Too many wakelocks and battery drain

    Too many wakelocks and battery drain

    Hi I'm experiencing a lot of wakelocks lately. I'm running last version available on F-Droid over CM13 on Moto G 2013 (Falcon). I know this is related to already closed #36 but I think a couple of wakeups each minute it's kind of too much (see second pic). I don't know if this is the mininum to notification system keeps itself working.

    Also as you can see on the last pic, the time the phone is awake is way greater than the time is the screen on.

    Does anybody else is experiencing this? I can provide any other logs needed.

    screenshot_20151218-142259 screenshot_20151218-142308 photo_2015-12-18_14-30-30

    opened by ghost 35
  • how compile telegram library?

    how compile telegram library?

    when want to compile library i got many errors from tgnet folder and dont know how ti fixed it

    D:/Android/AndroidStudioProjects/Telegram-FOSS/TMessagesProj/jni/./tgnet/ApiScheme.cpp: In static member function 'static Bool* Bool::TLdeserialize(NativeByteBuffer*, uint32_t, bool&)': D:/Android/AndroidStudioProjects/Telegram-FOSS/TMessagesProj/jni/./tgnet/ApiScheme.cpp:25:53: warning: left operand of comma operator has no effect [-Wunused-value] DEBUG_E("can't parse magic %x in Bool", constructor); ^ D:/Android/AndroidStudioProjects/Telegram-FOSS/TMessagesProj/jni/./tgnet/ApiScheme.cpp: In static member function 'static TL_dcOption* TL_dcOption::TLdeserialize(NativeByteBuffer*, uint32_t, bool&)': D:/Android/AndroidStudioProjects/Telegram-FOSS/TMessagesProj/jni/./tgnet/ApiScheme.cpp:43:56: warning: left operand of comma operator has no effect [-Wunused-value] DEBUG_E("can't parse magic %x in TL_dcOption", constructor); ^ D:/Android/AndroidStudioProjects/Telegram-FOSS/TMessagesProj/jni/./tgnet/ApiScheme.cpp: In static member function 'static TL_disabledFeature* TL_disabledFeature::TLdeserialize(NativeByteBuffer*, uint32_t, bool&)': D:/Android/AndroidStudioProjects/Telegram-FOSS/TMessagesProj/jni/./tgnet/ApiScheme.cpp:69:63: warning: left operand of comma operator has no effect [-Wunused-value] DEBUG_E("can't parse magic %x in TL_disabledFeature", constructor); ^ D:/Android/AndroidStudioProjects/Telegram-FOSS/TMessagesProj/jni/./tgnet/ApiScheme.cpp: In static member function 'static TL_config* TL_config::TLdeserialize(NativeByteBuffer*, uint32_t, bool&)': D:/Android/AndroidStudioProjects/Telegram-FOSS/TMessagesProj/jni/./tgnet/ApiScheme.cpp:91:54: warning: left operand of comma operator has no effect [-Wunused-value] DEBUG_E("can't parse magic %x in TL_config", constructor);

    question 
    opened by emjeykm 28
  • Unable to login with QR code

    Unable to login with QR code

    According to the login page I should go to Settings -> Devices -> Scan QR to login using a QR code however the option is not present in the Telegram FOSS app

    opened by codebam 27
  • sh build_ffmpeg_android.sh

    sh build_ffmpeg_android.sh

    Gives this

    arme@snowden:~/StudioProjects/CryptoGram/TMessagesProj/jni$ sh build_ffmpeg_android.sh 
    build_ffmpeg_android.sh: 3: build_ffmpeg_android.sh: function: not found
    Cleaning...
    make: *** No rule to make target 'clean'.  Stop.
    Configuring...
    build_ffmpeg_android.sh: 10: build_ffmpeg_android.sh: ./configure: not found
    make: *** No targets specified and no makefile found.  Stop.
    make: *** No rule to make target 'install'.  Stop.
    build_ffmpeg_android.sh: 70: build_ffmpeg_android.sh: Syntax error: "}" unexpected
    arme@snowden:~/StudioProjects/CryptoGram/TMessagesProj/jni$ 
    
    
    opened by zarEclEC 22
  • Split APK into Architecture-targeted APKs

    Split APK into Architecture-targeted APKs

    I am well aware of the reasons behind merging the APKs into one, as I have been around since well before the official Telegram's public repo had disabled creating issues, however I am asking to reconsider this.

    20+ MB is ridiculus for an FOSS messaging app (or any messaging app, for that matter), especially since there are no trackers or adware included.

    More importantly, this does have a severe impact on old low-end devices (think 4GB internal storage with a custom ROM, when in practice there may be only ~2 GB available to the user). After all, it is not only the APK size, but also the Dalvik/ART cache, and extracted libraries, and there are other applications which will be competing for space (I have seen this myself, on my mother's LG G3 Beat, and she runs a noGAPPS build, like me (we don't have need for the Play Services)).

    My recommendation, is to create two variants, one for arm and one for arm64 (x86/x86-64 utilizes Intel's unofficial extension to the spec), and if other architectures are required, see what can be reused.

    As controversial as is it, even Google is going that route (farther actually) with Split-Installer-APKs, so this may be a good way to lay the foundations for something more efficient (without sacrificing practicality).

    enhancement 
    opened by moriel5 21
  • Not Getting Some Notifications in Telegram-FOSS 3.10.1

    Not Getting Some Notifications in Telegram-FOSS 3.10.1

    Since I installed Telegram-FOSS 3.10.1 I am not getting some incoming notifications. I scroll down to find messages I have not read but which have been marked as read. This is happening a lot. I have not yet seen a pattern to why certain messsages are not being marked as new and not providing notifications but I will update this issue as I get more info.

    opened by landry314 21
  • No audio notification

    No audio notification

    I can't tell if I'm the only one experiencing this but when I get a message on Telegram phone vibrates and notification appears but no sound goes off when I'm off the app. In the app either. I've checked the settings and it's all on.

    Screenshot_20221228-185402_Telegram_FOSS Screenshot_20221228-185350_Telegram_FOSS version

    Let me know if there's a piece of information you need.

    opened by codinghedgehog-python 0
  • Allow secure backup

    Allow secure backup

    Hello.

    I use SeedVault (integrated in LineageOS, GrapheneOS etc.) for secure (encrypted) backup apps and data to my device (USB) or my server (NextCloud).

    But Telegram-FOSS is opted-out from backups so it is not possible to save data by SeedVault :( Please can you allow encrypted backups? There is more info:

    https://github.com/seedvault-app/seedvault/wiki/FAQ

    And an example of commit:

    https://github.com/grote/Transportr/commit/4dc38f429f75909a088d8bd8a5b3b5ddd8030f71

    Thanks.

    opened by jcz1 2
  • Consider replacing the speech to text converter

    Consider replacing the speech to text converter

    Hello! I came across a curious post with a selection of completely open source voice recognition services (FOSS). I hope you will find it useful.

    If not, you can close the issue immediately

    opened by ghost 0
  • Google evil corporation burn away

    Google evil corporation burn away

    Hello! Could you please remove the above buttons, which I indicate in the screenshots below?

    The reason for the removal request: These buttons are used by evil corporation Google services. Google is not secure. It is not private. Nor is it anonymous.

    BF58EC34-6FF6-4210-A63E-9E0FFBE7A222 070062B0-DCAC-46AF-9DC1-D06BB31B15EC FC7AD40C-6DE2-499A-B9D3-399CE03A6828 343A0EEE-9C90-43E7-8353-BDD53BF70800

    The same button is available when you hold on to your (or any other) bio for a long time.

    opened by ghost 3
  • The keyboard does not autohide after return from any chat to uplevel.

    The keyboard does not autohide after return from any chat to uplevel.

    The keyboard does not autohide after return from any chat/group to uplevel chatlist with tap on "back" button on the left upper corner on telegram window near of contact/group icon.

    Is it general issue or is it in my case only? I have Android 12 and SmartKeyboard as the default input method.

    Sry for my eng.

    opened by zetcamp 0
  • support ton:// links

    support ton:// links

    copy intent from original manifest file for supporting links like ton://transfer/ https://github.com/DrKLO/Telegram/blob/b73fc8de3878c03950fc8be22a0dc5322314aad5/TMessagesProj/src/main/AndroidManifest.xml#L81

    opened by mr-tron 0
Releases(v9.2.2)
Owner
null
Telegram client based on official Android sources

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

Dmitry Kotov 12 Dec 25, 2022
A hybrid chat android application based on the features of Instagram and Whatsapp having UI just as Telegram.

A hybrid chat android application based on the features of Instagram and Whatsapp having UI just as Telegram.

Ratik Tiwari 1 May 22, 2022
Collects error messages ad sends them to Microsoft Teams or Telegram

ErrorCollector Logback-classic This projects aims to provide a convenient way to be notified if an error in on of your systems occurs. The appender wi

Mayope 4 Jan 11, 2022
Telegram bot provides time-based currency

Timecobot Telegram bot provides time-based currency. The accumulated time can be used to block another user. There are no discriminatory rules, admini

Daniel Demidko 21 Jul 14, 2022
Simple telegram cat-captcha bot

kotlin-project-template Project Template for convenient project setup. Motivation Every time I create a new project, I do a lot of routine work, so th

Alex Sokol 15 Nov 16, 2022
Conversations is an open source XMPP/Jabber client for Android

Conversations Conversations: the very last word in instant messaging Design principles Be as beautiful and easy to use as possible without sacrificing

Daniel Gultsch 4.2k Dec 30, 2022
A glossy Matrix collaboration client for Android.

Element Android Element Android is an Android Matrix Client provided by Element. It is a total rewrite of Riot-Android with a new user experience. Nig

Element (formerly New Vector) 2.6k Dec 30, 2022
Official Android client for the Kontalk messaging system

This is the official Android client for the Kontalk messaging system. It always implements the latest protocol.

Kontalk 563 Dec 24, 2022
Conversations is an open source XMPP/Jabber client for Android

Conversations Conversations: the very last word in instant messaging Design principles Be as beautiful and easy to use as possible without sacrificing

Daniel Gultsch 4.2k Jan 9, 2023
Open-source XMPP client for Android

Xabber - XMPP client for Android Open source Jabber (XMPP) client with multi-account support, clean and simple interface. Being both free (as in freed

redsolution OÜ 1.8k Dec 19, 2022
Server/Client Chatting application that allows to choose to chat in a group chat or privately to a specific connected user

ktor_chatting_application Server/Client Chatting application that uses Ktor webs

null 10 Jun 14, 2022
Android Real Time Chat & Messaging SDK

Android Chat SDK Overview Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversational apps. We power emer

Applozic 659 May 14, 2022
Kommunicate.io Android Chat SDK for Customer Support

Kommunicate Android Chat SDK for Customer Support An Open Source Android Live Chat SDK for Customer Support Overview Kommunicate provides open source

Kommunicate 68 Jan 3, 2023
A simple library for creating animated warnings/dialogs/alerts for Android.

Noty A simple library for creating animated warnings/notifications for Android. Examples Show me code Show me code Show me code Show me code Show me c

Emre 144 Nov 29, 2022
Android has a built in microphone through which you can capture audio and store it , or play it in your phone. There are many ways to do that but with this dialog you can do all thats with only one dialog.

# Media Recorder Dialog ![](https://img.shields.io/badge/Platform-Android-brightgreen.svg) ![](https://img.shields.io/badge/Android-CustomView-blue.sv

Abdullah Alhazmy 73 Nov 29, 2022
Email-based instant messaging for Android.

Delta Chat Android Client This is the Android client for Delta Chat. It is available on F-Droid and the Google Play Store. The APK can also be downloa

Delta Chat 897 Jan 2, 2023
The most beautiful SMS messenger for Android

QKSMS QKSMS is an open source replacement to the stock messaging app on Android. It is currently available on the Google Play Store and on F-Droid Rep

Moez Bhatti 3.9k Dec 30, 2022
Open Source Messenger App For Android - Real-time Messaging, Voice and Video Calls

Open Source Messenger App For Android - Real-time Messaging, Voice and Video Calls

mesibo 630 Dec 7, 2022
Sample Android App for WebRTC with Firebase as backend

Simple Demo App for Android WebRTC video call using Firebase Realtime Database as Signalling server.

Devesh Chaudhari 19 Dec 17, 2022