diff --git a/README.en.md b/README.en.md new file mode 100644 index 00000000..b89822d1 --- /dev/null +++ b/README.en.md @@ -0,0 +1,74 @@ +# FoxiGram + +[Русский](README.md) · **English** + +An unofficial Telegram client based on Nekogram, with a built-in VLESS+Reality +proxy client (Xray) for bundled, one-tap proxy access. + +## Download + +Latest builds are on the releases page: + +**https://github.com/instant992/FoxiGram/releases** + +Download `FoxiGram---arm64-v8a.apk` from the newest release and +install it on your device (you may need to allow installs from unknown +sources). + +You can also open the download link straight from the app: +**Settings → Foxi → Download FoxiGram**. + +## 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=/toolchains/llvm/prebuilt//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---.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. diff --git a/README.md b/README.md index 43d2287e..217f0f23 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,51 @@ # FoxiGram -**English** · [Русский](README.ru.md) +**Русский** · [English](README.en.md) -An unofficial Telegram client based on Nekogram, with a built-in VLESS+Reality -proxy client (Xray) for bundled, one-tap proxy access. +Неофициальный клиент Telegram на базе Nekogram со встроенным +прокси-клиентом VLESS+Reality (Xray) для доступа к прокси в одно касание. -## Download +## Скачать -Latest builds are on the releases page: +Свежие версии — на странице релизов: **https://github.com/instant992/FoxiGram/releases** -Download `FoxiGram---arm64-v8a.apk` from the newest release and -install it on your device (you may need to allow installs from unknown -sources). +Скачайте файл `FoxiGram-<версия>-<код>-arm64-v8a.apk` из последнего релиза и +установите его на устройстве (для этого может понадобиться разрешить установку +из неизвестных источников). -You can also open the download link straight from the app: -**Settings → Foxi → Download FoxiGram**. +Ссылку на скачивание также можно открыть прямо из приложения: +**Настройки → Foxi → Скачать FoxiGram**. -## 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`. + который исключён из git. +- Шаблон находится в `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 +# затем отредактируйте XrayServers.java и впишите данные своих серверов VLESS+Reality ``` -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) +## Нативная библиотека Xray (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. +Ядро прокси — небольшая Go-обёртка над xray-core, собранная как разделяемая +JNI-библиотека. Исходники в `libxray/`. Скомпилированный `libxray.so` исключён +из git и собирается локально. -Build for Android arm64 (requires Go and the Android NDK): +Сборка под Android arm64 (нужны Go и Android NDK): ```sh cd libxray @@ -56,19 +57,19 @@ set CC=/toolchains/llvm/prebuilt//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: +Обычная сборка через Gradle: ```sh ./gradlew :TMessagesProj_App:assembleRelease -Pandroid.injected.build.abi.filter=arm64-v8a ``` -The output APK is named `FoxiGram---.apk`. +Итоговый APK называется `FoxiGram-<версия>-<код>-.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. +- `google-services.json`, ключи подписи и `local.properties` не хранятся в + репозитории. Для релизной сборки подставьте свои. +- Это форк для личного использования. Основан на Nekogram, который основан на + Telegram для Android. diff --git a/README.ru.md b/README.ru.md deleted file mode 100644 index e13cfa14..00000000 --- a/README.ru.md +++ /dev/null @@ -1,75 +0,0 @@ -# FoxiGram - -[English](README.md) · **Русский** - -Неофициальный клиент Telegram на базе Nekogram со встроенным -прокси-клиентом VLESS+Reality (Xray) для доступа к прокси в одно касание. - -## Скачать - -Свежие версии — на странице релизов: - -**https://github.com/instant992/FoxiGram/releases** - -Скачайте файл `FoxiGram-<версия>-<код>-arm64-v8a.apk` из последнего релиза и -установите его на устройстве (для этого может понадобиться разрешить установку -из неизвестных источников). - -Ссылку на скачивание также можно открыть прямо из приложения: -**Настройки → Foxi → Скачать FoxiGram**. - -## Встроенные прокси-серверы - -Данные серверов намеренно не хранятся в этом репозитории. - -- Реальные серверы лежат в файле - `TMessagesProj/src/main/java/org/telegram/messenger/XrayServers.java`, - который исключён из git. -- Шаблон находится в `XrayServers.java.template`. - -Чтобы настроить свои встроенные прокси: - -```sh -cd TMessagesProj/src/main/java/org/telegram/messenger/ -cp XrayServers.java.template XrayServers.java -# затем отредактируйте XrayServers.java и впишите данные своих серверов VLESS+Reality -``` - -Если оставить адреса пустыми, встроенные прокси отключатся — приложение всё -равно соберётся и будет работать, просто в списке прокси не будет -предзаданных записей. - -## Нативная библиотека Xray (libxray.so) - -Ядро прокси — небольшая Go-обёртка над xray-core, собранная как разделяемая -JNI-библиотека. Исходники в `libxray/`. Скомпилированный `libxray.so` исключён -из git и собирается локально. - -Сборка под Android arm64 (нужны Go и Android NDK): - -```sh -cd libxray -go mod tidy -set CGO_ENABLED=1 -set GOOS=android -set GOARCH=arm64 -set CC=/toolchains/llvm/prebuilt//bin/aarch64-linux-android21-clang -go build -buildmode=c-shared -o ../TMessagesProj/src/main/jniLibs/arm64-v8a/libxray.so . -``` - -## Сборка приложения - -Обычная сборка через Gradle: - -```sh -./gradlew :TMessagesProj_App:assembleRelease -Pandroid.injected.build.abi.filter=arm64-v8a -``` - -Итоговый APK называется `FoxiGram-<версия>-<код>-.apk`. - -## Примечания - -- `google-services.json`, ключи подписи и `local.properties` не хранятся в - репозитории. Для релизной сборки подставьте свои. -- Это форк для личного использования. Основан на Nekogram, который основан на - Telegram для Android. diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/BlurredTextSpan.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/BlurredTextSpan.java index f2c51dba..df24b997 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/BlurredTextSpan.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/BlurredTextSpan.java @@ -31,7 +31,7 @@ public class BlurredTextSpan extends ReplacementSpan { private int cachePad; public BlurredTextSpan(String text) { - this(text, AndroidUtilities.dp(3.5f)); + this(text, AndroidUtilities.dp(7f)); } public BlurredTextSpan(String text, float blurRadius) { @@ -104,6 +104,10 @@ public class BlurredTextSpan extends ReplacementSpan { p.setColor(color); p.setTypeface(paint.getTypeface()); p.setMaskFilter(new BlurMaskFilter(blurRadius, BlurMaskFilter.Blur.NORMAL)); - c.drawText(text, pad, cacheBaseline, p); + // A strong blur fades the glyphs to near-transparency; draw the blurred + // text several times so it stays a dense, unreadable smudge. + for (int i = 0; i < 4; i++) { + c.drawText(text, pad, cacheBaseline, p); + } } }