{"rewrite":{"id":"r_816310e018c0d82f3c8b5d14","clusterId":"c_7f478a09ffe2e3ee2ef7afd6","slug":"tailscale-releases-tailcat-a-netcat-built-on-its-data-plane","model":"deepseek-v4-1-flash","headline":"Tailscale Releases Tailcat, A Netcat Built On Its Data Plane","summary":"Tailcat is a command line tool from Tailscale that sends text and files between two machines using Tailscale's WireGuard-based encryption and NAT traversal, without the Tailscale control plane. The receiving side prints an address; the sender passes that address to tailcat. The tool also serves SSH, files, web servers, and forwarded ports, and ships as a Go library and a WebAssembly build.","whyItMatters":"Tailcat keeps netcat's one-address simplicity but hands the network problems, NAT traversal and encryption, to Tailscale's data plane, which is the part of the stack the project's own author argues plain WireGuard does not solve.","webCardHtml":"\u003cp\u003eStart tailcat on the machine you want to reach and it prints an address starting with tc. Send from the other side with a single command, or run serve to expose SSH, a directory, a web server, or a forwarded port. A ping subcommand shows the path: the connection starts through a DERP relay and switches to direct WireGuard once NAT traversal succeeds. Tailscale also offers a Go library and a browser build for the same transport.\u003c/p\u003e","blueskyPost":"Tailcat drops the Tailscale control plane but keeps the WireGuard encryption and NAT traversal. The coordination server was the part that made the mesh feel managed; a direct address exchange is enough to connect two machines.","twitterPost":"Tailcat keeps Tailscale's WireGuard encryption and NAT traversal, but not its control plane. The address handshake replaces the coordination server.","threadsPost":"Tailcat runs on Tailscale's data plane without the control plane. The receiving side prints an address, the sender passes it to tailcat. Tailscale's coordination server normally handles that exchange, so a direct address handshake is the piece that had to be replaced.","newsletterBlurb":"Tailscale published Tailcat, a command line tool that keeps netcat's simple model but moves encryption and NAT traversal onto Tailscale's data plane. The listening side prints an address and the sending side passes it to tailcat, with optional modes for SSH, file transfer, directory and web server publishing, and port forwarding. A ping subcommand shows whether the connection is going through a DERP relay or a direct WireGuard path.","attributionJson":"[{\"source\":\"GIGAZINE\",\"url\":\"https://gigazine.net/news/20260920-tailcat/\",\"title\":\"Tailcat: Like netcat, but running on Tailscale's data plane\"}]","lintFlagsJson":null,"lintHits":0,"costUsd":0,"inputTokens":4690,"outputTokens":555,"status":"published","repairAttempts":0,"nextRepairAt":null,"factsAttemptedAt":1789901069,"createdAt":"2026-09-20T10:39:19.000Z","publishedAt":"2026-09-20T10:43:23.000Z","updatedAt":"2026-09-20T10:43:23.000Z"},"cluster":{"id":"c_7f478a09ffe2e3ee2ef7afd6","canonicalTitle":"netcatと同様だがTailscaleのデータプレーン上で動作する「Tailcat」","representativeArticleId":"a_b030117be52f5bd9d1022d72","sourceCount":1,"writtenSourceCount":1,"writeAttempts":0,"isSolo":true,"entitiesJson":"{\"anime_titles\":[],\"manga_titles\":[],\"work_titles\":[\"Tailcat\"],\"studios\":[\"Tailscale\"],\"people\":[],\"type\":\"other\",\"domain\":\"other\",\"is_roundup\":false}","contentType":"news","status":"published","firstSeenAt":"2026-09-20T10:00:00.000Z","lastSeenAt":"2026-09-20T10:00:00.000Z","updatedAt":"2026-09-20T10:43:20.000Z"},"attribution":[{"source":"GIGAZINE","url":"https://gigazine.net/news/20260920-tailcat/","title":"netcatと同様だがTailscaleのデータプレーン上で動作する「Tailcat」"}],"entities":{"anime_titles":[],"manga_titles":[],"work_titles":["Tailcat"],"studios":["Tailscale"],"people":[],"type":"other","domain":"other","is_roundup":false},"keyFacts":null}
