TailMux is a companion tool designed to enhance the functionality of Tailscale by enabling users to connect to multiple Tailscale tailnets concurrently on macOS and Linux operating systems. It is intended for users who manage separate work and personal Tailscale networks and find the limitation of the official client, which only allows one active tailnet at a time, to be a workflow impediment. TailMux provides a solution that eliminates the need for frequent account switching, running multiple system daemons, or resorting to virtual machines, thereby streamlining access to resources across different networks.
The problem TailMux addresses stems from the inherent limitation of the official Tailscale client, which restricts users to a single active tailnet connection. For individuals who utilize Tailscale for both professional and personal purposes, this limitation necessitates cumbersome workarounds such as manually switching between tailnets, which can disrupt workflows and lead to lost productivity. Existing solutions, like running multiple daemons, using SOCKS5 proxies, or deploying entire virtual machines, are often complex and inefficient, particularly on macOS. TailMux aims to resolve this by offering a more integrated and user-friendly approach to managing multiple network identities.
One of TailMux's key features is its ability to run isolated embedded Tailscale nodes for each profile. This architecture ensures that each tailnet operates independently, preventing any potential conflicts or data leakage between them. This isolation is crucial for maintaining security and operational integrity when accessing resources across different network environments.
Another significant capability is its hostname-based routing. TailMux intelligently routes traffic based on the hostname suffix, ensuring that requests are directed to the correct tailnet. This method is particularly effective for services that might have overlapping IP ranges or DNS configurations, as the hostname explicitly determines the network path, thus avoiding ambiguity and potential connection failures.
TailMux also implements strict no-fallback isolation. This means that traffic is never routed to an unintended tailnet, even if a direct route is not immediately available in the primary tailnet. This fail-closed approach enhances security by preventing accidental exposure of sensitive data or resources across network boundaries.
The product supports simultaneous use of various applications and protocols across different tailnets. This includes secure shell (SSH), Remote Desktop Protocol (RDP), Server Message Block (SMB), web browsers, command-line tools like curl and git, and package managers like npm. Users can seamlessly interact with resources on any connected tailnet without interruption.
TailMux operates by running an isolated embedded node per profile, which then routes traffic by hostname. This approach avoids the need for a single system daemon or a virtual machine. The application manages these isolated nodes and their respective network configurations, ensuring that each tailnet's identity and routing rules are maintained separately. This method is designed to be efficient and less resource-intensive than traditional workarounds.
The benefits for users include the ability to maintain simultaneous access to work and personal resources without the hassle of switching accounts or reconfiguring connections. This leads to increased productivity, simplified network management, and enhanced security through strict isolation. Users can leverage their Tailscale networks more effectively for diverse needs.
Concrete use cases for TailMux include developers accessing development servers on a work tailnet while simultaneously connecting to personal cloud storage or home automation devices on a separate tailnet. It is also beneficial for system administrators managing multiple client networks or for individuals who use Tailscale for both remote work and personal projects, ensuring seamless access to all necessary resources.
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 important to note that TailMux is a companion tool and is not officially affiliated with Tailscale. The application runs as normal user processes and does not install root daemons, kernel extensions, or Network Extensions. The macOS build is Developer ID signed and notarized.
In summary, TailMux provides a robust and secure solution for users needing concurrent access to multiple Tailscale tailnets, eliminating the need for manual switching and complex workarounds, thereby enhancing productivity and simplifying network management.