Run zerotier in the background after booting!
No conflicts with other Android VPN service!
Use Android App to control ZeroTier
Support for Private Root Servers
-
a version is built with Android NDK Toolchain, supporting api 28 (Android 9.0) and above.
-
another version is build with GCC toolchain, linking to Linux Syscalls statically
Unofficial planet supported; SSO (zeroidc) supported in the version built with GCC for AArch64
AArch64 suppots ARMv8-A and above; Arm version supports ARMv7-A (compiling with -march=armv7-a
)
- Download magisk module zip file from github release; install.
- Download controller app apk file from github release; install.
- Reboot your phone.
- Open controller app; enter your 16-character network id; join.
- Enjoy 😋
Replace /data/adb/zerotier/home/planet
with your own planet
file.
Does not need root privilege
Feature | Supported? |
---|---|
status | ✅ |
start/stop | ✅ |
join/leave network | ✅ |
join/leave planet | ❎ |
Use zerotier.sh
to start/stop or inspect status.
Usage: zerotier.sh {start|stop|restart|status}
Use zerotier-cli / zerotier-idtool
for ZeroTierOne command line operations.
(zerotier-one
not copied to /system/bin
)
/data/adb/zerotier
├── home # zerotier-one home directory
│ ├── authtoken.secret # zerotier-one http interface authtoken
│ ├── zerotier-one.pid # zerotier-one pid
│ ├── zerotier-one.port # zerotier-one port
│ └── ...
├── lib # only in NDK compiled module
│ └── libc++_shared.so # NDK dynamic library
├── run
│ ├── daemon.log # service.sh log
│ ├── pipe # named pipe to interact with service.sh
│ ├── zerotier.log # zerotier-one log
│ └── ...
├── zerotier-cli -> zerotier-one # zerotier-one command line interface
├── zerotier-idtool -> zerotier-one # zerotier-one id tool
├── zerotier-one # zerotier-one executable
└── zerotier.sh
all the scripts and binaries are placed in /data/adb/zerotier/
, and all copied to /system/bin
(in PATH) to be executed directly (except zerotier-one
)
zerotier.sh
uses named pipe to communicate with service.sh
, preventing ZeroTier to start as a subprocess of Shell.
log files are placed in run
, daemon.log
for service.sh
and zerotier.log
for ZeroTierOne.
refer to .github/workflow/build-{gcc|ndk}.yml
for detailed information.