Based on Nekogram. Key additions: - Rebrand to FoxiGram (app name, APK name, applicationId com.foxigram.app) - Embedded Xray (VLESS+Reality) proxy client via JNI libxray.so - Bundled hidden one-tap proxies (LTE + WiFi), read-only in UI - Auto-restore proxy on restart, rebind to active network (LTE/WiFi) - Server credentials externalized to git-ignored XrayServers.java (+ template) - libxray Go source included; compiled .so, keystore, google-services.json ignored
59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
# FoxiGram
|
|
|
|
An unofficial Telegram client based on Nekogram, with a built-in VLESS+Reality
|
|
proxy client (Xray) for bundled, one-tap proxy access.
|
|
|
|
## Built-in proxy servers
|
|
|
|
Server credentials are intentionally kept out of this repository.
|
|
|
|
- The real servers live in
|
|
`TMessagesProj/src/main/java/org/telegram/messenger/XrayServers.java`,
|
|
which is git-ignored.
|
|
- A template is provided at `XrayServers.java.template`.
|
|
|
|
To configure your own bundled proxies:
|
|
|
|
```sh
|
|
cd TMessagesProj/src/main/java/org/telegram/messenger/
|
|
cp XrayServers.java.template XrayServers.java
|
|
# then edit XrayServers.java and fill in your VLESS+Reality server data
|
|
```
|
|
|
|
Leaving the addresses empty disables the bundled proxies — the app still builds
|
|
and runs, you just won't see the pre-configured entries in the proxy list.
|
|
|
|
## Native Xray library (libxray.so)
|
|
|
|
The proxy core is a small Go wrapper around xray-core, built as a JNI shared
|
|
library. The source is in `libxray/`. The compiled `libxray.so` is git-ignored
|
|
and must be built locally.
|
|
|
|
Build for Android arm64 (requires Go and the Android NDK):
|
|
|
|
```sh
|
|
cd libxray
|
|
go mod tidy
|
|
set CGO_ENABLED=1
|
|
set GOOS=android
|
|
set GOARCH=arm64
|
|
set CC=<NDK>/toolchains/llvm/prebuilt/<host>/bin/aarch64-linux-android21-clang
|
|
go build -buildmode=c-shared -o ../TMessagesProj/src/main/jniLibs/arm64-v8a/libxray.so .
|
|
```
|
|
|
|
## Building the app
|
|
|
|
Standard Gradle build:
|
|
|
|
```sh
|
|
./gradlew :TMessagesProj_App:assembleRelease -Pandroid.injected.build.abi.filter=arm64-v8a
|
|
```
|
|
|
|
The output APK is named `FoxiGram-<version>-<code>-<abi>.apk`.
|
|
|
|
## Notes
|
|
|
|
- `google-services.json`, signing keystores, and `local.properties` are not
|
|
committed. Provide your own for release builds.
|
|
- This is a fork for personal use. Based on Nekogram, which is based on
|
|
Telegram for Android.
|