TailScaled

anasfanani

Magisk KernelSU APatch
v2.0.0.1
Version
11.29 MB
Size
Nov 4, 2025
Updated

Module Info

  • Contributors anasfanani, actions-user, usertam, stevenxxiu, github-actions[bot]
  • Source Code View Repository
  • Tags
    #TailScaled #Tailscale #Mesh VPN #Userspace Networking #ADB #SSH #Root Module

About this module

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.

  1. Install the selected package through Magisk, then reboot. The upstream documentation also confirms KernelSU support.
  2. Open a root-capable terminal and authenticate using the commands below.
  3. 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.

$ su -c tailscale login
$ su -c tailscale set --accept-dns=false
$ su -c tailscale status
$ su -c tailscale ip

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.up and tailscaled.tun.down.
  • If connectivity fails, check tailscaled.service, then tailscaled.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.