-
Notifications
You must be signed in to change notification settings - Fork 0
Installation & Getting Started
This guide details system requirements, prerequisites, one-line installation, post-install verification, updates, and complete uninstallation for TAILCAT ZER0 on Asuswrt-Merlin routers.
- Asuswrt-Merlin 386.x, 388.x, 3004.x, and 3006.x (including Gnuton Merlin builds for DSL/AX devices).
- Stock ASUS firmware is not supported because it lacks JFFS custom script execution and writable partition hooks.
The installer automatically inspects your router hardware architecture via uname -m and deploys the appropriate official Tailscale TailCat engine binary:
- ARM64 (aarch64): RT-AX86U, RT-AX88U (Pro), GT-AX6000, GT-AXE16000, GT-AX11000 Pro, RT-BE96U, RT-BE98U, etc.
- ARMv7 (armv7l): RT-AC68U, RT-AC86U, RT-AX56U, RT-AX58U, etc.
- x86_64 (amd64): Virtualized Merlin test environments and custom x86 builds.
-
Enable JFFS Custom Scripts:
- In the Asuswrt WebGUI, navigate to: Administration β System β Persistent JFFS2 partition.
- Set "Format JFFS partition at next boot" to No.
- Set "Enable JFFS custom scripts and configs" to Yes.
- Click Apply.
-
SSH Access Enabled:
- Navigate to: Administration β System β SSH Daemon.
- Set "Enable SSH" to LAN only (or LAN + WAN if using keys).
- Port default is
22(or custom port such as5522).
-
Internet Connectivity:
- The router must be able to resolve and reach
github.com,raw.githubusercontent.com, and Tailscale's DERP relay endpoints over HTTPS/UDP.
- The router must be able to resolve and reach
-
Optional: Entware:
- If Entware is installed (
amtmβep), TAILCAT ZER0 automatically links into/opt/bin/and takes advantage ofqrencodefor crisp ASCII QR codes, as well as enhanced diagnostic tools likerg(ripgrep) andtree.
- If Entware is installed (
Log into your router via SSH and run the following command:
curl -fsSL https://raw.githubusercontent.com/underd0se/tailcat-zero/main/install.sh | sh-
Verifies JFFS Partition: Ensures
/jffsis mounted, writable, and has sufficient space (>15MB). -
Detects Architecture: Identifies your CPU (
arm64,armv7, oramd64). -
Fetches Engine Binary: Downloads the official compiled
tailcatengine directly from Tailscale's GitHub Releases. -
Installs Scripts:
- Main manager:
/jffs/addons/tailcatzero/tailcatzero - View-only sandbox:
/jffs/addons/tailcatzero/tailcat-view-shell - Default configuration:
/jffs/addons/tailcatzero/tailcatzero.cfg
- Main manager:
-
Registers PATH Symlinks:
- Creates
/jffs/scripts/tailcatzero - Links into
/opt/bin/tailcatzero(if Entware is present). - Preserves the official
tailcatpackage binary namespace to prevent any command collision.
- Creates
Confirm that TAILCAT ZER0 is correctly installed and in your system $PATH:
tailcatzero --versionExpected output:
TAILCAT ZER0 v1.7.1 (engine v0.6.0)
Check the initial service status:
tailcatzero statusExpected output:
[βͺ] No active TAILCAT ZER0 sessions running.
Launch the interactive terminal dashboard:
tailcatzero TAILCAT ZER0 v1.7.1 β±|γ
(ΛΛ γ7
|γΛγ΅
Instant Tunnel Manager γγΛ,)γ
========================================================================
1. π Remote Support Shell Full root or view-only access [βͺ Inactive]
2. π₯ Receive Files Direct P2P file transfer [βͺ Inactive]
3. π Share Directory (SFTP) Share a folder from your drive [βͺ Inactive]
4. π Expose Router WebGUI Access to router's web interface [βͺ Inactive]
------------------------------------------------------------------------
5. β±οΈ Configure Default Timeout Current: 30 min
6. βοΈ Manage TAILCAT ZER0 Update, reinstall, or remove
========================================================================
ποΈ View Sessions | π Stop | β©οΈ Exit:
TAILCAT ZER0 includes an intelligent dual-component updater that maintains both the management CLI scripts and the compiled TailCat engine binary.
Launch tailcatzero, select Option 6 (Manage TAILCAT ZER0), and choose Option 1 (Check & Update).
tailcatzero update- CLI Script Update: Fetches the latest script from GitHub. If an update is applied, the script automatically reloads the in-memory shell process cleanly.
- Engine Binary Check: Inspects the installed engine version against the latest GitHub release. If versions match, redundant downloads are skipped:
========================================================================
π± TAILCAT ZER0 β Dual-Component Update Check
========================================================================
[1/2] Checking TAILCAT ZER0 Script:
Current: v1.7.1 | Remote: v1.7.1
[β] Script is up to date.
[2/2] Checking TailCat Engine Binary:
Current: v0.6.0 | Remote: v0.6.0
[β] Engine binary is already up to date (v0.6.0).
If you ever wish to completely remove TAILCAT ZER0 from your router:
Launch tailcatzero β select Option 6 (Manage TAILCAT ZER0) β select Option 3 (Complete Uninstall):
TAILCAT ZER0 v1.7.1 β±|γ
(ΛΛ γ7
|γΛγ΅
Instant Tunnel Manager γγΛ,)γ
========================================================================
ποΈ Uninstall TAILCAT ZER0
This will terminate all active sessions and clean up all TailCat files.
========================================================================
ποΈ Yes, Uninstall | β©οΈ Back / Cancel:
Confirm with y to terminate all tunnels and purge all addon files.
Run this cleanup sequence to stop all tunnels and remove files:
# Stop all running sessions
tailcatzero stop all 2>/dev/null
# Remove addon directories and TAILCAT ZER0 script symlinks
rm -rf /jffs/addons/tailcatzero /jffs/addons/tailcat
rm -f /jffs/scripts/tailcatzero
rm -f /opt/bin/tailcatzero
# Clean volatile session locks and state files
rm -rf /tmp/tailcat_sessions /tmp/tailcat_addr*.txtYour router's firewall rules and network configuration remain completely untouched and clean.
TAILCAT ZER0 β’ Ephemeral WireGuard Management for Asuswrt-Merlin β’ GitHub Repository