AsteriskNG

September 5, 2026 · View on GitHub

Русский | English | 简体中文

AsteriskNG

An Xray client for Android, powered by Xray-core, AndroidLibXrayLite, hev-socks5-tunnel.

Telegram Channel

Asterisk4Magisk

Features

  • VPN Service, TPROXY(ROOT), TUN2SOCKS(ROOT), and BPF2SOCKS(ROOT) run modes
  • VMess, VLESS, Trojan, Shadowsocks, SOCKS, HTTP, Hysteria2, WireGuard, strategy groups, and chained proxies
  • v2rayNG and Mihomo subscription formats
  • Profile, proxy, routing, log, and resource management
  • MIUIX Compose UI

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

Run Modes

VPN Service

  • Works without root permission.
  • Uses Android VpnService.
  • Runs Xray in the app process through AndroidLibXrayLite.

TPROXY(ROOT)

  • Runs the local Xray executable directly with libsu.
  • Uses a TPROXY inbound with iptables and policy routing for transparent proxy traffic.

TUN2SOCKS(ROOT)

  • Runs the local Xray executable directly with libsu.
  • Uses hev-socks5-tunnel to create the fixed TUN device asterisk0.
  • Sends tunnel traffic to a local Xray SOCKS5 inbound.

BPF2SOCKS(ROOT)

  • Runs the local Xray executable and native bpf2socks helper directly with libsu.
  • Uses eBPF without creating a TUN device and sends captured TCP and UDP traffic to a local Xray SOCKS5 inbound.
  • Defaults to bridge port 65532 and SOCKS5 inbound port 65534.
  • Requires the eBPF capability probe to pass before startup. Devices with insufficient support cannot start this mode.

asteriskd

  • Watches local IPv4/IPv6 addresses and tethering interfaces, then refreshes the relevant iptables rules or BPF maps.
  • Cleans up networking rules owned by the active ROOT mode when the service stops.

Resource Files

  • Runtime files are stored in the app-private files/xray directory.
  • The bundled Xray executable can be replaced with an executable file or a zip archive containing xray.
  • geoip.dat, geosite.dat, and other resources can be restored, replaced locally, or updated from built-in and custom sources.

Development

Initialize submodules before building:

git submodule update --init --recursive

Open the project root in Android Studio, or build it with Gradle wrapper:

.\gradlew.bat assembleDebug

On macOS or Linux:

./gradlew assembleDebug

The build prepares Xray, builds the configured native helper submodules, and packages the supported ABIs.

If Gradle cannot find the Android NDK, configure it through Android Studio, ndk.dir in local.properties, or ANDROID_NDK_HOME.

WSA

appops set org.asterisk.zcc.ang ACTIVATE_VPN allow

License

GPL-3.0

Credits