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.
Previously published versions remain available through:
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
-
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
-
Obtain API credentials (
TELEGRAM_APP_IDandTELEGRAM_APP_HASH) from Telegram Developer Portal. Createlocal.propertiesin the project root with:TELEGRAM_APP_ID=<your_telegram_app_id> TELEGRAM_APP_HASH=<your_telegram_app_hash>
-
For APK signing: Replace
release.keystorewith your keystore and add signing configuration tolocal.properties:KEYSTORE_PASS=<your_keystore_password> ALIAS_NAME=<your_alias_name> ALIAS_PASS=<your_alias_password>
-
For FCM support: Replace
TMessagesProj/google-services.jsonwith your own configuration file. -
Replace project-specific metadata:
- Set your Google Maps API key in the
com.google.android.maps.v2.API_KEYmeta-data entry inTMessagesProj/src/main/AndroidManifest.xml. - Set
BaseRemoteHelper.CHANNEL_METADATA_IDinTMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/remote/BaseRemoteHelper.javato your metadata channel's numeric ID, without the-100prefix.
- Set your Google Maps API key in the
-
Open the project in Android Studio to start building.
The workflow can be used from a fork of this repository.
-
Replace
TMessagesProj/release.keystorewith your keystore file. -
Configure
local.propertieswith 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.
-
Configure GitHub Action secrets:
LOCAL_PROPERTIES: Base64-encoded content from step 2HELPER_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 matchHELPER_BOT_TARGET)
-
Trigger the Release Build workflow.