| 摘要 | 使用 ProxyTracer API 在用户注册、登录期间和/或全局范围内检测和阻止 VPN 及代理流量。 | |
| 仓库链接 | https://github.com/ProxyTracer/discourse-proxytracer | |
| 安装指南 | 如何在 Discourse 中安装插件 |
此插件使用 ProxyTracer API 在 Discourse 中检测和阻止 VPN 及代理流量。
功能特性
- 提供精细控制,可在用户新注册、现有用户认证或全局范围内阻止所有网站访问者使用 VPN 和代理。如果您允许 VPN 和代理用户仅具有论坛的读取权限,则可以节省 API 请求,仅启用注册和认证时的防护。
- 采用缓存机制存储最近的 IP 地址评估结果,从而减少 API 请求并降低延迟。您可以在设置中控制 IP 地址评估结果的保留时长。
- 若发生 API 超时或网络故障,插件将优先保障用户访问权限,以防止大规模锁定。此行为可通过选项进行更改。
- 内置对精确 IP 地址和 CIDR 子网白名单的支持。
配置步骤
- 从 ProxyTracer 仪表板 获取标准 API 密钥。
- 进入 Discourse 管理面板:管理 → 插件 → ProxyTracer,找到 ProxyTracer 的设置。
- 在
ProxyTracer API 密钥字段中输入您的 API 密钥。 - 通过切换
注册时启用、登录时启用和/或对所有访问者启用来启用防护参数。 - 将任何受信任的 IP 地址或 CIDR 范围添加到
白名单 IP列表中。 - (可选)根据您服务器的具体流量需求调整 API 超时时间和 Redis 缓存持续时间限制。
- (可选)自定义被阻止用户看到的阻止消息。例如,您可以添加说明,指导用户在认为阻止不合理且未通过代理或 VPN 访问网站时如何联系网站管理员。
设置项
以下是设置项及其说明的表格:
| 名称 | 说明 |
|---|---|
| API 超时(毫秒) | 等待 API 响应的时间,超时后将终止请求。 |
| 缓存持续时间(小时) | 在重新检查 API 之前,记住 IP 地址的时长。 |
| 错误时开放失败 | 如果 API 崩溃或超时,仍允许用户注册/登录,以防止锁定所有用户。 |
| 注册时启用 | 当新用户尝试注册时阻止代理和 VPN。 |
| 登录时启用 | 当现有用户尝试登录时阻止代理和 VPN。 |
| 对所有访问者启用 | 阻止代理和 VPN 访问或查看论坛的任何页面。(警告:此选项会检查每位访问者,并大量消耗您的 API 配额。) |
| 阻止消息 | 用户被阻止时显示的确切错误消息。 |
| 白名单 IP | 允许绕过阻止的 IP 地址或 CIDR 范围(例如:192.168.1.0/24)。 |
网络配置:Cloudflare 与反向代理
为使 ProxyTracer 有效运行,Discourse 应用程序必须接收真实的客户端 IP 地址。
为确保正确的 IP 地址转发,您可以参考这些 详细指南。
紧急访问
如果您将自己锁在系统外,可以按照这些 简单步骤 恢复访问权限。
如果您想进行测试,可以注册 ProxyTracer 并获取一些免费的 API 信用额度用于测试。
