每个应用一个名字
Web 应用、文件夹、单个文件和 TCP 端口都有自己的私有地址。
用自己的设备打开。可以把应用分享给某个人,也可以通过链接分享,有效期到你选的日期。
brew install --cask anydoor7/tap/tslink访问私有应用的设备需要 Tailscale。 获取 Tailscale
独立项目,不由 Tailscale 开发,也未获其认可。
photos.<tailnet>.ts.net
media.<tailnet>.ts.net
home.<tailnet>.ts.net
你的设备
手机、平板和电脑
谁能访问,由你决定
应用配方
应用保留自己的登录。配方帮助你配置代理,不负责安装应用,也不会为没有认证的应用补上认证。
项目动态
选择访问方式
通过 tailnet,从自己的设备访问应用。每个应用都有独立的地址。
接收者需要: Tailscale,以及 tailnet 中的访问权限。
访问私有应用的设备需要 Tailscale。 获取 Tailscale
仍受 tailnet 策略约束。未设置人员或 allow 规则时,其他获网络策略允许的调用者也能连接。
创建私有分享按 Tailscale 登录名,给指定的人开放选定的 HTTP 或文件应用,并设定可调整的期限。
接收者需要: 安装 Tailscale 并登录;必要时还需接受该应用的设备邀请。
访问私有应用的设备需要 Tailscale。 获取 Tailscale
检查适用于 HTTP 和文件请求。原始 TCP 和开放式公网 Funnel 不支持按人授权。
分享给指定的人发送一个有期限的链接,访问单个 HTTP 应用。可以加设 PIN,访问结束后撤销链接。
接收者需要: 只需浏览器和链接;如设置了 PIN,还需要 PIN。
链接和 PIN 可以被转发,不能证明访客身份。主机需要通过 Funnel 开放公网入口。
创建访客链接使用流程
以已运行在端口 2283 的 Immich 为例。先打开自己的私有地址,再按需要分享。
注册应用,再获取实时 URL。需要时,TSLink 会自动启动后台网关。
tslink share 2283 --name photos
tslink url photos --wait首次使用时,先打开打印出的 Tailscale 授权 URL,完成审批,再运行第二条命令。如果 share 返回了不同的名称,请使用返回的名称。
允许这个人访问 photos 七天,同时遵守 tailnet 策略。应用自身的登录仍然保留。
tslink people add alice@example.com --apps photos --for 7d用对方实际的 Tailscale 登录名替换 alice@example.com。对方需要登录和网络权限;外部人员可能还需要逐应用邀请。
对方没有 Tailscale?创建三天有效的链接,并在隐藏输入提示中设置 PIN。
tslink guest create photos --for 3d --pin --public --print-link--public 开启带强制访客验证的 Funnel;--print-link 显示链接。请单独发送 PIN,并先用 status 和 doctor 检查可用性。
移除该人员的受管授权,应用继续运行。对方的下一个请求就会被拒绝。
tslink people remove alice@example.com浏览器访客请使用 tslink guest revoke 加上对应授权 ID。撤销无法收回已下载的数据;已经接受的私有连接也可能继续。
了解访客链接的撤销方式与 Tailscale 配合使用
在自己的设备上访问一个应用,Serve 就够了。TSLink 将应用地址、期限和访问权限变更放进同一个工作流。
| 要做的事 | 只用 Tailscale | TSLink |
|---|---|---|
| 用手机打开一个网页应用 | 只用 Tailscaletailscale serve 3000 就够了 | TSLinktslink share 3000 |
| 多个应用,各有名称 | 只用 Tailscale配置 Services,或使用独立节点 | TSLink每个应用执行一次 share/add;逐个注册节点 |
| 一个人、一个应用、七天 | 只用 Tailscale配置策略规则,再使用 JIT 工具或手动移除 | TSLinktslink people add alice@example.com --apps photos --for 7d(HTTP/文件) |
| 浏览器链接,三天有效 | 只用 Tailscale公开 Funnel;添加访问门禁并安排到期关闭 | TSLinktslink guest create photos --for 3d --public --print-link(仅 HTTP) |
私有访问的接收者需要 Tailscale。访客链接是公开且可转发的访问凭证。
阅读完整指南{"mcpServers":{"tslink":{"command":"tslink","args":["mcp"]}}}先了解边界
01
人员授权从下一个请求起失效,无法收回已传输的数据,也不能终止已接受的私有连接。访客撤销还会取消受跟踪的访客数据流。
02
人员授权适用于 HTTP 和文件应用。原始 TCP 依赖 tailnet 策略与后端登录。浏览器访客链接可以被转发。
03
TSLink 管理单台主机上的访问,不安装应用、不隔离主机进程,也不汇总多台主机。网络传输和 HTTPS 由 Tailscale 提供。
从一个应用开始
支持 macOS、Linux 和 Windows。应用继续在原处运行,TSLink 负责管理访问方式。
需要 Tailscale 账号,并启用 MagicDNS 和 HTTPS。访问私有应用的设备需要安装 Tailscale。访客链接和 Web 应用的公网访问需要 Funnel 权限,访客只需浏览器。
brew install --cask anydoor7/tap/tslink发布文件附带校验和与构建证明;安装指南包含验证步骤。
从小处开始
安装 TSLink,在自己的设备上打开一个应用。想分享时再分享。
觉得有用?给 TSLink 点个 Star,方便下次找到。 要接收发布通知,请选择 Watch → Custom → Releases。