| 摘要 | 将 Known Agents 服务与 Discourse 集成,以跟踪访问您论坛的不受欢迎的爬虫和抓取器。 | |
| 仓库链接 | https://github.com/magicball-network/discourse-darkvisitors | |
| 安装指南 | 如何在 Discourse 中安装插件 |
自 2026年2月3日 起,Dark Visitors 服务已重新品牌为 Known Agents。Discourse 插件尚未更名。
功能
Known Agents 是一项跟踪访问您网站的 代理(爬虫、抓取器及其他类型的机器人)的服务。其主要关注点在于分析 AI 代理。
它提供两项服务:
- robots.txt 生成与监控
- 代理分析
robots.txt 服务是免费的。分析服务提供免费层级。建议您访问他们的网站以获取更多信息。
此 Discourse 插件连接到所有这些服务,它们都是可选的,并且可以在一定程度上进行配置。
robots.txt 生成
Discourse 已经提供了配置 robots.txt 的选项。此插件对此进行了扩展。启用后,插件会获取不同类别的代理列表(目前仅支持 AI 类别),并将那些在已配置代理中缺失的代理添加进去。该列表将每天更新。这样,当识别出新的 AI 抓取器时,它会被添加到您的 robots.txt 中。
此功能仅在 Discourse 管理 robots.txt 且您未手动覆盖其内容的情况下有效。该插件不会更改 Blocked crawler user agents(被阻止的爬虫用户代理)设置,而是将新发现的缺失代理添加到 robots.txt 中。因此,您仍然完全控制着该列表的管理。
当您访问您站点的 robots.txt 时,您会在顶部看到一个注释,显示上次更新时间以及 Known Agents 返回的代理数量。尚未配置的代理将被添加到列表末尾。它们应位于 Googlebot 和站点地图指令(如果已配置)之间。
代理分析
它可以针对所有访客启用,或者仅针对未认证的访客启用。
服务器端分析会将被跟踪的访问报告给 Known Agents。它将发送请求路径、访客的远程地址、User-Agent 标头以及一些其他浏览器标头。
有一些额外的设置用于确定哪些请求会被报告,请参见下方的设置。默认情况下,只有 Discourse 标记为跟踪视图的请求才会被跟踪。以下对 Discourse 的请求永远不会被报告:
- 对 Admin(管理)部分的请求
- 后台和 API 请求
所有被跟踪的请求都计入影响您付费计划的事件数。
配置
您需要注册 Known Agents 才能使用此插件。免费层级每月允许 100,000 个事件。达到该限制后,您将无法在他们的分析中看到任何新事件,但仍可以发送新信息并继续使用 robots.txt 服务。
注册后,您必须创建一个项目(即要跟踪的网站)。这将为您提供一个访问令牌,这是 robots.txt 和服务器端分析功能所必需的。
启用 robots.txt 功能后,需要一小段时间才能更新。请访问 https://yoursite/robots.txt 以查看是否正常工作。顶部应该有一个注释
# Augmented by Dark Visitors on 2025-05-07T12:46:00+00:00 with 28 agents
启用服务器端分析后,您可以从 Known Agents 的项目设置中请求一次测试访问来测试其是否正常工作。这可能需要几秒钟。您应该在 Known Agents 的 Realtime(实时)页面看到结果。
设置
| 名称 | 描述 |
|---|---|
| darkvisitors enabled | 全局标志,用于启用整个插件 |
| darkvisitors access token | 与 Known Agents 通信所需的秘密访问令牌,用于 robots.txt 和服务器端分析。您可以在 Known Agents 的项目下的 settings(设置)中找到此令牌。 |
| darkvisitors robots txt enabled | 启用后,Discourse 的 robots.txt 将增加额外的代理 |
| darkvisitors robots txt agents | 要添加到 robots.txt 中的代理类型。 |
| darkvisitors robots txt path | 拒绝代理访问的路径。最好将其保留为 /,以拒绝访问整个站点。 |
| darkvisitors server analytics | 启用服务器端分析。建议仅为匿名用户启用。 |
| darkvisitors server analytics include | 额外跟踪的请求。您还可以跟踪对上传文件的请求,甚至是 404 Not Found 请求。 |
| darkvisitors server analytics ignore | 要忽略的用户代理中的子字符串(区分大小写)。如果您使用正常运行时间监控,强烈建议将此列表中包含其标识性用户代理。 |

