TSLinkTSLink 文档

查看访问历史

查看保留的应用访问与权限变更,理解缺失记录并选择路径隐私模式。

查看 Markdown

本地访问历史帮助查看保留的活动、拒绝请求与权限变更。先从你负责的应用开始:

bash
tslink access log --app photos --since 24h
tslink access log --who alice@example.com --decision denied --limit 50 --json
tslink status --json
tslink doctor --json

--who 匹配 login(ASCII 不区分大小写)、准确节点名或 tag。--since 接受正 Go duration 或 RFC3339,--until 接受 RFC3339;时间戳边界包含端点。事件从新到旧,默认返回 100 条,最多 10,000 条;summary 在列表截断前覆盖所有保留的匹配事件。拒绝不更新最近成功访问。TCP open/close、生命周期与 MCP intent/completion 都是事件,不代表独立访客数或成功操作数。

MCP access_log 与 access_summary 使用相同过滤。精简角色必须有明确应用授权;只有 inventory 不获得历史或应用访问权。过滤先于汇总与截断,混合应用 receipt 要求涉及的每个应用均在范围内。

理解身份与 receipt

查询合并 HTTP/文件记录、TCP open/close、guest 决定及生命周期/MCP receipt。WhoIs 可用时证明 login/node/tags,带标签节点没有真人 login。公开 Funnel 记录 public,不是验证过的人;访客 ID 或 label 不能确定访问者是谁。未知私有调用者只保留粗略地址前缀。身份补充可能缺失,不能据此声称每个 proxy 请求都重新查询 WhoIs。

Owner 还可这样读取变更 receipt:

bash
tslink mcp-audit --json

MCP 变更前持久保存 intent,completion 使用同一 ID。缺少 completion 表示结果未知。Intent 写入失败会拒绝变更;completion 写入失败会明确说副作用可能已经发生。Registry 变更与生命周期 receipt 是独立提交,提交后 receipt 失败或崩溃可能留下权限变更而无记录。重试前先检查实际状态。

选择路径隐私

bash
tslink access path photos prefix
tslink access path sensitive off
tslink access path photos inherit
tslink config set access-log-path-mode prefix
tslink config set access-log-enabled false

默认 prefix 记录首个清理后的路径段。full 明确选择全部清理段,可能保留应用特有的敏感名称/bearer 路径,必要时用 off。移除 query/fragment 和已知 TSLink bearer 段;事件不含 header、cookie、body、token、PIN 或完整 URL。全局 off 优先于应用设置,inherit 清除应用覆盖。停用 daemon 记录仍可查询旧历史,变更 receipt 独立启用。应用设置热重载,全局设置需重启 daemon。

保留与缺口

Daemon 历史位于 ~/.config/tslink/access-log/,由有界异步队列写入。默认包含今天的 30 个 UTC 日、64 MiB 数据上限、队列 1,024;最旧片段先被淘汰。队列满或磁盘错误会丢事件,请求继续服务;崩溃可能丢队列记录。未完整 HTTP header、在 handler 之前被 tailnet 策略拒绝的包没有 HTTP 记录。当前 status/doctor 报告 drops、missing-history 窗口和稳定错误;daemon 存活不证明历史完整。

独立 mcp-audit.json 在 1,024 条或 1 MiB 时轮转,保留策略不同。Access-log health 只描述 daemon 存储,不覆盖该 journal。历史留在本地,不保证完整性、合规或外部日志投递。tslink logs 仍用于 stderr daemon 诊断,是另一个入口。

相关:MCP 角色 · 访客链接 · Daemon · 配置。

来源:TSLink access-log.md

目录