名称: tailscale
版本: 1.0.0
描述: 通过 CLI 和 API 管理 Tailscale 网络。适用于用户询问“检查 tailscale 状态”、“列出 tailscale 设备”、“ping 设备”、“通过 tailscale 发送文件”、“tailscale funnel”、“创建认证密钥”、“查看谁在线”或提及 Tailscale 网络管理等场景。
混合技能:使用 CLI 进行本地操作,使用 API 进行全网管理。
API 配置(可选,用于全网操作):~/.clawdbot/credentials/tailscale/config.json
{
"apiKey": "tskey-api-k...",
"tailnet": "-"
}
从以下位置获取 API 密钥:Tailscale 管理控制台 → 设置 → 密钥 → 生成 API 密钥。
tailnet 可以是 -(自动检测)、你的组织名称或邮箱域名。
这些操作仅对当前机器有效。
# 当前状态(对等节点、连接状态)
tailscale status
tailscale status --json | jq '.Peer | to_entries[] | {name: .value.HostName, ip: .value.TailscaleIPs[0], online: .value.Online}'
# 网络诊断(NAT 类型、DERP、UDP)
tailscale netcheck
tailscale netcheck --format=json
# 获取本机 Tailscale IP
tailscale ip -4
# 识别 Tailscale IP
tailscale whois 100.x.x.x
# Ping 对等节点(显示直连或中继)
tailscale ping <主机名或IP>
# 连接/断开连接
tailscale up
tailscale down
# 使用出口节点
tailscale up --exit-node=<节点名称>
tailscale exit-node list
tailscale exit-node suggest
# 发送文件到设备
tailscale file cp myfile.txt <设备名称>:
# 接收文件(从收件箱移动到目录)
tailscale file get ~/Downloads
tailscale file get --wait ~/Downloads # 阻塞直到文件到达
# 在 tailnet 内共享(私有)
tailscale serve 3000
tailscale serve https://localhost:8080
# 公开共享到互联网
tailscale funnel 8080
# 检查正在共享的服务
tailscale serve status
tailscale funnel status
# 通过 Tailscale SSH(使用 MagicDNS)
tailscale ssh user@主机名
# 在本机启用 SSH 服务器
tailscale up --ssh
这些操作管理整个 tailnet。需要 API 密钥。
./scripts/ts-api.sh devices
# 带详细信息
./scripts/ts-api.sh devices --verbose
./scripts/ts-api.sh device <设备ID或名称>
# 快速检查所有设备的在线状态
./scripts/ts-api.sh online
./scripts/ts-api.sh authorize <设备ID>
./scripts/ts-api.sh delete <设备ID>
./scripts/ts-api.sh tags <设备ID> tag:server,tag:prod
./scripts/ts-api.sh routes <设备ID>
# 创建可重复使用的认证密钥
./scripts/ts-api.sh create-key --reusable --tags tag:server
# 创建临时密钥(设备离线时自动移除)
./scripts/ts-api.sh create-key --ephemeral
# 列出密钥
./scripts/ts-api.sh keys
./scripts/ts-api.sh dns # 显示 DNS 配置
./scripts/ts-api.sh dns-nameservers # 列出域名服务器
./scripts/ts-api.sh magic-dns on|off # 切换 MagicDNS
./scripts/ts-api.sh acl # 获取当前 ACL
./scripts/ts-api.sh acl-validate <文件> # 验证 ACL 文件
“现在谁在线?”
./scripts/ts-api.sh online
“把这个文件发送到我的手机”
tailscale file cp document.pdf my-phone:
“公开暴露我的开发服务器”
tailscale funnel 3000
“为新服务器创建密钥”
./scripts/ts-api.sh create-key --reusable --tags tag:server --expiry 7d
“连接是直连还是中继的?”
tailscale ping my-server