Skip to content
sing0626Public

About

SingGram Android fork based on Telegram Android

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

143 Commits

Folders and files

Repository files navigation

SingGram

SingGram is an Android fork based on the official Telegram Android source. The production app lives in official-android/.

What This Fork Is

  • Base: official Telegram Android source from https://github.com/DrKLO/Telegram
  • Current imported upstream: Telegram Android 13.2.2 / version code 7303
  • Package name: com.sing.singgram
  • Target build: arm64 Android APK
  • License: GPL-2.0-or-later, following upstream Telegram Android

SingGram keeps Telegram's native Android client architecture and patches the official app surfaces directly instead of rebuilding Telegram in a separate UI stack.

SingGram Changes

  • SingGram branding and package configuration
  • Native Telegram Android UI as the base client
  • Liquid Glass enabled through Telegram's native glass/blur pipeline
  • Traditional Chinese and Cantonese-oriented settings polish
  • SingGram settings, diagnostics, and push notification checks
  • Android build scripts for local and GitHub Actions builds
  • Upstream sync helper for pulling newer Telegram Android releases

Repository Layout

official-android/                         Official Telegram Android fork
scripts/build_official_android.sh         Local arm64 release build
scripts/sync_official_android_upstream.sh Sync helper for Telegram upstream
.github/workflows/official-android-build.yml
docs/official-android-fork.md             Fork, build, update, and release notes

Local Build

Create a local credentials file first:

cp telegram_credentials.env.example telegram_credentials.env

Then edit telegram_credentials.env locally:

TELEGRAM_API_ID=123456
TELEGRAM_API_HASH=your_hash
SINGGRAM_FORCE_LIQUID_GLASS=true

Build:

scripts/build_official_android.sh

Default output:

official-android/TMessagesProj_App/build/outputs/apk/arm64/release/app.apk

For a debug APK:

SINGGRAM_OFFICIAL_TASK=:TMessagesProj_App:assembleArm64Debug scripts/build_official_android.sh

GitHub Actions Build

The workflow can be run manually from GitHub Actions. Required repository secrets:

TELEGRAM_API_ID
TELEGRAM_API_HASH
GOOGLE_SERVICES_JSON_BASE64

Create the Firebase secret from a local google-services.json:

base64 -i official-android/TMessagesProj/google-services.json | gh secret set GOOGLE_SERVICES_JSON_BASE64

If publish_release is enabled when running the workflow, it publishes:

SingGram-arm64-release.apk
update.json

Stable public update manifest:

https://github.com/<owner>/<repo>/releases/latest/download/update.json

Stable public APK link:

https://github.com/<owner>/<repo>/releases/latest/download/SingGram-arm64-release.apk

Updating From Telegram

GitHub Actions checks the official Telegram Android upstream on a schedule. If DrKLO/Telegram has moved beyond the imported commit or version recorded in .github/singgram-upstream.json, the checker commits the new upstream metadata, app version name, README, and fork documentation to android-official-fork, then dispatches the public SingGram release build.

The automatic checker does not blindly merge upstream source code. Use the sync script below when you want to review and merge Telegram Android source changes into SingGram.

Use the sync script to merge newer Telegram Android upstream changes into a temporary branch:

scripts/sync_official_android_upstream.sh master

Then resolve conflicts, build, test on a phone, and merge the sync branch only after the APK is usable.

After a reviewed upstream source merge, make sure .github/singgram-upstream.json still points at the imported Telegram commit/version so the scheduled checker knows the fork is current.

Recommended checks after every upstream update:

  1. Login and account switching
  2. Chat open/back navigation
  3. Message receive and notification behavior
  4. Media download and playback
  5. SingGram settings and diagnostics
  6. Liquid Glass surfaces

More details are in docs/official-android-fork.md.

Security Notes

Do not commit:

  • telegram_credentials.env
  • google-services.json
  • signing keys or keystores
  • APK/AAB build outputs
  • session databases or device logs

The public repository should contain source only. Credentials and Firebase config are restored in CI from GitHub Secrets.

License

Telegram Android is GPL-2.0-or-later. SingGram keeps that license inheritance for the forked Android source. If public APKs are distributed, publish the matching SingGram source for that release and keep private credentials/signing keys out of the repository.

About

SingGram Android fork based on Telegram Android

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages