Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Telegram Foss uncensored #685

Open
wants to merge 106 commits into
base: master
Choose a base branch
from

Conversation

Anglemmj7
Copy link

@Anglemmj7 Anglemmj7 commented Jun 18, 2023

Releases
Discussions

Donate or Bitcoin 1P8kNcifVAkBWtWmjKY4RvVLy5QwruE2LQ

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 Noto 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: BoringSSL prebuilts are replaced with recent upstream source code built at compile time
  • SECURITY: FFmpeg prebuilts are replaced with recent upstream source code built at compile time
  • SECURITY: libvpx prebuilts are replaced with recent 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
  • Google ML Kit

Other:

  • Added the ability to parse locations from intents containing a geo:<lat>,<lon>,<zoom> 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_libvpx_clang.sh
    ./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

thermatk and others added 30 commits September 29, 2021 09:37
…FOSS-Team#436)

Error when using newer version of ffmpeg:

Upon further investigation, this error comes from newer versions of
FFmpeg [1] as the packet read callback's expected return value on EOF
has been changed. This commit fixes the issue by updating the packet
read callback used to play videos with FFmpeg to return AVERROR_EOF on
EOF instead of 0 as seen in mpv [2].

[1] https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=a606f27f4c610708fa96e35eed7b7537d3d8f712
[2] mpv-player/mpv@e9dc4ac
I guess upstream did the same and forgot to document.
isom.h is included in a form patched to stop annoying the compiler, dv.h in the original form
thermatk and others added 18 commits January 26, 2022 11:24
This patch adds the ability for Telegram to parse locations from send
intents containing a geo:<lat>,<lon>,<zoom> string.

This is done by various map applications, including the popular OSMAnd
and Orux maps. This patch enables the user to share the position of a
POI or destination with Telegram and have it send as a location.
# Conflicts:
#	.gitmodules
#	Changelog.md
#	README.md
#	TMessagesProj/jni/boringssl
#	TMessagesProj/jni/build_boringssl.sh
#	TMessagesProj/jni/build_ffmpeg_clang.sh
#	TMessagesProj/jni/ffmpeg
#	TMessagesProj/jni/patch_ffmpeg.sh
#	TMessagesProj/jni/patches/boringssl/0001-add-aes-ige-mode.patch
#	TMessagesProj/jni/patches/boringssl/0001-only-build-what-we-need.patch
#	TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java
#	TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java
#	TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java
#	TMessagesProj/src/main/java/org/telegram/ui/CameraScanActivity.java
#	TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java
#	build.gradle
#	metadata/pl/description.txt
# Conflicts:
#	TMessagesProj/jni/build_ffmpeg_clang.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants