| 摘要 | 将 Dark Visitors 服务与 Discourse 集成,以跟踪访问您论坛的不受欢迎的爬虫和抓取器。 | |
| 代码库链接 | https://github.com/magicball-network/discourse-darkvisitors | |
| 安装指南 | 如何在 Discourse 中安装插件 |
功能
Dark Visitors 是一项服务,用于跟踪访问您网站的代理(爬虫、抓取器和其他类型的机器人)。他们的主要关注点是分析 AI 代理。
它提供两项服务:
- robots.txt 生成和监控
- 代理分析;服务器端和客户端均可
robots.txt 服务是免费的。分析服务提供免费套餐。我建议您访问他们的网站了解更多信息。
此 Discourse 插件连接到所有这些服务,所有这些服务都是可选的,并且在一定程度上可配置。
robots.txt 生成
Discourse 已提供配置 robots.txt 的选项。此插件对其进行了扩展。启用后,该插件将检索不同类别的代理列表(目前仅支持 AI 类别),并添加那些在已配置代理中缺失的代理。列表将每日更新。这样,当识别出新的 AI 抓取器时,它将被添加到您的 robots.txt 中。
此功能仅在 Discourse 管理 robots.txt 且您未手动覆盖它时有效。该插件不会更改“被阻止的爬虫用户代理”设置,而是会扩充 robots.txt 中缺失的新代理。因此,您仍然可以完全控制管理此列表。
当您访问您网站的 robots.txt 时,您会看到上次更新的开头注释,以及 Dark Visitors 返回的代理数量。尚未配置的代理将添加到列表末尾。它们应该位于 Googlebot 和站点地图指令(如果已配置)之间。
代理分析
服务器端和客户端分析都可以单独启用。可以为所有访问者启用,或仅为未经验证的访问者启用。
服务器端分析会将_跟踪的访问_报告给 Dark Visitors。它将发送请求路径、访问者的远程地址、User-Agent 头以及一些更多浏览器头。
有一些额外的设置可以报告哪些请求,请参阅下面的设置。默认情况下,只有 Discourse 标记为跟踪为视图的请求才会被跟踪。以下对 Discourse 的请求永远不会被报告:
- 管理部分的请求
- 后台和 API 请求
客户端分析通过将Javascript添加到您的页面来处理,该 Javascript 在特定条件下会联系 Dark Visitors:
- 浏览器似乎是自动化的,或 AI 浏览器
- 用户来自 AI 聊天服务
所有跟踪的请求都计入影响您付款计划的事件。
配置
您需要注册 Dark Visitors 才能使用此插件。免费套餐每月为您提供 1,000,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
启用服务侧分析后,您可以尝试从 Dark Visitor 的项目设置中请求一次测试访问来查看其是否正常工作。这可能需要几秒钟。您应该能在 Dark Visitors 的实时页面上看到结果。
设置
| 名称 | 描述 |
|---|---|
| darkvisitors enabled | 启用整个插件的全局标志 |
| darkvisitors access token | robots.txt 和服务器端分析用于与 Dark Visitors 通信所需的秘密访问令牌。您可以在 Dark Visitor 的项目设置中找到它。 |
| darkvisitors robots txt enabled | 启用后,Disocurse 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 | 要忽略的用户代理中的子字符串(区分大小写)。如果您使用正常运行时间监控,我强烈建议在此列表中包含其标识用户代理。 |
| darkvisitors client analytics | 启用客户端分析。这还将让您了解正常用户在来自 AI 聊天服务时访问您论坛的情况。 |
| darkvisitors client analytics project key | 对于客户端分析,您必须配置(公共)项目密钥。您可以在 Dark Visitors 项目设置的JavaScript Tag部分找到它,它是 project_key= 之后的部分。 |

