Repolode
tailscale

tailscale/tailcat

类似 netcat 的命令行工具与 Go 库,借助 Tailscale 数据面在两台机器间加密传输 TCP/UDP,无需 Tailscale 账号。

可替代:ngrokMagic Wormhole

Star
8,405
Fork
377
未关闭 Issue
29
最近提交
11天前

这是什么?

Tailcat 让两台机器之间通过 WireGuard 加密的点对点隧道通信,底层复用 Tailscale 开源的网络组件,但不依赖其控制面。服务端启动后会打印一个简短的 tailcat 地址,客户端凭该地址连接,连接元数据可通过任意带外方式交换。整个过程不需要 Tailscale 账号或 root 权限,也不会修改系统路由和 DNS。

连接首先经由 DERP 中继建立,随后 magicsock 尝试穿透 NAT,可能时升级为直连的 UDP 路径,否则继续走中继。除了标准输入输出管道,它还支持端口转发、内置 SSH 服务、基于 SFTP 与 scp 的文件收发、按连接执行命令,以及吞吐和延迟测试。项目同时提供 Go 库,并有一个实验性的 WebAssembly 浏览器演示。

包含预共享密钥的地址相当于凭证,若要通过 DNS 公开发布,服务端应先配置白名单或 SSH 公钥认证。

核心功能

  • 01通过加密隧道在两台机器之间收发标准输入输出。
  • 02将本地 TCP 端口转发到远端服务,也可将本地服务暴露到隧道中。
  • 03内置 SSH 服务,支持 authorized_keys 或 GitHub 公钥认证。
  • 04基于 scp 与 SFTP 收发文件,可选只读或读写模式。
  • 05测试隧道上的 TCP 与 UDP 吞吐量和延迟。
  • 06无需 root 权限或 Tailscale 账号,也不修改系统网络设置。

适用场景

  • 无需开放入站端口,就能临时把本地服务或文件分享给同事。
  • 在不暴露整个内网的前提下,访问远端局域网中的数据库或 adb 端口。
  • 在没有公网入站端口的主机上,提供可通过域名访问的 SSH 服务。
  • 在 Go 应用中通过库实现点对点加密连接。

标签

常见问题

tailcat 是什么?
类似 netcat 的命令行工具与 Go 库,借助 Tailscale 数据面在两台机器间加密传输 TCP/UDP,无需 Tailscale 账号。 Tailcat 让两台机器之间通过 WireGuard 加密的点对点隧道通信,底层复用 Tailscale 开源的网络组件,但不依赖其控制面。服务端启动后会打印一个简短的 tailcat 地址,客户端凭该地址连接,连接元数据可通过任意带外方式交换。整个过程不需要 Tailscale 账号或 root 权限,也不会修改系统路由和 DNS。
tailcat 可以免费使用吗?用的什么许可证?
tailcat 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
tailcat 还在维护吗?
活跃维护中。tailcat 最近一次提交是在 2026年10月7日。
tailcat 适合用来做什么?
无需开放入站端口,就能临时把本地服务或文件分享给同事。 在不暴露整个内网的前提下,访问远端局域网中的数据库或 adb 端口。 在没有公网入站端口的主机上,提供可通过域名访问的 SSH 服务。 在 Go 应用中通过库实现点对点加密连接。
在哪里获取 tailcat?
源代码和安装说明在 GitHub 上:https://github.com/tailscale/tailcat

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目