# Tailcat：Tailscale 出品的 netcat，不用账号就能打通两台机器的加密隧道

**URL:** <https://www.sunai.net/t/topic/1516>\
**Category:** IT\
**Tags:** go, 开源, 工具\
**Created:** [2026 年10 月 4 日 12:04 UTC](https://www.sunai.net/t/topic/1516 "2026-10-04T12:04:18Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

作者： ![Logos](https://www.sunai.net/user_avatar/www.sunai.net/logos/32/2077_2.png) [@Logos](https://www.sunai.net/u/Logos)\
发布日期： [2026 年10 月 4 日 12:04 UTC](https://www.sunai.net/t/topic/1516/1 "2026-10-04T12:04:18Z")

</div>

Tailscale 官方放出了一个小工具 Tailcat：用法像 netcat，但底下走的是 Tailscale 的数据平面（WireGuard 加密、NAT 打洞、DERP 中继兜底）， **不需要 Tailscale 账号，不需要 root，也不改路由和 DNS** 。一端起服务拿到一个短地址，另一端拿这个地址去连，就是一条端到端加密的隧道。

临时给朋友传个文件、远程连一下内网的某个端口、让别人临时进你机器排查问题，这类"用完就扔"的场景，它比搭一套 VPN 或开公网端口轻得多。

## 它是怎么工作的

Tailscale 的组件拆开看是两块：控制平面（账号、ACL、分发密钥）和数据平面（点对点 WireGuard 隧道加 DERP 中继）。Tailcat 只拿了数据平面，连接所需的元数据压进那个 `tc` 开头的地址里，靠你自己带外传递（微信、邮件、口头念都行）。连接先经 DERP 服务器引导，随后尝试 UDP 打洞，成功就直连，不行就继续走中继。

默认用的是官方提供的、有速率限制的免费 DERP，也可以自己跑 `derper` 当中继。

## 能做什么

最基础的是像 netcat 一样管道传数据：

```bash
// 机器 A
tailcat
// 输出一个 tcXXXX 地址，然后等待

// 机器 B
echo hello | tailcat tcXXXX

```

在这之上有一堆子命令：

- `tailcat serve 8080,8443`：把本机端口暴露出去，对端用 `tailcat forward <地址> 18080:8080` 映射成本地端口，浏览器、数据库客户端都能直接用；`tailcat browse` 直接开浏览器
- `serve 5555:10.2.200.213:5555`：端口映射到内网别的设备，不用把整个网段暴露出去
- `serve exit-node`：当出口节点，对端可以访问服务端所在网络里的任意 IP:端口
- `serve ssh` / `tailcat ssh`：内置 SSH 服务端，可以用 `authorized_keys` 或 `用户名@github` 直接拉 GitHub 公钥做认证；也有免认证的 `no-auth-ssh`，但此时地址就等于密码，别公开
- `serve exec -- 命令`：像 inetd，每个连接跑一次命令
- `recv ~/inbox` / `cp`：文件投递箱，发送端用 `tailcat cp report.pdf tcXXXX:`，投递箱只写不读，无法列目录或覆盖已有文件
- `serve files`：只读或读写共享一个目录，路径限制在目录内，`..` 和符号链接都逃不出去
- `perf`：类似 iperf 的吞吐和延迟测试，只在直连路径上跑，拒绝占用共享中继
- `ping --until-direct`：看当前是走中继还是直连
- `socks`：起一个走隧道的 SOCKS5 代理

另外还有个实验性的浏览器版（编译成 WebAssembly），能和命令行互传文件和文本，不过浏览器端目前只能走 DERP 中继，没有直连。

## 安装

Linux、Windows 有静态二进制和 deb / rpm 包，macOS 走 Homebrew，Windows 也有 Scoop，另外有 Snap、Nix、AUR、conda-forge 和容器镜像。Go 工具链的话：

```bash
go install github.com/tailscale/tailcat/cmd/tailcat@latest

```

## 适合谁，注意什么

适合经常要在两台机器之间临时打通通道的人，比如运维、跨 NAT 调试、给远程同事发大文件。它也是个 Go 库，可以直接嵌进自己的程序里，给应用加一个"免公网 IP 的点对点通道"。

几点要留意：

- 地址即凭据，别发到公开场合。要长期开放的服务，用 `--allow` 限定允许的对端，或者配 SSH 公钥认证
- 官方免费中继有限速，大流量传输最好等直连打通，或者自建 DERP
- 项目还很新（最近版本是 v0.7.0，2026-09-20），接口可能还会变
- 它不是 Tailscale 的替代品：没有组网、没有 ACL、没有固定地址，每次启动地址都是新的

## 项目信息

- 语言：Go
- License：BSD-3-Clause
- Star：截至 2026-10-04 约 8100
- GitHub：[GitHub - tailscale/tailcat: like netcat, but over Tailscale's data plane, without Tailscale's control plane · GitHub](https://github.com/tailscale/tailcat)
- 官网：[tailcat](https://tailscale.com/tailcat)
- 浏览器 Demo：[tailcat](https://tailscale.github.io/tailcat/)

---

_[View the full topic](https://www.sunai.net/t/topic/1516)._
