Nagram is a third-party Telegram client based on NekoX with some modifications.
Additional feature over Nagram
Nice icon (thanks to MaitungTM)
Combine message
Editable text style
Forced copy
Invert reply
Quick reply in longClick menu (thanks to @blxueya )
Undo and Redo
Scrollable chat preview (thanks to TeleTux)
Noise suppress and voice enhance (thanks to )
Most of Nekogram's features
Unlimited login accounts
Proxy
Built-in VMess, Shadowsocks, SSR, Trojan-GFW proxies support (No longer maintained)
Built-in public proxy (WebSocket relay via Cloudflare CDN), documentation and for PC
Proxy subscription support
Ipv6 MTProxy support
Able to parse all proxy subscription format: SIP008, ssr, v2rayN, vmess1, shit ios app formats, clash config and more
Proxies import and export, remarks, speed measurement, sorting, delete unusable nodes, etc
Scan the QR code (any link, can add a proxy)
The ( vmess / vmess1 / ss / ssr / trojan ) proxy link in the message can be clicked
Allow auto-disabling proxy when VPN is enabled
Proxy automatic switcher
Don't alert "Proxy unavailable" for non-current account
Stickers
Custom Emoji packs
Add stickers without sticker pack
Sticker set list backup / restore / share
Internationalization
OpenCC Chinese Convert
Full InstantView translation support
Translation support for selected text on input and in messages
Google Cloud Translate / Yandex.Translate support
Force English emoji keywords to be loaded
Persian calendar support
Additional Options
Option to disable vibration
Dialog sorting is optional "Unread and can be prioritized for reminding" etc
Option to skip "regret within five seconds"
Option to not send comment first when forwarding
Option to use nekox chat input menu: replace record button with a menu which contains an switch to control link preview (enabled by default)
Option to disable link preview by default: to prevent the server from knowing that the link is shared through Telegram.
Option to ignore Android-only content restrictions (except for the Play Store version).
Custom cache directory (supports external storage)
Custom server (official, test DC)
Option to block others from starting a secret chat with you
Option to disable trending
Additional Actions
Allow clicking on links in self profile
Delete all messages in group
Unblock all users support
Login via QR code
Scan and confirm the login QR code directly
Allow clearing app data
Proxies, groups, channels, sticker packs are able to be shared as QR codes
Add "@Name " when long-pressing @user option
Allow creating a group without inviting anyone
Allow upgrading a group to a supergroup
Mark dialogs as read using tab menu
Enabled set auto delete timer option for private chats and private groups
Support saving multiple selected messages to Saved Messages
Support unpinning multiple selected messages
View stats option for messages
Optimization
Keep the original file name when downloading files
View the data center you belong to when you don't have an avatar
Enhanced notification service, optional version without Google Services
Improved session dialog
Improved link long click menu
Improved hide messages from blocked users feature
Don't process cleanup draft events after opening chat
Others
OpenKeychain client (sign / verify / decrypt / import)
Text replacer
UI
Telegram X style menu for unpinning messages
Built-in Material Design themes / Telegram X style icons
And more :)
API and Protocol documentation
Telegram API manuals: https://core.telegram.org/api
MTProto protocol manuals: https://core.telegram.org/mtproto
NOTE: For Windows users, please consider using a Linux VM (such as WSL2) or dual booting.
Environment:
Linux distribution based on Debian or Arch Linux, or macOS
Native tools: gcc go make cmake ninja yasm
# for Debian based distribution
sudo apt install gcc golang make cmake ninja-build yasm
# for Arch Linux based distribution
sudo pacman -S base-devel go ninja cmake yasm
# for macOS
xcode-select --install # install developer tools (will open confirm dialog)
brew install go cmake ninja yasm # install other tools by homebrew
Android SDK: build-tools;33.0.0 platforms;android-33 ndk;21.4.7075529 cmake;3.18.1 cmake;3.22.1 (the default location is H O M E / A n d r o i d / S D K ∗ ∗ , o t h e r w i s e y o u n e e d t o s p e c i f y ∗ ∗ HOME/Android/SDK**, otherwise you need to specify ** H O M E / A n d r o i d / S D K ∗ ∗ , o t h er w i sey o u n ee d t os p ec i f y ∗ ∗ ANDROID_HOME for it)
It is recommended to use Android Studio to install, but you can also use sdkmanager command on distributions based on Debian:
sudo apt install sdkmanager
sdkmanager --sdk_root $HOME/Android/SDK --install "build-tools;33.0.0" "platforms;android-33" "ndk;21.4.7075529" "cmake;3.18.1" "cmake;3.22.1"
Build:
Checkout submodules
git submodule update --init --recursive
Build native dependencies:
./run init libs
Build external libraries and native code:
./run libs native
Fill out TELEGRAM_APP_ID and TELEGRAM_APP_HASH in local.properties (from Telegram Developer )
Replace TMessagesProj/google-services.json if you want FCM to work.
Replace release.keystore with yours and fill out ALIAS_NAME, KEYSTORE_PASS and ALIAS_PASS in local.properties .
Build with Gradle:
./gradlew assemble<Release/Debug>
Generate TMessagesProj/jni/integrity/genuine.h - https://github.com/brevent/genuine
Compilation with GitHub Action
Create your own release.keystore to replace TMessagesProj/release.keystore.
Prepare LOCAL_PROPERTIES
KEYSTORE_PASS=123456
ALIAS_NAME=key0
ALIAS_PASS=123456
TELEGRAM_APP_ID=123456
TELEGRAM_APP_HASH=abcdefg
Then, use base64 to encode the above.
Add Repo Action Secrets
LOCAL_PROPERTIES: from step 2
HELPER_BOT_TOKEN: from telegram @Botfather , such as 1111:abcd
HELPER_BOT_TARGET: from telegram chat id, such as 777000
Run Release Build
Generate TMessagesProj/jni/integrity/genuine.h - https://github.com/brevent/genuine
What is the differences between Nagram, NekoX and Nekogram?
Developed by different developers, read the feature list above to understand the differences.
What is the noGcm version?
Google Cloud Messaging, also known as gcm / fcm, message push service by google used by original Telegram android app, it requires your device to have Google Service Framework (non-free) installed.
First, make sure you have the latest version installed (check the channel).
Then, if the issue appears in the official Telegram client too, please submit it to the officials, (be careful not to show NekoX in the description and screenshots, the official developers doesn't like us!).
Then, submit it to our group with #bug.
If you experience a crash , you also need to click on the version number at the bottom of the settings and select "Enable Log" and send it to us.
Nagram is forked from Telegram, thus most locales follows the translations of Telegram for Android, checkout https://translations.telegram.org/en/android/ .
Is Nagram not in your language, or the translation is incorrect or incomplete? Get involved in the translations on our Weblate .