Skip to content

Repository files navigation

Nagram X

Crowdin
A variant of Nagram with additional features.

Download

Latest versions are available through:

Verify APK

Official APKs use the following Android signing certificate:

  • Package name: nu.gpu.nagram / nu.gpu.nagramx (base version)
  • SHA-256: 0D:51:91:56:E8:0C:91:8C:28:C4:80:BF:D1:3F:31:6A:3B:3B:F7:22:DB:53:2F:AB:74:66:0E:C8:E5:C5:06:A1

Compilation Guide

  1. Clone the repository with its submodules:

    git clone --recursive --shallow-submodules https://github.com/risin42/NagramX.git NagramX

    If you already cloned the repository without submodules, run:

    git submodule update --init --recursive --depth=1
  2. Obtain API credentials (TELEGRAM_APP_ID and TELEGRAM_APP_HASH) from Telegram Developer Portal. Create local.properties in the project root with:

    TELEGRAM_APP_ID=<your_telegram_app_id>
    TELEGRAM_APP_HASH=<your_telegram_app_hash>
  3. For APK signing: Replace release.keystore with your keystore and add signing configuration to local.properties:

    KEYSTORE_PASS=<your_keystore_password>
    ALIAS_NAME=<your_alias_name>
    ALIAS_PASS=<your_alias_password>
  4. For FCM support: Replace TMessagesProj/google-services.json with your own configuration file.

  5. Replace project-specific metadata:

    • Set your Google Maps API key in the com.google.android.maps.v2.API_KEY meta-data entry in TMessagesProj/src/main/AndroidManifest.xml.
    • Set BaseRemoteHelper.CHANNEL_METADATA_ID in TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/remote/BaseRemoteHelper.java to your metadata channel's numeric ID, without the -100 prefix.
  6. Open the project in Android Studio to start building.

GitHub Actions Build

  1. Replace TMessagesProj/release.keystore with your keystore file.

  2. Configure local.properties with the following:

    KEYSTORE_PASS=<your_keystore_password>
    ALIAS_NAME=<your_alias_name>
    ALIAS_PASS=<your_alias_password>
    TELEGRAM_APP_ID=<your_telegram_app_id>
    TELEGRAM_APP_HASH=<your_telegram_app_hash>

    Base64 encode the contents of this file.

  3. Configure GitHub Action secrets:

    • LOCAL_PROPERTIES: Base64-encoded content from step 2
    • HELPER_BOT_TOKEN: Telegram bot token from @Botfather (e.g., 1111:abcd)
    • HELPER_BOT_TARGET: Primary Telegram chat ID (e.g., 777000)
    • HELPER_BOT_CANARY_TARGET: Chat ID for test builds and metadata (can match HELPER_BOT_TARGET)
  4. Trigger the Release Build workflow.

Acknowledgments

About

A variant of Nagram with additional features.

Resources

Stars

2.1k stars

Watchers

12 watching

Forks

Releases

Used by

Contributors

Languages