Tailscale 开源了一个叫 Tailcat 的工具。它的定位一句话就能说清楚:像 netcat 一样用,但流量走 Tailscale 的数据平面,不需要 Tailscale 账号。
对,不需要注册、不需要登录、不需要 root 权限。

怎么做到的
传统 netcat 的问题是裸 TCP/UDP,没加密,NAT 穿透基本靠撞大运。Tailcat 在这两层上补了 Tailscale 积累多年的基础设施。
它复用了 Tailscale 的四个核心组件:WireGuard 用户态实现做加密(不走内核 TUN/TAP,所以不需要 root)、Magicsock 做 UDP 打洞和 DERP 中继多路复用、gVisor 的 Netstack 做用户态 TCP/IP 栈、DERP 中继做兜底数据通道。
连接流程大致是:服务端生成一个临时密钥对,连上 DERP 中继,打印一个短 token。客户端拿到这个 token,生成自己的临时密钥,连到同一个 DERP 中继,发一个 Meow 的 ping——服务端回 Meowed。然后标准的 WireGuard 握手开始,两边同时尝试 UDP 打洞,成功的话流量直接升级为点对点。
token 可以是一次性的(进程退出地址失效),也可以存到磁盘,甚至可以发布为 DNS TXT 记录。

创始人 Brad Fitzpatrick 写的
Bradfitz 在 HN 上自己回复了。这个项目最早是 2023 年 9 月在飞机上用 Python 写的,当时叫 derpcat。commit message 写得很直白:「UA 605 PDX-ORD,往爱尔兰途中。不买机上 WiFi 了。」
现在的版本是 Go 写的,已经可以当 Go 库导入(github.com/tailscale/tailcat)。
有同事用 Tailcat 做了个 Minecraft Mod 做传输层。
能干什么
最基本的是像 nc 一样传 stdin/stdout。还可以暴露本地 TCP 端口、做免认证 SSH(或者代理到系统 SSH)、隧道 SOCKS5 代理、出口节点。最实用的场景就是两台设备之间直接建一条加密通道,不需要双方都有公网 IP。
zackify 已经在 HN 上说「太牛了,已经搭好了 DERP 服务器」,然后用 systemd 跑了个 Tailcat 做 SSH 隧道。

不是 C2 工具吗
有人问这会不会被恶意软件用来当 C2 通道。回应是免费的 DERP 中继做了速率限制,不会让人拿它跑大规模僵尸网络。而且你可以自己跑 DERP 服务器,完全控制。
Bradfitz 还确认了一个重要点:Tailscale CEO Avery 6 年多来的立场就是"DERP 服务器是公共基础设施",而且 Tailcat 用的是独立的 DERP 集群,和 Tailscale 用户日常用的分开。
tptacek 的评价很准确:「像 Magic Wormhole,但做的是通用连接,不只是文件传输。」
为什么不直接用 netcat
简单答案:netcat 不加密,不做 NAT 穿透。两个分别在内网的设备,想传文件要么搭 VPN,要么扔到公网中转。Tailcat 把 WireGuard + DERP + 打洞打包成一个二进制,连几行系统配置都不需要。
参考来源: