TailScaled packages the Tailscale Linux daemon for rooted Android and runs it in userspace-networking mode, enabling tailnet access without occupying Android's single VPN-app slot.
Tailnet Access from Android
A terminal-managed Tailscale environment for users who need another Android VPN to remain active.
Userspace Tunnel
Runs tailscaled without Android's standard VPN interface and bridges traffic through a local SOCKS5 tunnel.
Service Commands
Includes commands for the Tailscale client, daemon service, tunnel service, status inspection, and live logs.
Remote Workflows
Can carry SSH, ADB, and other IP services across an authenticated tailnet when those services are configured separately.
How the Android Port Operates
The module starts tailscaled automatically at boot with -tun=userspace-networking. Its state is stored at /data/adb/tailscale/tmp/tailscaled.state, the daemon socket is placed in the same private tree, and logs are written to /data/adb/tailscale/run/tailscaled.log.
Because userspace mode does not create the normal Linux Tailscale interface, the package uses hev-socks5-tunnel to connect the local SOCKS service on port 1099 to an interface named tailscale0. That interface is created by the bundled tunnel component, not directly by tailscaled.
Installation and package choices
Release v2.0.0.1 provides two packages: the lightweight ZIP downloads binaries during installation, while the full ZIP includes all binaries. Choose one package.
- Install the selected package through Magisk, then reboot. The upstream documentation also confirms KernelSU support.
- Open a root-capable terminal and authenticate using the commands below.
- Open the login URL in a browser to authorize the device, disable accepted DNS, and check its tailnet IP.
Initial Connection
After installation and reboot, authenticate the node from a root-capable terminal. The project recommends disabling accepted DNS because MagicDNS is not implemented reliably in this Android userspace setup.
tailscaled.service manages the daemon, while tailscaled.tun manages the SOCKS-to-TUN layer. Both must be operational for transparent access to other tailnet devices.
Known Limits and Diagnostics
- Published packages target ARM and ARM64. Features from the general Linux client may not behave identically on Android.
- MagicDNS is documented as unavailable, and custom subnet routes require manual route rules in
tailscaled.tun.upandtailscaled.tun.down. - If connectivity fails, check
tailscaled.service, thentailscaled.tun, verify a Tailscale-layer ping, and confirm that local SOCKS port 1099 responds. - ADB or SSH access must be enabled and secured separately. Tailscale connectivity does not automatically start either service.