← 所有精選

★ GitHub Trending 精選

每日一個爆紅開源專案

日榜 #42026-08-30

tailscale/tailcat

like netcat, but over Tailscale's data plane, without Tailscale's control plane

★ 3.5k stars · ▲ +789 今日 · 🔶 Go · 📜 BSD-3-Clause · 官網在 GitHub 開啟 ↗
ℹ️ 今日 trending #1 是 tt-a1i/archify(已於 2026-08-27 推過),故改推第 4 名。

這是什麼

Tailcat 是 Tailscale 團隊把自家開源網路元件重新組合後做出的工具:概念上像 netcat,但資料通道走的是 Tailscale 的 magicsock/WireGuard,且不需要 Tailscale 控制平面。使用時,一端啟動 server 並拿到一段短的 connection token,另一端把 token 交給 client 連線;雙方會先透過 DERP relay 啟動與交換資訊,再盡量升級成直接的點對點 UDP 連線。它不改路由表、不設定 DNS,也不需要 root/admin 權限,定位更接近「一次性的使用者空間加密隧道與 TCP 工具箱」,特別適合臨時連線與實驗性整合。

為什麼上榜

這個專案一天拿到 789 stars、累積 3,474 stars,熱度來自一個很有張力的主題:「Tailscale without Tailscale」。它把大家熟悉的 Tailscale 資料平面抽出來,讓使用者可以在沒有帳號、沒有中心控制平面、甚至可自帶 DERP relay 的情境下,仍然取得 WireGuard 加密、NAT traversal 與 relay fallback。和一般反向代理或 port forwarding 工具相比,Tailcat 的亮點不是多做一個服務入口,而是把 token、DERP、magicsock、gVisor netstack 串成一個可 CLI 使用、也可 Go library 嵌入的低階連線能力。這也讓它比較像可組裝的網路原語:既能當命令列工具救急,也能成為其他程式裡的加密連線層。

適合誰,可以拿來做什麼

Tailcat 適合需要臨時、安全地把兩台機器接起來的人:例如跨 NAT 傳 stdin/stdout、把本機 TCP port 暫時暴露給另一端、透過隧道跑 SOCKS5、做 ping 測試,或在 Linux/macOS 上啟動 no-auth SSH 的一次性入口。它也適合 Go 開發者把這種連線能力嵌入自己的工具。README 特別提醒,預設 ephemeral key 會在程序結束後失效,適合一次性分享;若改用 saved key,地址會跨重啟保持穩定,但也代表曾拿到地址的人之後仍可能連上,應搭配 --allow 等限制。

上手

README 提供 Go 與 Nix 兩種安裝方式。最基本的流程是 server 端先執行 tailcat 取得 token,client 端再把資料 pipe 給該 token;也可以用 --serve 暴露指定 TCP port。

go install github.com/tailscale/tailcat/cmd/tailcat@latest
# 或
nix run github:tailscale/tailcat
nix profile install github:tailscale/tailcat

# server:啟動並印出 connection token
tailcat

# client:把 stdin 送到對端
echo hello | tailcat <token>

# server:把本機 8080/8443 透過 tunnel 提供給 client
tailcat --serve=8080,8443

README 重點摘要