Skip to content
Unofficial, FOSS-friendly fork of the original Telegram client for Android
Java C C++ Makefile Shell Objective-C Other
Branch: master
Clone or download
Latest commit 9fde5db May 31, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
TMessagesProj [TF][KILL] GMS SMS Receiver Sep 15, 2019
Tools Some new features and bug fixes Jun 17, 2014
gradle/wrapper
metadata
.gitignore
.gitmodules [TF][JNI][UPDATE] BoringSSL from source (master) Sep 15, 2019
.travis.yml [TF] TravisCI support Sep 15, 2019
Changelog.md
DigitalResistance.jpg [TF] Readme + Changelog Sep 15, 2019
LICENSE first commit Oct 25, 2013
Notifications.md [TF][PUSH] notification in foregroung on Oreo+ Sep 15, 2019
README.md [TF] Readme + Changelog Sep 15, 2019
Update.md [TF][BRAND] Do not send to Google Play for update Sep 15, 2019
build.gradle [TF][MAPS] replace Google Maps with OSMDroid Sep 15, 2019
gradle.properties [TF] tiny build improvements Sep 15, 2019
gradlew
settings.gradle
tgfoss-build-under-win.gif [TF] Readme + Changelog Sep 15, 2019

README.md

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
  • 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:<lat>,<lon>,<zoom> string
  • Force static map previews from Telegram

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

You can’t perform that action at this time.