| 摘要 | 使用 ProxyTracer API 在用户注册、登录期间或全局范围内检测和阻止 VPN、Tor 及代理流量。 | |
| 仓库链接 | https://github.com/ProxyTracer/discourse-proxytracer | |
| 安装指南 | 如何在 Discourse 中安装插件 |
本插件利用 ProxyTracer API 在 Discourse 中检测和阻止 VPN、Tor 及代理流量。
功能特性
- 提供精细控制,可在用户新注册、现有用户认证或全局针对所有网站访客时阻止 VPN、Tor 和代理用户。如果您允许 VPN、Tor 和代理用户访问论坛内容,则可以节省 API 请求,仅启用注册和认证阶段的保护。
- 采用缓存机制存储最近的 IP 地址评估结果,从而减少 API 请求并降低延迟。您可以在设置中控制 IP 地址评估结果的保留时长。
- 若发生 API 超时或网络故障,插件将优先保障用户访问权限,以防止大规模锁定。此行为可通过选项进行更改。
- 内置对精确 IP 地址和 CIDR 子网白名单的支持。
配置步骤
- 从 ProxyTracer 仪表板 获取标准 API 密钥。
- 进入 Discourse 管理面板:管理 → 插件 → ProxyTracer,查找 ProxyTracer 的设置项。
- 在
ProxyTracer API Key字段中输入您的 API 密钥。 - 通过切换
Enabled during Signup(注册时启用)、Enabled during Login(登录时启用)和/或Enabled for All Visitors(对所有访客启用)来启用保护参数。 - 将任何受信任的 IP 地址或 CIDR 范围添加到
Whitelisted IPs(白名单 IP)列表中。 - (可选)根据您的服务器具体流量需求,调整 API 超时时间和 Redis 缓存持续时间限制。
- (可选)自定义被阻止用户看到的阻止消息。例如,您可以添加联系网站管理员的说明,以防用户认为阻止不当,或他们并非通过代理、Tor 或 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 积分用于测试。
