Tailhopper

Connect to multiple Tailscale networks simultaneously

Tailhopper


Looking for the project?

If you’re just looking for the tool, head over to the Tailhopper repository on GitHub.


The Problem

If you’re a Tailscale user, you’ve probably run into this limitation: you can only be connected to one Tailnet at a time. This becomes frustrating when you need to access resources on multiple networks — for example, reaching web services on your personal Tailnet while your work machine is connected to a corporate Tailnet.

The typical workflow involves constantly disconnecting and reconnecting between networks, which is tedious and breaks your flow.

Tailhopper to the Rescue

Tailhopper lets you stay connected to multiple Tailnets simultaneously, without touching your primary Tailscale connection.

What it does

  • Single web dashboard to manage your additional Tailnets
  • Works alongside your existing Tailscale connection — your primary Tailnet is unaffected
  • Automatic proxy routing via PAC file — no per-request configuration needed
  • Manual per-Tailnet SOCKS5 proxy option for apps that don’t support PAC or for non-HTTP traffic
  • Runs as a background service on macOS (auto-starts at login, auto-restarts on crash)

How it works

Tailhopper connects to each Tailnet using tsnet and starts a dedicated local SOCKS5 proxy for each one. Traffic can reach those proxies in two ways:

  1. PAC file (recommended for browsers) — Tailhopper serves a PAC file that maps each Tailnet’s MagicDNS suffix to the corresponding SOCKS5 proxy. Configure your browser or OS to use the PAC file once, and every request is automatically sent to the right proxy.

  2. Direct SOCKS5 (per Tailnet) — Each Tailnet’s proxy can be configured directly in any app that supports SOCKS5. This is useful for non-HTTP traffic (SSH, database clients, etc.).

Installation

macOS (Homebrew)

brew install jcambass/homebrew-tap/tailhopper
brew services start tailhopper

Linux

curl -fsSL https://raw.githubusercontent.com/jcambass/tailhopper/main/linux/install.sh | bash

Usage

Once running, open the dashboard at http://localhost:8888/.

From there you can:

  • Add Tailnets and authenticate them via Tailscale
  • Temporarily enable/disable individual Tailnets
  • Configure your browser or OS to use the PAC file for automatic proxy routing
  • Alternatively, configure a SOCKS5 proxy manually per-app

Technical Details

Tailhopper is written in Go and uses the official Tailscale tsnet library to establish connections to multiple Tailnets. The project is open source and available on GitHub.

Keep exploring