wush:点对点的 WireGuard 连接传输文件或打开 shell
wush 是一款命令行工具,让你可以轻松通过点对点的 WireGuard 连接传输文件或打开 shell。它类似于 magic-wormhole,但有以下优势:
- 无需搭建或信任任何中继服务器来进行身份验证
- 基于 WireGuard,提供安全、快速、可靠的连接
- 自动 UDP 打洞实现真正的点对点直连
- 无限可能:支持 rsync、ssh 等任意工具
基本用法
在主机(被连接端):
$ wush serve
Picked DERP region Toronto as overlay home
Your auth key is:
> 112v1RyL5KPzsbMbhT7fkEGrcfpygxtnvwjR5kMLGxDHGeLTK1BvoPqsUcjo7xyMkFn46KLTdedKuPCG5trP84mz9kx
请使用此密钥让其他 wush 命令认证连接到本实例。
在客户端(连接端):
# 向主机上传文件
$ wush cp 1gb.txt
Uploading "1gb.txt" 100% |██████████████████████████████████████████████| (2.1/2.1 GB, 376 MB/s)
# 打开到主机的 shell
$ wush ssh
┃ Enter the Auth key:
┃ > 112v1RyL5KPzsbMbhT7fkEGrcfpygxtnvwjR5kMLGxDHGeLTK1BvoPqsUcjo7xyMkFn46KLTdedKuPCG5trP84mz9kx
coder@colin:~$
[!NOTE]
wush 底层使用了 Tailscale 的 tsnet 包,每个 CLI 实例内部自带一个内存中的控制服务器。我们会使用 Tailscale 公开的 DERP relays 进行 NAT 穿越辅助,但完全不需要 Tailscale 账号。
安装
使用安装脚本(推荐):
curl -fsSL https://github.com/coder/wush/raw/refs/heads/main/install.sh | sh
使用 Homebrew:
brew install wush
手动安装请查看 最新发布版。
https://github.com/coder/wush