Latest Release · GitHub Actions · Upstream Telegram
fluffyGram is a Telegram-based Android client with a focus on UI customization, cleaner patch-based changes, and custom release/update tooling.
- Fluffy-owned settings screens and UI tweaks
- Custom app updater backed by GitHub Releases
- Appearance customization:
- custom fonts
- chat list scaling
- centered titles and chat header options
- tabs customization
- formatting toggles
- Debug utilities and Fluffy deeplinks like
fluffy://settings/... - Optional
OpenStreetMapinteractive map provider
This project is based on Telegram for Android, but all custom logic should stay isolated in:
TMessagesProj/src/main/java/org/ushastoe/fluffy/patchesTMessagesProj/src/main/java/org/ushastoe/fluffy/hooksTMessagesProj/src/main/java/org/ushastoe/fluffy/utilsTMessagesProj/src/main/java/org/ushastoe/fluffy/ui
Telegram core files should contain only minimal hook points.
Private local assets live in fluffyGram_dev/ and are not meant to be committed as public app secrets.
Expected local files:
fluffyGram_dev/devlocal.propertiesfluffyGram_dev/ushastoe-release.keystorefluffyGram_dev/google-services.json
Typical devlocal.properties keys:
storeFilestorePasswordkeyAliaskeyPasswordMAPS_V2_APITELEGRAM_APP_IDTELEGRAM_APP_HASH
Debug build and install:
.\build_and_deploy_debug.ps1Release APK/AAB copy:
.\build_and_copy.ps1 -Configuration Release -PackageFormat BothAll-ABI release APK/AAB copy:
.\build_and_copy_all_abis.ps1 -Configuration Release -PackageFormat BothGitHub release publishing is handled by:
.github/workflows/build-release.yml
In-app updates are served from GitHub Releases through:
update.jsonupdate-beta.json
Versioning rule:
- upstream Telegram version stays unchanged
- Fluffy-only releases increment
FLUFFY_PATCH_VERSIONingradle.properties
Example:
- upstream:
12.5.1 - Fluffy patch releases:
12.5.1.1,12.5.1.2,12.5.1.3
This repo includes helper scripts for store packaging and key export:
build_and_copy.ps1build_and_copy_all_abis.ps1export_rustore_upload_cert.ps1fluffyGram_dev/export_rustore_upload_cert.ps1fluffyGram_dev/export_rustore_pepk.ps1
There is also a dedicated workflow for RuStore publishing:
.github/workflows/publish-rustore.yml
Main upstream source:
API documentation:
Thanks to the communities and maintainers of these Telegram forks for ideas, references, and prior work that helped this project:
If you fork this project further:
- use your own Telegram API credentials
- use your own signing keys
- use your own Firebase project
- do not present the app as the official Telegram client
