risin42/NagramX

A variant of Nagram with additional features.

Java

2,202

4,195 commits

updated Aug 23, 2026

See the code

README

Nagram X

[!IMPORTANT] This project is archived and no longer maintained. No further updates, bug fixes, or support will be provided. The source code and existing releases remain available for reference and for anyone who wishes to continue development in a fork.

Archived Downloads

Previously published versions remain 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

The workflow can be used from a fork of this repository.

  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

Significant stargazers

rafareborn

165 followers · starred Apr 2025

smed79

86 followers · starred Jun 2026

Grigory

23 followers · starred Nov 2025

risin42/NagramX

A variant of Nagram with additional features.

Java

2,202

4,195 commits

updated Aug 23, 2026

See the code

README

Nagram X

[!IMPORTANT] This project is archived and no longer maintained. No further updates, bug fixes, or support will be provided. The source code and existing releases remain available for reference and for anyone who wishes to continue development in a fork.

Archived Downloads

Previously published versions remain 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

The workflow can be used from a fork of this repository.

  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

Significant stargazers

rafareborn

165 followers · starred Apr 2025

smed79

86 followers · starred Jun 2026

Grigory

23 followers · starred Nov 2025