NekoX/README.md

123 lines
6.1 KiB
Markdown
Raw Normal View History

2020-06-26 06:54:48 +02:00
# NekoX
2014-10-23 17:30:35 +02:00
2020-12-08 15:05:46 +01:00
NekoX is an **open source** third-party Telegram client, based on Telegram-FOSS with features added.
2014-10-23 17:30:35 +02:00
- [Google Play Store](https://play.google.com/store/apps/details?id=nekox.messenger)
- [Update News Telegram](https://t.me/NekogramX)
- [GitHub Feedback](https://github.com/NekoX-Dev/NekoX/issues)
- [Group Chat (English / Chinese)](https://t.me/NekoXChat)
- [Group Chat (Persian)](https://t.me/NekogramX_Persian)
2020-12-08 15:05:46 +01:00
The play store version is outdated [due to](https://developer.android.com/distribute/best-practices/develop/target-sdk) the target api level 29 is not supported yet. Otherwise, the play version won't be able to read photos and files (like other 3rd apps do).
2020-06-26 06:54:48 +02:00
## NekoX Changes
2020-12-08 15:05:46 +01:00
- Most of Nekogram's features
2020-12-17 19:16:15 +01:00
- OpenCC Chinese Convert
2020-12-08 15:05:46 +01:00
- Built-in Vmess, Shadowsocks, SSR proxies support
2020-12-17 19:16:15 +01:00
- Built-in public proxy list / Proxy subscription support.
2020-06-26 06:54:48 +02:00
- Proxies import and export, remarks, speed measurement, sorting, delete unusable nodes, etc.
- Scan the qrcode (any link, can add a proxy).
- The ( vemss / vmess1 / ss / ssr / rb ) proxy link in the message can be clicked.
- Allow auto disable proxy when VPN is enabled
2020-07-27 06:49:42 +02:00
- Proxy automatic switcher
2020-06-26 06:54:48 +02:00
- Add stickers without sticker pack
2020-07-27 06:49:42 +02:00
- Allow disable vibration
2020-06-26 06:54:48 +02:00
- Sticker set list backup / restore / share
- Full InstantView translation support
- Translation support for selected text on input and in messages
- Delete all messages in group
- Dialog sorting is optional "Unread and can be prioritized for reminding" etc.
- Allow to skip "regret within five seconds"
- Unblock all users support
2020-12-08 15:05:46 +01:00
- Login via QR code
- Scan and confirm the login QR code directly
- Allow clear application data
- Option to not send comment first when forwarding
- 0ption to use nekox chat input menu: replace record button with a menu which contains an switch to control link preview (enabled by default)
- Option to disable link preview by default: to prevent the server from knowing that the link is shared through Telegram.
- Option to ignore Android-only content restrictions (except for the Play Store version).
2020-07-27 06:49:42 +02:00
- OpenKaychain client ( sign / verify / decrypt / import )
2020-06-26 06:54:48 +02:00
- Google Cloud Translate / Yandex.Translate support
- Custom cache directory (supports external storage)
- Custom AppId and Hash (optional NekoX / Andorid / Android X or Manual input)
- Custom server (official, test DC or Manual input)
- Keep the original file name when downloading files
- View the data center you belong to when you don't have an avatar
- Proxies, groups, channels, sticker packs are able to shared as QRCodes.
- Force English emoji keywords to be loaded
- Add "@Name" when long press @ user option
- Enhanced notification service, optional version without Google Services.
2020-12-08 15:05:46 +01:00
- Don't alert "Proxy unavailable" for non-current account
- Tgx style message unpin menu
2020-06-26 06:54:48 +02:00
- Built-in Material Design themes / Telegram X style icons
2020-01-09 22:04:13 +01:00
## Compilation Guide
2013-10-25 17:55:11 +02:00
2020-11-04 13:43:49 +01:00
**NOTE: Building on Windows is, unfortunately, not supported.
Consider using a Linux VM or dual booting.**
**Important:**
1. Install Android Sdk and NDK ( default location is $HOME/Android/Sdk, otherwise you need to specify $ANDROID_HOME for it )
It is recommended to use [AndroidStudio](https://developer.android.com/studio) to install. [here is how to install AndroidStudio](https://developer.android.com/studio/install).
2020-11-04 13:43:49 +01:00
2021-01-16 17:25:30 +01:00
2. Install golang ( >= 1.15.5 ).
2020-11-04 13:43:49 +01:00
```shell
2021-01-16 17:25:30 +01:00
apt install -y golang
2020-11-04 13:43:49 +01:00
```
3. Install rust and its stdlib for android abis, add environment variables for it.
It is recommended to use the official script, otherwise you may not find rustup.
```shell
2021-01-16 17:25:30 +01:00
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain none -y
2020-11-04 13:43:49 +01:00
echo "source \$HOME/.cargo/env" >> $HOME/.bashrc && source $HOME/.cargo/env
2021-01-16 17:25:30 +01:00
2021-01-12 03:45:19 +01:00
cd ss-rust/src/main/rust/shadowsocks-rust
2020-11-04 13:43:49 +01:00
rustup target install armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
```
2021-01-16 17:25:30 +01:00
4. Build native dependencies: `./run init libs`
5. Build external libraries and native code: `./run libs update`
2020-12-08 15:05:46 +01:00
6. Fill out `TELEGRAM_APP_ID` and `TELEGRAM_APP_HASH` in `local.properties`
7. Replace TMessagesProj/google-services.json if you want fcm to work.
2021-01-16 17:25:30 +01:00
8. Replace release.keystore with yours and fill out `ALIAS_NAME`, `KEYSTORE_PASS` and `ALIAS_PASS` in `local.properties` if you want a non-debug build.
2020-11-04 13:43:49 +01:00
2020-12-30 06:41:58 +01:00
`./gradlew assemble<Full/Mini><Debug/Release/ReleaseNoGcm>`
2020-06-26 06:54:48 +02:00
## FAQ
2020-06-26 06:54:48 +02:00
2020-12-08 15:05:46 +01:00
#### What is the relationship between NekoX and Nekogram?
2020-06-26 06:54:48 +02:00
2020-12-08 15:05:46 +01:00
More features, **without** [additional trackers](https://gitlab.com/search?utf8=%E2%9C%93&snippets=false&scope=&repository_ref=master&search=AnalyticsHelper&group_id=10273976&project_id=22804922).
2020-06-26 06:54:48 +02:00
2020-12-08 15:05:46 +01:00
#### What is the difference between Full and Mini version?
2020-06-26 06:54:48 +02:00
The full version comes with built-in proxy support for v2ray, shadowsocks, and shadowsocksr, which is usually provided to advanced users to help friends who have no computer knowledge in mainland China to bypass censorship. Don't complain about imperfect functions or ask to add other rare proxy types, you can use their clients directly.
2020-06-26 06:54:48 +02:00
#### What if I don't need a proxy?
2020-06-26 06:54:48 +02:00
Then it is recommended to use the `Mini` version.
2020-06-26 06:54:48 +02:00
#### How can I help with Localization?
2020-01-09 22:04:13 +01:00
Join the project at https://nekox.crowdin.com/nekox.
2014-03-13 19:21:38 +01:00
2020-06-26 06:54:48 +02:00
## Credits
2014-03-13 19:21:38 +01:00
2020-06-26 06:54:48 +02:00
<ul>
<li>Telegram-FOSS: <a href="https://github.com/Telegram-FOSS-Team/Telegram-FOSS/blob/master/LICENSE">GPLv2</a></li>
2020-12-08 15:05:46 +01:00
<li>Nekogram: <a href="https://gitlab.com/Nekogram/Nekogram/-/blob/master/LICENSE">GPLv2</a></li>
2020-06-26 06:54:48 +02:00
<li>v2rayNG: <a href="https://github.com/2dust/v2rayNG/blob/master/LICENSE">GPLv3</a></li>
<li>AndroidLibV2rayLite: <a href="https://github.com/2dust/AndroidLibV2rayLite/blob/master/LICENSE">LGPLv3</a></li>
<li>shadowsocks-android: <a href="https://github.com/shadowsocks/shadowsocks-android/blob/master/LICENSE">GPLv3</a></li>
<li>shadowsocksRb-android: <a href="https://github.com/shadowsocksRb/shadowsocksRb-android/blob/master/LICENSE">GPLv3</a></li>
2020-12-17 19:16:15 +01:00
<li>HanLP: <a href="https://github.com/hankcs/HanLP/blob/1.x/LICENSE">Apache License 2.0</a></li>
<li>OpenCC: <a href="https://github.com/BYVoid/OpenCC/blob/master/LICENSE">Apache License 2.0</a></li>
<li>opencc-data: <a href="https://github.com/nk2028/opencc-data">Apache License 2.0</a></li>
</ul>