NekoX/README.md

148 lines
7.2 KiB
Markdown
Raw Normal View History

2020-06-26 06:54:48 +02:00
# NekoX
2014-10-23 17:30:35 +02:00
2021-02-04 12:20:05 +01:00
NekoX is an **free and open source** third-party Telegram client, based on Telegram-FOSS with features added.
2014-10-23 17:30:35 +02:00
2021-02-18 03:32:07 +01:00
[![Continuous integration](https://github.com/NekoX-Dev/NekoX/workflows/Debug%20build/badge.svg?branch=main)](https://github.com/NekoX-Dev/NekoX/actions)
- [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)
2021-02-04 12:20:05 +01:00
- [Group Chat (Indonesia)](https://t.me/NekoxID)
2020-06-26 06:54:48 +02:00
## NekoX Changes
2020-12-08 15:05:46 +01:00
- Most of Nekogram's features
2021-02-04 12:20:05 +01:00
- Max account limit set to 32
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
2021-02-04 12:20:05 +01:00
- Allow clicking on links in self profile
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
2021-02-04 12:20:05 +01:00
- Login via qrcode
- Scan and confirm the login qrcode directly
2020-12-08 15:05:46 +01:00
- 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
2021-02-04 12:20:05 +01:00
- Proxies, groups, channels, sticker packs are able to shared as qrcodes.
2020-06-26 06:54:48 +02:00
- 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
2021-02-04 12:20:05 +01:00
- Option to block others from starting a secret chat with you
- Allow create group without invite
- Option to upgrade group to supergroup
2021-02-04 18:59:00 +01:00
- Mark dialogs as read using tab menu
2021-02-06 12:40:35 +01:00
- Option to hide device info
2021-02-04 12:20:05 +01:00
- Improved session dialog
- Improved link long click menu
- Text replacer
2021-02-04 18:59:00 +01:00
- Option to disable trending
2020-12-08 15:05:46 +01:00
- 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-02-28 19:40:50 +01:00
rustup install $(cat ss-rust/src/main/rust/shadowsocks-rust/rust-toolchain)
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
2021-02-04 12:20:05 +01:00
#### I've encountered a bug!
First, make sure you have the latest version installed (check the channel, play store updates usually have a delay).
Then, if the issue appears on the official telegram as well, please submit it to the officials, ( but be careful not to show NekoX in the description and screenshots, the official developers don't like us! ).
Then, please *detail* your issue, create an issue or submit it to our [group](https://t.me/NekoXChat) with #bug.
If you experience a *crash*, you also need to click on the version number at the bottom of the settings and select "Enable Log" and send it to us.
#### How can I help with Localization?
2020-01-09 22:04:13 +01:00
Join the project at https://nekox.crowdin.com/nekox.
2021-02-04 12:20:05 +01:00
##### My language is not in the translation platform / needs to be improved !
Same as submitting a bug, plus you need to submit your nekox.crowdin.com account.
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>