Skip to content

TDLib, built from source ​

VueGram talks to Telegram through TDLib, Telegram's own client library. The native library and its Java bindings in this repository are built from TDLib's own source, so anyone can check them.

What is built ​

  • app/src/main/jniLibs/<abi>/libtdjni.so, for armeabi-v7a and arm64-v8a
  • the Java bindings in app/src/main/java/org/drinkless/tdlib/

They are built with TDLib's own Android Dockerfile (Ubuntu 24.04, Android NDK r23c, OpenSSL 1.1.1w), at commit cb863c16.

Build it yourself ​

sh
scripts/build-tdlib.sh            # or: scripts/build-tdlib.sh <another TDLib commit>

It needs Docker. The first run downloads about 2 GB and compiles for about half an hour.

Checksums ​

The files it produced for this repository:

FileSHA-256
armeabi-v7a/libtdjni.so8e45fddeaac6fb3b76d141c8e9822646901aa4f31c261560f84bb3ab373043a4
arm64-v8a/libtdjni.so0ccdc1f6548cbb582bc2617a5f5206224a21349cbd9d12739f83e5f210393d70

Why from source ​

A prebuilt libtdjni.so from elsewhere can't be checked. Building it with TDLib's own Dockerfile at a pinned commit means anyone can rebuild it and compare the checksums above, and TdApi.java and Client.java come from the same commit as the native library they bind to.

Rules ​

  • Never rename or move org.drinkless.tdlib. The native libtdjni.so binds to these exact class names.
  • Never drop in a prebuilt .so from elsewhere. Build it with scripts/build-tdlib.sh, and update the checksums here and in THIRD_PARTY_NOTICES.md.

VueGram is an unofficial app. It is not made by, affiliated with or endorsed by Telegram. No cookies, no analytics.