|
| 1 | +[English](README.md) | 简体中文 |
| 2 | + |
| 3 | +# AsteriskNG |
| 4 | + |
| 5 | +一个 Android Xray GUI 客户端,使用 [Xray-core](https://github.com/XTLS/Xray-core)、[AndroidLibXrayLite](https://github.com/2dust/AndroidLibXrayLite) 和 [hev-socks5-tunnel](https://github.com/heiher/hev-socks5-tunnel) 实现。 |
| 6 | + |
| 7 | +## Telegram Channel |
| 8 | + |
| 9 | +[Asterisk4Magisk](https://t.me/Asterisk4Magisk) |
| 10 | + |
| 11 | +## 功能 |
| 12 | + |
| 13 | +- VPN Service、TPROXY(ROOT) 和 TUN2SOCKS(ROOT) 运行模式 |
| 14 | +- VMess、VLESS、Trojan、Shadowsocks、Socks、HTTP、Hysteria2、WireGuard、策略组和链式代理支持 |
| 15 | +- v2rayNG、mihomo 订阅格式支持 |
| 16 | +- 管理 `geoip.dat`、`geosite.dat`、`geoip-only-cn-private.dat` 和 Xray 可执行文件等资源文件 |
| 17 | +- 通过 Magisk `service.d` 脚本支持 ROOT 模式开机自启 |
| 18 | +- MIUIX Compose UI |
| 19 | + |
| 20 | +## 预览 |
| 21 | + |
| 22 | +<p align="center"> |
| 23 | + <img src="image/screenshot/1.jpg" width="24%" alt="截图 1" /> |
| 24 | + <img src="image/screenshot/2.jpg" width="24%" alt="截图 2" /> |
| 25 | + <img src="image/screenshot/3.jpg" width="24%" alt="截图 3" /> |
| 26 | + <img src="image/screenshot/4.jpg" width="24%" alt="截图 4" /> |
| 27 | +</p> |
| 28 | + |
| 29 | +## 运行模式 |
| 30 | + |
| 31 | +### VPN Service |
| 32 | + |
| 33 | +- 无需 root 权限。 |
| 34 | +- 使用 Android `VpnService`。 |
| 35 | +- 适合常规 Android 应用级 VPN 使用场景。 |
| 36 | + |
| 37 | +### TPROXY(ROOT) |
| 38 | + |
| 39 | +- 需要 root 权限。 |
| 40 | +- 通过 libsu 直接运行本地 Xray 可执行文件。 |
| 41 | +- 使用 iptables 和策略路由处理透明代理流量。 |
| 42 | +- 使用已配置的透明代理端口作为 Xray 入站。 |
| 43 | + |
| 44 | +### TUN2SOCKS(ROOT) |
| 45 | + |
| 46 | +- 需要 root 权限。 |
| 47 | +- 通过 libsu 直接运行本地 Xray 可执行文件。 |
| 48 | +- 使用 `hev-socks5-tunnel` 创建固定 TUN 设备 `asterisk0`。 |
| 49 | +- 使用 Xray 的本地 SOCKS5 入站作为隧道目标。 |
| 50 | +- 与 TPROXY 共享大部分 ROOT 路由和应用代理行为,但流量会通过 TUN 设备转发,而不是通过 Xray 的 TPROXY 入站。 |
| 51 | + |
| 52 | +## 资源文件 |
| 53 | + |
| 54 | +- 运行时文件存储在应用私有的 `files/xray` 目录中,通常为 `/data/user/0/org.asterisk.zcc.ang/files/xray`。 |
| 55 | +- 内置 Xray 可执行文件会从 native libraries 还原,也可以手动替换为 `xray` 可执行文件,或替换为包含 `xray` 的 zip 压缩包。 |
| 56 | +- `geoip.dat` 和 `geosite.dat` 可以从内置 assets 还原、从在线来源更新,或手动替换。 |
| 57 | +- 内置更新来源包括 [Loyalsoldier/v2ray-rules-dat](https://github.com/Loyalsoldier/v2ray-rules-dat)、[v2fly/geoip](https://github.com/v2fly/geoip)、[v2fly/domain-list-community](https://github.com/v2fly/domain-list-community) 和 [Chocolate4U/Iran-v2ray-rules](https://github.com/Chocolate4U/Iran-v2ray-rules)。 |
| 58 | + |
| 59 | +## 开发 |
| 60 | + |
| 61 | +使用 Android Studio 打开项目根目录,或通过 Gradle wrapper 构建: |
| 62 | + |
| 63 | +```powershell |
| 64 | +.\gradlew.bat assembleDebug |
| 65 | +``` |
| 66 | + |
| 67 | +macOS 或 Linux: |
| 68 | + |
| 69 | +```bash |
| 70 | +./gradlew assembleDebug |
| 71 | +``` |
| 72 | + |
| 73 | +构建过程会: |
| 74 | + |
| 75 | +- 使用 Android SDK 和 NDK |
| 76 | +- 下载或准备内置 Xray-core 资源 |
| 77 | +- 构建 native `setuidgid` helper |
| 78 | +- 为 `arm64-v8a`、`armeabi-v7a`、`x86` 和 `x86_64` 打包 native 运行时组件 |
| 79 | + |
| 80 | +如果 Gradle 找不到 Android NDK,请在 `local.properties` 中设置 `ndk.dir`,设置 `ANDROID_NDK_HOME`,或在 Android SDK 下安装 NDK。 |
| 81 | + |
| 82 | +## WSA |
| 83 | + |
| 84 | +对于 WSA,可以使用以下命令授予 VPN 权限: |
| 85 | + |
| 86 | +```bash |
| 87 | +appops set org.asterisk.zcc.ang ACTIVATE_VPN allow |
| 88 | +``` |
| 89 | + |
| 90 | +## 许可 |
| 91 | + |
| 92 | +[GPL-3.0](LICENSE) |
| 93 | + |
| 94 | +## 致谢 |
| 95 | + |
| 96 | +- [@XTLS/Xray-core](https://github.com/XTLS/Xray-core) |
| 97 | +- [@2dust/AndroidLibXrayLite](https://github.com/2dust/AndroidLibXrayLite) |
| 98 | +- [@heiher/hev-socks5-tunnel](https://github.com/heiher/hev-socks5-tunnel) |
| 99 | +- [@topjohnwu/libsu](https://github.com/topjohnwu/libsu) |
| 100 | +- [@compose-miuix-ui/miuix](https://github.com/compose-miuix-ui/miuix) |
| 101 | +- [@2dust/v2rayNG](https://github.com/2dust/v2rayNG) |
| 102 | +- [@Loyalsoldier/v2ray-rules-dat](https://github.com/Loyalsoldier/v2ray-rules-dat) |
| 103 | +- [@v2fly/geoip](https://github.com/v2fly/geoip) |
| 104 | +- [@v2fly/domain-list-community](https://github.com/v2fly/domain-list-community) |
| 105 | +- [@Chocolate4U/Iran-v2ray-rules](https://github.com/Chocolate4U/Iran-v2ray-rules) |
0 commit comments