Go to file
2022-07-11 17:07:27 +08:00
.github fix CI: install ndk manually 2022-06-22 03:32:16 +08:00
bin
gradle/wrapper
metadata/en-US
openpgp-api chore: upgrade dependencies 2022-05-09 01:58:59 +08:00
ss-rust
ssr-libev
TMessagesProj fix: copy photo 2022-07-11 17:07:27 +08:00
Tools
v2ray@a697372e99
.gitignore misc: more gitignore 2022-04-02 18:59:19 +08:00
.gitmodules
apkdiff.py
build.gradle chore: upgrade dependencies 2022-05-09 01:58:59 +08:00
Dockerfile Update to 8.8.3 2022-06-23 02:07:45 +04:00
gradle.properties
gradlew
gradlew.bat
LICENSE
README.md docs: update 2022-03-31 01:26:29 +08:00
README.NekoX.md
run
settings.gradle

Nagram

Nagram is a third-party Telegram client based on NekoX with some modifications.

Additional feature over NekoX

  1. Nice icon (thanks to MaitungTM)
  2. Combine message
  3. Editable text style
  4. Forced copy
  5. Invert reply
  6. Quick reply in longClick menu (thanks to @blxueya)
  7. Undo and Redo
  8. Scrollable chat preview (thanks to TeleTux)
  9. Noise suppress and voice enhance (thanks to )

API and Protocol documentation

Telegram API manuals: https://core.telegram.org/api

MTproto protocol manuals: https://core.telegram.org/mtproto

Compilation Guide(By NekoX-dev)

NOTE: Building on Windows is, unfortunately, not supported. Consider using a Linux VM or dual booting.

Important:

  1. Checkout all submodules
git submodule update --init --recursive
  1. Install Android SDK and NDK (default location is $HOME/Android/SDK, otherwise you need to specify $ANDROID_HOME for it)

It is recommended to use AndroidStudio to install.

  1. Install golang and yasm
apt install -y golang-1.16 yasm
  1. Install Rust and its stdlib for Android ABIs, and add environment variables for it.

It is recommended to use the official script, otherwise you may not find rustup.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain none -y
echo "source \$HOME/.cargo/env" >> $HOME/.bashrc && source $HOME/.cargo/env

rustup install $(cat ss-rust/src/main/rust/shadowsocks-rust/rust-toolchain)
rustup default $(cat ss-rust/src/main/rust/shadowsocks-rust/rust-toolchain)
rustup target install armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android

This step can be skipped if you want to build a mini release.

  1. Build native dependencies: ./run init libs
  2. Build external libraries and native code:

For full release:

uncomment lines in settings.gradle

./run libs update

For mini release:

./run libs v2ray
./run libs native # libtmessages.so
  1. Fill out TELEGRAM_APP_ID and TELEGRAM_APP_HASH in local.properties
  2. Replace TMessagesProj/google-services.json if you want fcm to work.
  3. Replace release.keystore with yours and fill out ALIAS_NAME, KEYSTORE_PASS and ALIAS_PASS in local.properties if you want a custom sign key.

./gradlew assemble<Full/Mini><Debug/Release/ReleaseNoGcm>


Localization

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.

Thanks