GitHub Actions workflow for building and packaging Xray-core as a Magisk module for Android.
- Multi-Architecture Support: Builds for ARMv7 and ARM64
- Automatic Builds: Daily scheduled builds via GitHub Actions
- Geo Data: Automatic download of geoip.dat and geosite.dat from Loyalsoldier's v2ray-rules-dat
- Service Control: Built-in service management script (start, stop, restart, log)
- Minimal SDK: Supports Android SDK 21+
- Magisk 20000+: Compatible with modern Magisk versions
- Flash the generated Magisk module ZIP via Magisk Manager
- Reboot your device
- Configure xray using the config.json file at
/data/adb/modules/xray-*/system/etc/xray/config.jsonor/etc/xray/config.json
The module includes xray-ctl script for managing Xray service:
# Start Xray
xray-ctl start
# Stop Xray
xray-ctl stop
# Restart Xray
xray-ctl restart
# View Xray logs (real-time)
xray-ctl log
# Check Xray status
xray-ctl statusThis module includes a Magisk Manager action button that restarts Xray directly from the module page.
Xray logs are stored at: /data/local/tmp/xray.log
- armv7: 32-bit ARM devices
- arm64: 64-bit ARM devices
xray: Xray-core binarygeoip.dat: GeoIP routing databasegeosite.dat: GeoSite routing databasexray-ctl: Service control utilityconfig.json: Default Xray configuration
Edit the config file to customize Xray behavior:
/data/adb/modules/xray-*/system/etc/xray/config.json
After configuration changes, restart Xray:
xray-ctl restart