浏览器访客链接
用强制访客 gate 和可选 PIN,限时开放一个 HTTP proxy 应用。
场景指南:私有分享一份 HTML 报告,并设置访问截止时间。
访客链接让接收者只用浏览器打开一个 HTTP proxy 应用,无需安装 Tailscale 或注册账户。主人需要运行且已入网的节点、Tailscale HTTPS 与 Funnel 权限。这是通过 Funnel 明确开放的公网 HTTPS,并有强制访客 gate。
创建与发送
先让私有应用在线,并确认准确 URL:
tslink add photos --proxy localhost:3000
tslink url photos --wait
tslink guest create photos --for 3d --label "Family visit" --public --print-link --json--for 必填。首次启用 gate 时,--public 确认公开的网络入口。创建只保存配置,daemon watcher 负责应用;用 status 与 doctor 核实实际 Funnel 状态。它不会安装 daemon 或让节点入网。
--print-link 明确展示一次 bearer URL;省略时 link 为 null,list/show 无法恢复 token。展示前必须有准确的当前运行 URL,否则不会保存授权。私下保存或发送链接。加 --pin 可从隐藏终端输入或 stdin 读取 6–64 位数字 PIN,另行发送 PIN,不要放进 shell 参数。MCP guest_create 的 pin 是秘密,避免记录请求正文。
接收者打开链接,按需输入 PIN,再访问应用。期限至少 1h,默认最多 7d,主人可配置上限;拒绝 never。见期限指南。
查看与撤销
tslink guest list --json
tslink guest show <id> --json
tslink guest revoke <id> --json
tslink access log --app photos --since 24h --json撤销对该 ID 永久生效,续期需创建新授权。每个公开请求检查授权;撤销与到期取消受跟踪的访客流,包括 SSE/WebSocket,但撤销提交前已接受的有界请求可能完成。计数是本地估计,崩溃可能丢失尚未刷盘的使用记录。访问历史有容量限制,也可能有缺口。
选择合适的访问方式
链接或 PIN 都可转发;label 只是主人的备注,不能证明访客是谁。公开访客不会获得 Tailscale 用户身份头。按需保留应用自身认证与授权,目前没有通用 OIDC 登录层。
文件服务与原始 TCP 不支持访客授权。同一 gated 应用的私有流量仍独立执行人员/--allow 规则,访客会话不能绕过它们。Gated 应用只进入私有 portal的 owner/admin 清单,不能成为访问请求选项。
已有开放 Funnel 必须先恢复为私有监听,再启用 gate。替换注册时保留完整应用配置。Guest 模式保持生效,普通 add 不能静默删除 gate;更改开放方式前请按 TSLink 迁移指南操作。