OpenList as a runsv service for Magisk/KernelSU.
This project is a Magisk/KernelSU module wrapper for OpenList, packaging the upstream binary as a runsv service for persistent background execution on Android.
| Upstream | OpenListTeam/OpenList |
| Upstream License | AGPL-3.0 |
Release attachments are not kept in sync with upstream OpenList versions. Use GitHub Actions to get the latest build:
- Go to the Build Workflow
- Click Run workflow → Run workflow
- Wait for the run to finish, then download the artifact and select the ZIP whose suffix matches your device:
arm64-v8a,armeabi-v7a,x86_64, orx86
- Install
runsvdir-magiskfirst, then install this module in Magisk/KernelSU. - Reboot your device.
- Symlink
openlistfrom the runsvdir WebUI or runln -s /data/adb/sv/openlist /data/adb/runsvdir/service/in a root shell.
Create /data/adb/sv/openlist/conf to customize the service. All variables are optional.
| Variable | Default | Description |
|---|---|---|
CHPST_USER |
shell:inet:sdcard_r:sdcard_rw |
User and groups for chpst (process privilege) |
OPENLIST_ARGS |
--data /storage/emulated/0/Android/openlist |
Arguments passed to openlist server |
WAIT_DECRYPT |
1 |
Wait for storage decryption before starting (set 0 to skip) |
Example:
CHPST_USER=shell:inet:sdcard_r:sdcard_rw
OPENLIST_ARGS="--data /storage/emulated/0/Android/openlist"
WAIT_DECRYPT=1Click the action button in Magisk/KernelSU and use volume keys to:
- Vol Up — Show admin info (login credentials)
- Vol Down — Random reset admin password
you can control the service from a root shell instead runsvdir webui:
# Enable / Disable
sv-enable openlist
sv-disable openlist
# up / down / status
sv up openlist
sv down openlist
sv status openlist
# View svlogd logs
tail -f /data/adb/runsvdir/log/sv/openlist/current
Replace just the binary without reinstalling the entire module:
cp new-openlist-binary /data/adb/modules/openlist-runsv/system/bin/openlist
chmod +x /data/adb/modules/openlist-runsv/system/bin/openlist
rebootUninstall the module from Magisk/KernelSU manager. This will:
- Remove
/data/adb/runsvdir/service/openlistsymlink - Remove
/data/adb/sv/openlistdirectory
Your data under /storage/emulated/0/Android/openlist is preserved.
Use fetch.sh to download the latest OpenList release and bundle it into the module:
./fetch.sh # downloads latest OpenList for all architectures into bin/
./package.sh # creates one out/openlist-runsv-<version>-<abi>.zip per ABIEach ZIP contains only one ABI and can be flashed directly from Magisk/KernelSU. Pass one or more ABI names to package.sh to build only those targets.