Skip to content

reddxae/Vanilla

 
 

Repository files navigation

Vanilla

Yet another Nagram fork with Telegram official branding.

Based on Telegram 12.1.1 without shitty liquid ass redesign. Intended for personal use with various QoL fixes.

Why?

The point is... ugh, well, I'm more into ReVanced-style mods than making fully rebranded ones. I love that aesthetic when the app looks essentially the same as the original, just with some useful additions — rather than going in a completely different design direction. Besides, I don't have time for that stuff.

Vanilla utilizes GitHub Actions workers to produce builds and push them to users. This ensures that builds are transparent, meaning they contain exactly what's available in the repository's source code.

An important paradigm of this client is No Cringe. You won't find any epic ripple animations here when you toggle settings, neither that half-broken "chat centering" which isn't properly centered and turns into an unwanted overflown scrollbar, nor even worse stuff — built-in AI assistants. There are also no client-side user blacklists, no "Extras" in this source code or paywalled features — and there won't ever be.

Changes over regular Nagram X

  • Telegram official branding over the app (logo, name, icons, splash)
  • Enhanced Monet palette generation (more vibrant and contrast)
  • Configurable resolution and bitrate for Video Messages
  • Backported TLS Client Hello stack from upstream (fixes MTProto for Russian users)
  • Hiding stickers/emoji/GIF panel on scroll with "Hide keyboard on Scroll" enabled
  • Keep Send as channel available when its hidden; just hold emoji button
  • Separate "Disable Swipe to Next..." for Channels and Forums
  • Option to disable "Gooey" avatar animation
  • "Disable Avatar Blur" feature will UI with pre-12.0.0 profile behaviour (kind of)
  • Hide Direct Share button everywhere with "Hide Share Button Next to Post"
  • Icons for Attachments Tabs
  • Replace subscribers/members caption to monochrome icon
  • Thousands separators for large numbers, also for sub counter when "Disable Number Rounding" enabled
  • Hide Stars rating and Gift button from profile
  • Changed Nagram's set of by-default enabled features in the sake of being predictable
  • Overall UI improvements
    • Fixed abnormal CPU usage caused by PiP source flapping and notification spam (Telegram bug)
    • Fixed centering of online status relatively to user name (Telegram bug)
    • Fixed views counter overlapping number of voters if the poll message forwarded (Telegram bug)
    • Fixed dividers inconsistency over the app
    • Do not convert date in media viewer to numeric format
    • Other tweaks to beautify appearance

How to build yourself

Locally

  1. Obtain API credentials from Telegram Developer Portal. Create local.properties in the project root with:

    TELEGRAM_API_ID=<your_telegram_api_id>
    TELEGRAM_API_HASH=<your_telegram_api_hash>
  2. Place release.keystore with your keystore in TMessagesProj and add signing configuration to local.properties:

    KEYSTORE_PASS=<your_keystore_password>
    ALIAS_NAME=<your_alias_name>
    ALIAS_PASS=<your_alias_password>
  3. Place TMessagesProj/google-services.json with your own configuration file to obtain FCM support.

  4. Open the project in Android Studio to start building.

On GitHub runner

  1. Encode your google-services.json in base64:

    base64 -w 0 google-services.json

    Create new repository secret named GOOGLE_SERVICES_JSON and fill it with your base64 output.

  2. Encode your keystore in base64:

    base64 -w 0 release.keystore

    Create new repository secret named KEYSTORE_BASE64 and fill it with your base64 output.

  3. Create new repository secret named LOCAL_PROPERTIES and fill it with these contents:

    TELEGRAM_API_ID=<your_telegram_api_id>
    TELEGRAM_API_HASH=<your_telegram_api_hash>
    KEYSTORE_PASS=<your_keystore_password>
    ALIAS_NAME=<your_alias_name>
    ALIAS_PASS=<your_alias_password>
  4. Trigger the Build APK workflow.

Many thanks for those who contribute to open source

  • Nekogram for being the bare minimum basis of all our forks
  • Cherrygram for adding new features and being helpful
  • Dr4iv3rNope for reverse-engineering AyuGram's proprietary features
  • Nagram and Nagram X for collecting awesome things
  • OctoGram for its excellent design solutions

About

Yet another Nagram fork with Telegram official branding.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages

  • Java 43.8%
  • C++ 33.3%
  • C 14.6%
  • Assembly 4.6%
  • Go 1.2%
  • Perl 1.1%
  • Other 1.4%