01
Tailcat — Tailscale's network with no Tailscale account, and a relay you can replace
A BSD-3 Go CLI and library from Tailscale — go install github.com/tailscale/tailcat/cmd/tailcat@latest, or nix run github:tailscale/tailcat — that does what netcat does over what Tailscale does: one side runs tailcat and prints a token, the other side runs tailcat <token>, and stdin on one machine is stdout on the other through a WireGuard tunnel that bootstraps over a DERP relay and then hole-punches to a direct UDP path "when possible (usually!)." No account, no root, no routing-table or DNS changes; it is gVisor's netstack terminating TCP inside the process. --serve=8080,8443 forwards local ports; --serve=no-auth-ssh is an SSH server with no auth; tailcat socks <token> curl ... runs a command through a SOCKS5 proxy over the tunnel; --serve=exit-node is an exit node; a token in a DNS TXT record means tailcat ssh example.com reaches a machine with no open inbound ports "where WireGuard authenticates the client before the SSH server ever sees a packet." It was open-sourced at TailscaleUp this month, hit the front page yesterday at 586 points, and has 1,309 stars, 22 forks and 10 watchers. Brad Fitzpatrick has made 47 commits in the last seven days; overnight, between 01:07 and 01:41 UTC, he published a WebAssembly demo to GitHub Pages that sends files and text from a browser to the CLI.
The company inside it is one JSON file. The default relay map at tailcat.dev/derpmap.json lists four regions — New York, San Francisco, Frankfurt, Tokyo — and the README's Stability section is the most candid on today's slate: "The public rate-limited Tailcat DERP relays have no uptime SLAs or throughput targets, and we may revoke access to them at any time, for any reason." The next section is titled "Contact Sales?" The fix is a flag: --derpmap-url points at a relay you run from cmd/derper in the main repo, and Fitzpatrick's thread answer to the lock-in complaint was the whole design in a sentence: "There's no vendor lock-in here and no payment or account required. If Tailscale as a company fails, tailcat keeps working if you run your own DERP server." Two details from the history. The tool began "in September 2023 as 'derpcat', written on a long flight while catching up on bad movies," bitrotted inside a fork of the tailscale.com repo, and was unforked in March — which is why a repository created in October 2024 carries 10,396 commits back to a 2020 "Initial commit." And the key model is the part to read before sharing a token: ephemeral keys by default, an address that dies with the process; tailcat genkey for a stable one, after which "anyone you've ever shared that address with can connect to any future server using that key, unless you restrict clients with --allow." tptacek's read is the right frame: "It's Magic Wormhole but for generalized connectivity, not just file transfer." The thread's other question — what stops malware using free, hard-to-block relays for command and control — got "rate-limited" as the answer, which is a throttle, not a policy.
Reach for it when the alternative is ngrok, a bastion host, or explaining Tailscale onboarding to someone who needs one port for one afternoon. Delete the port-forward and the ssh -R tunnel through a VPS. Tradeoffs: "no API or CLI stability promises" — flags, output and the wire format "may all change"; there are zero releases, so installation means a Go toolchain or Nix; the token is a bearer credential unless you pin clients with --allow; browser peers are DERP-relayed only until WebRTC lands (#4); the public relays are Tailscale's goodwill, which the CEO has held "for ~6.5 years" and the README says can end any day; and the four open issues filed this morning — idempotent Close, a process-wide netns side effect, a PTY hang on slow shells — are what a two-week-old public tool looks like.