AsteriskMETA
English | 简体中文
Android Mihomo/Meow GUI client.
Telegram Channel
Proxy Cores
- Each APK bundles one proxy core; release APKs with the
-meowsuffix bundle Meow. - Both builds share the package name; installing one over the other switches the proxy core.
Run Modes
VPN Service
- Works without root permission.
- Uses Android
VpnService.
TPROXY(ROOT)
- Runs the proxy core executable directly with libsu.
- Uses iptables and policy routing for transparent proxy traffic.
TUN(ROOT)
- Mihomo build only.
- Runs the proxy core executable directly with libsu.
- Uses
auto-routeandauto-redirectin the Mihomo TUN inbound to manage routing.
TUN2SOCKS(ROOT)
- Runs the proxy core executable directly with libsu.
- Uses
hev-socks5-tunnelto create a TUN device and send traffic to the proxy core SOCKS5 inbound.
BPF2SOCKS(ROOT)
- Runs the proxy core executable directly with libsu.
- Uses
bpf2socksto capture traffic and send it to the proxy core SOCKS5 inbound. - Availability depends on eBPF support in the device kernel.
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.
Enhancement Module
AsteriskEnhance is an optional module that routes system DNS according to the application list and isolates resolver caches. It requires ROOT and Zygisk Next and supports TPROXY, TUN2SOCKS, and BPF2SOCKS. Enable Application list enhancement in settings and follow the installation prompts; reboot after installation or updates.
Resource Files
- Resource files are stored in the app-private
files/clashdirectory. - Custom resources can be added or replaced locally and updated from configured URLs.
Broadcast Control
Enable Broadcast Control in settings, then send an explicit broadcast to the receiver below. Actions use the org.asterisk.zcc.ameta.action. prefix.
| Operation | Action suffix |
|---|---|
| Start proxy | PROXY_START |
| Stop proxy | PROXY_STOP |
| Toggle proxy | PROXY_TOGGLE |
| Update all URL subscriptions | SUBSCRIPTION_UPDATE |
| Cancel broadcast subscription update | SUBSCRIPTION_UPDATE_CANCEL |
| Update all resources | RESOURCE_UPDATE |
| Cancel resource updates | RESOURCE_UPDATE_CANCEL |
adb shell am broadcast -n org.asterisk.zcc.ameta/features.automation.BroadcastControlReceiver -a org.asterisk.zcc.ameta.action.SUBSCRIPTION_UPDATE
Subscription updates skip local entries; cancellation preserves completed results and scheduled update settings. Resources use the current Resource Management configuration; resource cancellation also clears its shared queue. Repeated update commands of the same kind are merged while running.
Updates run in the background without starting the proxy. Broadcast delivery does not mean the update has finished; check the BroadcastControl app logs for results.
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 downloads the pinned AndroidLibClashLite AAR, builds the native submodules, and produces ABI split APKs plus a universal APK.
Use -Pcore=meow for the Meow build, default is -Pcore=mihomo.
If Gradle cannot find the Android NDK, configure it through Android Studio, ndk.dir in local.properties, or ANDROID_NDK_HOME.
