growlyx/tailmux

Stay on multiple Tailscale tailnets at once!

Go

3

14 commits

updated Sep 29, 2026

See the code

See what people are saying

SourceMessageScoreDate

Tailmux – connect to multiple tailnets at once

2

Sep 29, 2026

README

tailmux: be on all your tailnets at once, next to its menu bar panel showing four tailnets with switches and live throughput

CI latest release

Tailscale's client joins one tailnet at a time. tailmux joins them all and sends each connection to the tailnet that owns it.

brew install growlyx/tap/tailmux
tailmux setup                        # add tailnets, log in
sudo brew services start tailmux     # every app can now reach every tailnet

ssh db.home, curl http://grafana.work, psql -h db.corp.internal: names and subnets from every tailnet work side by side, even when two tailnets use the same IPs.

Docs

  • Install: Homebrew, service modes, without Homebrew
  • Setup and config: the tailmux setup TUI and every config key
  • Routing: how tailmux picks a tailnet, and what happens on conflicts
  • TUN mode: proxy-free, for every app
  • Proxy mode: SOCKS5, HTTP, PAC, ssh, kubectl
  • Menu bar app: switches, throughput, local API
  • Updates: automatic, and how to turn that off
  • Development: the in-process test lab, CI, releases
homebrew-tap

growlyx/tailmux

Stay on multiple Tailscale tailnets at once!

Go

3

14 commits

updated Sep 29, 2026

See the code

See what people are saying

SourceMessageScoreDate

Tailmux – connect to multiple tailnets at once

2

Sep 29, 2026

README

tailmux: be on all your tailnets at once, next to its menu bar panel showing four tailnets with switches and live throughput

CI latest release

Tailscale's client joins one tailnet at a time. tailmux joins them all and sends each connection to the tailnet that owns it.

brew install growlyx/tap/tailmux
tailmux setup                        # add tailnets, log in
sudo brew services start tailmux     # every app can now reach every tailnet

ssh db.home, curl http://grafana.work, psql -h db.corp.internal: names and subnets from every tailnet work side by side, even when two tailnets use the same IPs.

Docs

  • Install: Homebrew, service modes, without Homebrew
  • Setup and config: the tailmux setup TUI and every config key
  • Routing: how tailmux picks a tailnet, and what happens on conflicts
  • TUN mode: proxy-free, for every app
  • Proxy mode: SOCKS5, HTTP, PAC, ssh, kubectl
  • Menu bar app: switches, throughput, local API
  • Updates: automatic, and how to turn that off
  • Development: the in-process test lab, CI, releases
homebrew-tap

Languages

Go

83.5%

Swift

12.7%

Python

1.9%

Go Template

1.2%