TailMux is a companion tool designed for users who manage multiple Tailscale tailnets, such as separate work and personal networks. It enables simultaneous access to these different tailnets on macOS and Linux operating systems without the need to constantly switch accounts, run multiple system daemons, or deploy a virtual machine. The core functionality revolves around running an isolated, embedded Tailscale node for each configured profile, ensuring strict separation and routing traffic based on hostnames.
The problem TailMux addresses stems from the limitation of the official Tailscale client, which typically allows only one tailnet to be active at a time. This necessitates frequent manual switching when users need to access resources across different networks, leading to workflow disruptions and inefficiencies. Existing workarounds, like running multiple daemons or using virtual machines, are often cumbersome and resource-intensive, especially on desktop operating systems like macOS.
One of the key features of TailMux is its ability to maintain multiple active tailnets concurrently. This is achieved by running an isolated embedded Tailscale node for each profile. This isolation prevents any leakage of traffic or configuration between the different tailnets, ensuring security and predictability. The tool routes traffic based on hostname suffixes, meaning that traffic destined for a specific domain or subdomain is automatically directed to the correct tailnet without manual intervention.
Another significant capability is the strict no-fallback isolation. This ensures that if a hostname or IP address is not found within a specific tailnet's configuration, TailMux will not attempt to route it through another active tailnet. This prevents accidental access to unintended networks and maintains a clear boundary between different environments. This approach is crucial for maintaining security and preventing data leaks.
TailMux supports a wide range of applications and protocols across these multiple tailnets. Users can seamlessly use SSH to connect to servers on different networks, access RDP/SMB shares, browse the web with per-tailnet browser routing, and utilize command-line tools like curl, git, and npm, all while maintaining simultaneous connections to multiple Tailscale networks. This broad compatibility ensures that users can continue their existing workflows without interruption.
The overall methodology of TailMux is to act as a smart router that sits between the user's applications and their Tailscale networks. Instead of merging all tailnets into a single system view, it maintains distinct, isolated nodes. Traffic is then intelligently directed based on explicit hostname rules, ensuring that each request goes to the intended network. This hostname-first approach avoids the complexities and potential conflicts associated with merging routing tables or DNS views.
The benefits for users include significantly improved productivity by eliminating the need for manual tailnet switching. It provides a more streamlined and efficient way to manage work and personal network access. The strict isolation also enhances security by preventing accidental cross-network access. Users can maintain simultaneous connections, allowing for uninterrupted workflows and easier access to distributed resources.
Concrete use cases for TailMux include developers who need to access development servers on a work tailnet while simultaneously connecting to personal servers or IoT devices on a home tailnet. It's also beneficial for system administrators managing multiple client networks or for individuals who use Tailscale for both remote work and personal projects. The ability to use SSH, RDP, and other tools across these networks without switching makes it ideal for complex remote access scenarios.
TailMux is available for macOS and Linux. The product is offered as a one-time license purchase of $5.99, which includes a year of updates, with the ability to keep the purchased version indefinitely. It is a companion tool and is not affiliated with Tailscale. The application runs as normal user processes and does not install hidden root daemons or kernel extensions, though it may optionally configure browser PAC settings. The macOS build is Developer ID signed and notarized.
In summary, TailMux offers a robust solution for users needing concurrent access to multiple Tailscale tailnets, enhancing productivity and security through intelligent hostname-based routing and strict network isolation.