diff --git a/META-INF/com/google/android/update-binary b/META-INF/com/google/android/update-binary new file mode 100644 index 0000000..ea4889e --- /dev/null +++ b/META-INF/com/google/android/update-binary @@ -0,0 +1,33 @@ +#!/sbin/sh + +################# +# Initialization +################# + +umask 022 + +# echo before loading util_functions +ui_print() { echo "$1"; } + +require_new_magisk() { + ui_print "*******************************" + ui_print " Please install Magisk v20.4+! " + ui_print "*******************************" + exit 1 +} + +######################### +# Load util_functions.sh +######################### + +OUTFD=$2 +ZIPFILE=$3 + +mount /data 2>/dev/null + +[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk +. /data/adb/magisk/util_functions.sh +[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk + +install_module +exit 0 \ No newline at end of file diff --git a/META-INF/com/google/android/updater-script b/META-INF/com/google/android/updater-script new file mode 100644 index 0000000..17c11fc --- /dev/null +++ b/META-INF/com/google/android/updater-script @@ -0,0 +1,2 @@ +#MAGISK + diff --git a/README.md b/README.md index 4be2bca..32a1281 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,20 @@ # zerotier-magisk -start ZeroTier in the background after startup +This magisk module enables you to start zerotier in the background after booting. + +## Installation + +1. download zipped code file from github. +2. modify zerotier/network and write down your own network id. +3. install and enjoy. + +### Scripts and binaries + +all the scripts and binaries are placed in `/data/adb/zerotier/` , you can use termux to run them if needed. + +`add_ip_rule.sh` is used to make the `main` route table, which zerotier writes its routes to, available. + +### Build binaries yourself + +Note that the zerotier binaries are only build for aarch64, you can build it yourself in termux. + +Remember to delete `ZT_SSO_SUPPORTED=1` if you don't want to build zeroidc with rust. diff --git a/customize.sh b/customize.sh new file mode 100644 index 0000000..a70cfd0 --- /dev/null +++ b/customize.sh @@ -0,0 +1,34 @@ +#!/system/bin/sh + +SKIPUNZIP=1 +ASH_STANDALONE=0 + +ZT_PATH=/data/adb/zerotier + +ui_print "- unzip" +unzip -o "${ZIPFILE}" -x 'META-INF/*' -d "${MODPATH}" >&2 + +ui_print "- set file permission" +set_perm_recursive ${MODPATH}/zerotier 0 0 0755 0755 + +ui_print "- create work dir" +mkdir -p ${ZT_PATH} +mv ${MODPATH}/zerotier/* ${ZT_PATH} + +ln -s ${ZT_PATH}/zerotier-one ${ZT_PATH}/zerotier-cli +ln -s ${ZT_PATH}/zerotier-one ${ZT_PATH}/zerotier-idtool + +ui_print "- clean up" +rm -rf ${MODPATH}/customize.sh 2>/dev/null +rm -rf ${MODPATH}/bin 2>/dev/null +sleep 1 + +ui_print "- installed" + +set_perm_recursive ${MODPATH} 0 0 0755 0644 + +ui_print "---------- information -----------" +ui_print "- zerotier root: ${ZT_PATH}" +ui_print "- zerotier version: $(grep_prop version ${TMPDIR}/module.prop)" + + diff --git a/module.prop b/module.prop new file mode 100644 index 0000000..eaa70c8 --- /dev/null +++ b/module.prop @@ -0,0 +1,6 @@ +id=zerotier +name=Zerotier For Magisk +version=v1.0.0 +versionCode=100 +author=eventlOwOp +description=zerotier binary build for aarch64 diff --git a/service.sh b/service.sh new file mode 100644 index 0000000..31a056e --- /dev/null +++ b/service.sh @@ -0,0 +1,9 @@ +#!/system/bin/sh + +MODDIR=${0%/*} + +cd /data/adb/zerotier + +sh ./add_ip_rule.sh +sh ./start.sh +sh ./join.sh diff --git a/uninstall.sh b/uninstall.sh new file mode 100644 index 0000000..f7913ce --- /dev/null +++ b/uninstall.sh @@ -0,0 +1 @@ +rm -rf /data/adb/zerotier \ No newline at end of file diff --git a/zerotier/add_ip_rule.sh b/zerotier/add_ip_rule.sh new file mode 100644 index 0000000..ff8b6a9 --- /dev/null +++ b/zerotier/add_ip_rule.sh @@ -0,0 +1 @@ +ip rule add from all lookup main pref 1 diff --git a/zerotier/home/placeholder b/zerotier/home/placeholder new file mode 100644 index 0000000..e69de29 diff --git a/zerotier/join.sh b/zerotier/join.sh new file mode 100644 index 0000000..59c5656 --- /dev/null +++ b/zerotier/join.sh @@ -0,0 +1 @@ +cat ./network | xargs ./zerotier-cli -D./home join diff --git a/zerotier/leave.sh b/zerotier/leave.sh new file mode 100644 index 0000000..3c822cf --- /dev/null +++ b/zerotier/leave.sh @@ -0,0 +1 @@ +cat ./network | xargs ./zerotier-cli -D./home leave diff --git a/zerotier/network b/zerotier/network new file mode 100644 index 0000000..21d56a0 --- /dev/null +++ b/zerotier/network @@ -0,0 +1 @@ +1111111111111111 diff --git a/zerotier/start.sh b/zerotier/start.sh new file mode 100644 index 0000000..cd0b5c2 --- /dev/null +++ b/zerotier/start.sh @@ -0,0 +1 @@ +./zerotier-one -d home & diff --git a/zerotier/zerotier-one b/zerotier/zerotier-one new file mode 100644 index 0000000..c709d24 Binary files /dev/null and b/zerotier/zerotier-one differ