Installation
Download the signed TailMux binary for macOS or Linux, activate your license, and route your terminal clients through it.
View as MarkdownRequirements#
- macOS (menu bar app + CLI) or Linux (CLI).
- The Tailscale app or CLI, used for the official direct-comparison checks.
- A TailMux license (one-time purchase). See pricing.
macOS app#
On macOS the recommended install is the app: download it from the download page, move it to Applications, and launch it — the menu bar icon appears and the routing service starts. The tailmux CLI ships inside the app: link it into /usr/local/bin from Settings → Command Line → Install command-line tool. Everything below covers the standalone binary, which is the path on Linux (and fine on macOS if you don't want the app). A full tour of the app lives at the app.
Download#
Grab the signed, statically-linked binary for your platform from the download page — macOS (Apple Silicon + Intel) and Linux (x86_64 + arm64). Unpack the archive and move tailmux onto your PATH:
$tar -xzf tailmux_*.tar.gz$sudo mv tailmux /usr/local/bin/$tailmux --versionHomebrew#
Prefer a package manager? On macOS the cask installs the menu bar app with the CLI bundled — the same thing the download page ships:
$brew install --cask cq-fabrication/tap/tailmuxOn Linux — or for a CLI-only install — use the formula instead:
$brew install cq-fabrication/tap/tailmux$tailmux --versionActivate your license#
Sign in at your account to find your license key, then activate. The menu-bar app has the same step under Settings → License.
$tailmux license activate TMX-XXXXXXXX-XXXX$tailmux license statusYour purchase is perpetual — the version stays yours forever. The included 1-year updates window only gates downloading new versions; once it ends, TailMux keeps working at 100%, you just renew to get newer releases. tailmux license status shows the updates date and your devices used (e.g. 2/5).
Each activation registers the machine as a device against your license's device limit. If you hit the limit, run tailmux license deactivate on a machine you no longer use — which frees its slot — or remove the device from your account. Re-activating on the same machine reuses its slot, so reinstalls don't cost an extra device.
First run#
Generate and validate a config, then start the router:
$tailmux init$tailmux config validate$tailmux upRouting CLI clients#
Use tailmux run to route a single command's HTTP traffic (curl, git, npm) through the right profile proxy for an owned .ts.net host:
$tailmux run curl https://grafana.acme-corp.ts.net/Or export proxy variables into the current shell for a longer session:
$eval "$(tailmux env)"RDP & SMB tunnels#
For native apps that cannot use a proxy, open an explicit loopback-only TCP forward to a specific profile and target. Expose RDP:
$tailmux tunnel --profile work \$ --listen 127.0.0.1:13389 10.10.20.15:3389Then point the RDP client at 127.0.0.1:13389. For SMB, tunnel to port 445 and mount from the loopback port (smb://127.0.0.1:1445).
Stopping TailMux#
Stop with Ctrl-C if the command is foregrounded, then confirm nothing is left listening:
$lsof -nP -iTCP:43100 -iTCP:43180$pgrep -fl tailmux