A high-performance Android root module that runs a native tailscaled daemon directly with true Linux kernel TUN (/dev/tun) and policy routing.
Built automatically from official tailscale/tailscale upstream releases via GitHub Actions.
- True Kernel TUN (
/dev/tun): Routes traffic directly through the Linux kernel without the performance penalties, JNI latency, or memory overhead of Android's userspaceVpnService. - Zero Conflict with Other VPNs: Claimed
protectedFromVpnbit and high-order firewall marks (0x10020000) prevent collisions with Android's systemnetddaemon and allow coexistence with third-party VPN apps. - Official Tailscale Engine: Automatically cross-compiled from official upstream release tags (
v1.104.4+). - Lightweight Flashable ZIP: The installation zip (
tailscale-native.zip) is ~6 KB. It downloads and validates verified ARM64 binaries during installation. - In-Place Daemon Updates: Tap the Action button in Magisk, KernelSU, or KernelSU WebUI to update
tailscaleandtailscaledin-place without rebooting.
- Download
tailscale-native.zipfrom the Latest Release. - Flash the zip in KernelSU, Magisk, or APatch. (The installer will download the latest compiled ARM64 binaries and verify ELF integrity).
- Disconnect or uninstall the official unprivileged Tailscale Android app to prevent TUN conflicts.
- Reboot your device to start the native daemon service.
All control operations interface with the native daemon via its dedicated Unix domain socket (/data/adb/tailscale-native/tailscaled.sock).
To avoid typing the full socket path every time, add this alias to your shell profile (~/.bashrc or ~/.zshrc in Termux):
alias ts='su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock"'su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock up"(Visit the URL printed in the terminal to authenticate this node in your Tailscale control plane).
su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock up --login-server=https://headscale.yourdomain.com --auth-key=tskey-auth-xxxx"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock up --accept-routes=true --accept-dns=true"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock up --exit-node=100.x.y.z --exit-node-allow-lan-access=true"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock up --advertise-exit-node"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock status"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock netcheck"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock ping 100.x.y.z"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock down"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock logout"To completely start, stop, or restart the background tailscaled daemon service:
su -c "/data/adb/modules/native_tailscale/service.sh"su -c "kill \$(cat /data/adb/tailscale-native/tailscaled.pid) && rm -f /data/adb/tailscale-native/tailscaled.pid /data/adb/tailscale-native/tailscaled.sock"su -c "/data/adb/modules/native_tailscale/action.sh"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock file cp /sdcard/Download/photo.jpg peer-hostname:"su -c "/data/adb/tailscale-native/bin/tailscale --socket=/data/adb/tailscale-native/tailscaled.sock file get /sdcard/Download"You can update the native binaries anytime without rebooting:
- KernelSU / Magisk: Open the Manager app, go to Modules, and tap the Action button next to Native Tailscale TUN.
- KernelSU WebUI: Tap the Action button.
- Terminal: Run:
su -c "/data/adb/modules/native_tailscale/action.sh"
This repository automatically tracks upstream Tailscale releases on a weekly schedule. The GitHub Actions CI/CD pipeline patches the source, cross-compiles static ARM64 binaries using pure Go, and publishes verified module zip assets with cryptographic checksums.
- Tailscale (Tailscale Inc.) - Official Tailscale engine, WireGuard implementation, and protocol.
- kxxt (
android-kxxt/external_tailscale) - Groundbreaking research on native AOSP integration, Android kernel TUN routing, and conflict-free firewall mark (fwmarks) allocation. - Iridule - Initial bootstrap packaging and Magisk service script foundation.
This project's packaging scripts and module structure are licensed under the MIT License, respecting the original work by Iridule.
Upstream Tailscale source code, libraries, and compiled binaries are licensed under the BSD 3-Clause License.