服务器使用量
未统计
服务玩家数
未统计
下载量
4,209
插件详细介绍
FoxGate 是一款面向 Minecraft 服务器的 AntiVPN 插件,旨在限制非真实流量进入服务器,帮助服主检测并拦截 VPN、代理及其他可疑连接。
基本信息
- 最低 Java 版本:Java 17
- 插件名称:FoxGate
- 曾用名:FoxAntiVPN
- 定位:市场上的 #1 AntiVPN 插件
- 核心用途:
- 阻止玩家通过 VPN 绕过 IP 封禁
- 检测并拦截 VPN、Proxy 及更多匿名/风险连接
- 通过多个可配置服务联合检测,提高绕过难度
支持的平台
- Spigot + Forks
- BungeeCord + Forks
- Velocity + Forks
- FOLIA + Forks
- Nukkit / PowerNukkitX + Forks
- WaterdogPE
- Hytale
兼容性
- 插件目标是尽可能支持各种服务端与 Minecraft 版本
- 声称自
1.3.x起即可适配 - 插件会自行下载所需库,以尽量避免兼容性问题
- 当前也支持 Bedrock 相关软件与 Hytale
核心特性
- 使用多个 API 联合检测,绕过难度极高
- 启用的检测服务越多,规避检测就越困难
- 支持多种数据库,并统一使用 HikariCP 连接池
- 所有消息都支持 MiniMessage 与 Legacy colors
- 配置项非常丰富,便于深度自定义
- 插件启动时会自动下载依赖库,后续更新也会自动获取新版库
- 默认配置已可拦截大多数 VPN
- 支持新增自定义检测服务,或修改现有服务
- 支持请求
Headers - 支持基于响应内容的条件系统,用于:
- Flag
- Bypass(忽略检测)
- 支持为每个服务单独设置自定义 VLs
- 可通过单条命令查看某个 IP 下缓存的所有账号
- 支持限制单个 IP 的最大连接数,以防多开和机器人
- 异步并行运行,对性能影响较小
- 支持调试输出,便于查看 API 扫描返回结果
- 支持过滤由 FoxGate 导致的断开连接消息
- 支持 ISP 模块,可基于 IPInfo 对特定 ISP 拉黑或放行
- 支持自动更新配置与多语言
- 命令、服务和模块均支持 IPv4 与 IPv6
- 若服务端支持,可调用其防火墙能力进行拦截,而不是仅发送断开消息
- 可通过多种方式修复误判:
- 调整每个服务的 Custom VLs
- 移除被错误标记的 ASN
- 移除被错误标记的 hostname
- 使用条件系统
- 提高
maxFlags - 支持拦截 Bogon IP
- 提供友好的白名单命令
- 支持被动模式(Passive mode)
- 轻量且快速,可实时执行多重验证
数据库支持
FoxGate 支持多种数据库存储方案,全部通过 HikariCP 提供更好的性能。
支持的数据库类型
- MySQL
- MariaDB
- PostgreSQL
- H2
- Jaybird
- Custom
说明
- 你可以根据自己的部署环境选择最适合的存储方式
Custom适用于你希望接入其他本地或远程数据库的情况- 如果你修改了数据库配置,而服务器已经启动,请按以下顺序执行:
/foxgate reload/foxgate db reconnect- 这样可以在不重启插件或服务器的情况下重新连接数据库
数据库配置示例
database:
type: H2
table: foxgate
cache_database: false
whitelist_database: false相关配置说明
type- 指定使用的数据库类型
table- 设置数据库中的表名
- 如果你希望在切换数据库或新旧数据并存时保留旧统计,可修改此值
- 如需恢复旧版 FoxGate (
1.0.5-pre4或更早) 使用的数据,请使用:
- `vpn_cache`cache_database- 是否将缓存保存到数据库,而不是文件
- 仅在你需要多代理共享缓存,或确定不会给数据库带来问题时启用
whitelist_database- 是否将白名单保存到数据库,而不是文件
- 对 Multi-Proxy 场景非常推荐
- 仅适用于:
- MySQL- MariaDB- PostgreSQL消息与自定义
FoxGate 允许你按自己的需求自定义消息显示效果。
- 支持 MiniMessage
- 支持 Legacy colors
- 所有版本均可使用
- 配置范围较大,便于进行非常细致的个性化调整
自动下载依赖
- 插件会在启动时自动下载所需库,以提供更多可用功能
- 每次更新后,相关库也会自动更新
- 这有助于让功能与漏洞修复保持最新
依赖查看
- 查看插件下载的所有库:
Click here to see 'Dependencies' tab from BuiltByBit .- 备注:
- 该列表有时可能不是最新
- 插件始终会从受信任的网站下载依赖
检测服务与自定义 API
默认配置已可拦截大多数 VPN,但你也可以自行扩展。
- 可添加自定义服务
- 可修改已有服务
- 插件从设计上支持多服务协同检测
- 提供大量工具帮助你完成精细化配置
可用能力
- 自定义请求
Headers - 基于响应字段的条件判断系统
- 每个服务独立设置
VLs - 可通过条件实现:
- 忽略检测(Bypass)
- 触发标记(Flag)
服务配置示例
enabled: true
key: ''
output_errors: true
model: JSON
vls: '2'
url: https://central.zowi.gay/check/{IP}
headers: {}
values:
fields:
- malicious
type: boolean
conditions:
bypass: {}
flag: {}主要字段说明
enabled- 是否启用该服务
key- API 密钥
- 用于
headers或url中的{KEY}变量 output_errors- 是否在控制台输出该服务的错误信息
- 适合调试响应异常时使用
model- 响应模型
- 支持:
- `HTML`- `JSON`- `CONTAINS`vls- 该服务命中时增加的 VL 数值
- 如果你更信任某个服务,可以给它更高的权重
url- API 地址
headers- 自定义请求头
- 可使用 List 或 Map
- 设为
[]或{}可关闭 values.fields- 要检查的字段
- 若设为
{}则可禁用字段检查 values.type- 判定类型
- 适用于字符串检查
- 若检查布尔值,请使用
boolean
支持的占位符
{IP}- 返回玩家 IP{KEY}- 返回key字段的值
条件系统说明
conditions用于高级控制检测或绕过逻辑- 每个键(如
1、2等)对应一组条件 - 同组条件之间为 AND 逻辑
- 多组条件之间为 OR 逻辑
- 使用
{field}引用响应字段,例如{score} - 支持的运算符:
=!=>>=<<=
条件系统注意事项
- 该功能仅适用于
JSON与HTML - 在
HTML模式下,请始终使用{foxgate_check}作为字段 bypass: {}- 可禁用绕过条件
flag: {}- 可禁用标记条件
文档
- GitHub:
https://github.com/IDCTeam-Group/FoxGate-Issues/wiki/Services
IP 查询与缓存
- 你可以使用单条命令查看某个 IP 关联的 alt 账号
- 插件会显示该 IP 缓存中的历史连接账号
- 返回的数据与消息内容均可自定义
缓存机制
当玩家被检测为使用 VPN 或 Proxy 时,插件会自动将该信息保存到数据库中。
- 相同
IP address在一段可配置的小时数内不会重复请求 API - 这样可以:
- 减少不必要的 API 调用
- 提高整体效率
IP 连接限制器(IPLimiter)
FoxGate 内置 IPLimiter 模块,可限制单个 IP 的最大连接数,用于应对多开与机器人。
功能说明
- 可开启或关闭功能
- 可设置连接上限
- 可自定义踢出消息
- 可按时间窗口统计
- 适合特定场景下防止大量同 IP 账号同时进入
工作方式
- 玩家加入时,该 IP 的计数 +1
- 当计数达到设定上限后,后续连接会被拒绝
- 玩家离开时,该 IP 的计数 -1
配置示例
enable: true
maximum: 3
time: DISABLE配置说明
enable- 是否启用该功能
maximum- 单个 IP 的最大点数
- 推荐值:
- `3`- 不建议设置过低
- 因为现实中可能存在同城、同 ISP 的重复 IP 情况
time- 是否启用按时间自动重置计数
- 推荐值:
- `30m`- 设置为
DISABLE可关闭时间重置
时间模式示例
- 若设置
30m且maximum=3 - 同一 IP 在 30 分钟内有 3 名玩家加入时,第 4 人会被拦截
- 30 分钟后计数重置为 0
- 若关闭该功能,则计数不会自动重置
- 只有当已有玩家离开后,计数才会减少,后续玩家才能进入
注意事项
- 该功能为实验性功能
- 某些情况下可能不够稳定
- 建议谨慎使用
- 插件会在后续更新中持续优化其稳定性与性能
白名单功能
FoxGate 提供了易用的白名单命令,可让用户绕过模块检测。
命令
/fg whitelist <add/remove/info/purge>
支持的操作
add- 将用户/IP 加入白名单
- 可附带可选原因与持续时间
remove- 从白名单移除用户
info- 查看某个用户/IP 的白名单信息
purge- 清空白名单
其他重要功能
- 调试 FoxGate 的内部行为,提升透明度
- 查看扫描用户/IP 时 API 返回的内容
- 过滤由 FoxGate 触发的断开连接消息
- 不会隐藏非插件产生的消息
- 支持多平台
- 使用 IPInfo 的 ISP 模块,对指定 ISP 进行 Blacklist 或 Bypass
- 支持
config.yml自动更新 - 支持多语言,并可在 GitHub 仓库中参与翻译
- 支持通过服务端防火墙拦截连接
- 例如:
- Flamecord- VeloFlame- 可针对误报灵活修复规则
- 可在配置中启用或关闭 Bogon IP 拦截
- 支持
Passive mode - 不会在每次玩家加入时都执行检测
- 可与其他 AntiVPN 插件配合使用
- 也适合仅在特定情况下通过命令手动检测
Plus 版本
如果你想先了解 Plus 版本
- BuiltByBit
- See the Plus version in BuiltByBit now.
- Polymart
- See the Plus version in Polymart now.
- SpigotMC
- See the Plus version in SpigotMC now.
默认配置中的检测服务
默认配置中的服务列表都至少测试过一次,但它们是否始终可用仍取决于服务本身的状态,以及其在配置中的接入方式。
说明
- 有些服务默认禁用,因为它们需要 API key
- 其中有 13 个服务无需 key,且默认启用
- 这意味着安装后即可立即获得基础的 VPN 与 Proxy 检测能力
- 若要最大化对 VPN、代理和其他威胁的防护,建议为其余服务申请 API key
- 启用更多服务后,检测的准确性与有效性会进一步提升
更多信息
- See more about these services in
our wiki in GitHub .
FREE SERVICE
- BlackBox
- BlockListDE
- CINSscore
- FastAsFuck
- FunkeMunky
- GreenSnow
- IPLocate
- IP-API
- IP-Check
- IPAPI-is
- IPQuery
- IPRisk
- MarvinMC
- MerakiStudios
- NegativityAPI
- Rayzsde
- TCPShield
- ZowiCentral
KEY REQUIRE SERVICE
- 2IP
- AbuseIPdb
- AntiVPNio
- BanProxy
- FocSec
- FreeIPAPI
- GetIPIntel
- GreIP
- IP2Location
- IPDetective
- IPGeolocation
- IPHub
- IPHunter
- IPQualityScore
- IPStack
- IsProxyAPI
- NoProxy
- ProtectCord
- ProxyCheck
- ProxyRadar
- VPNAPI
- VPNBlocker
配置建议
- 默认启用服务与需要 API key 的服务结合使用,可以构建更强健的检测体系
- 若想了解如何配置这些服务,请查看上方配置示例与模板
- 更多细节请查看文档部分
统计信息
FoxGate 使用 bStats 收集统计数据。
会收集什么数据?
- 不会收集个人数据
- 大多数数据都是关于服务器环境的信息,例如:
- player count
- online mode
- Minecraft version
- Java version
- 更多基础运行信息
- 所有数据都会以完全匿名的方式发送和存储
额外说明
- 统计由
bStats.org收集 - 下方信息与 Plus 版本共享
- Plus 版本在插件版本号中以
-pv标识 - 这些统计有助于作者查看插件使用情况,同时尽量不影响性能
- 你始终可以在插件目录中的
config.yml关闭数据收集 - 自
1.0.2 (plus)与1.1.0 (free)起: - FoxGate 使用自己的 Metrics 代码基础
- 但仍遵循 bStats 的规则
- 发送数据使用异步方式
- 并改用 Gson 以提高稳定性
- 启用统计通常不会明显影响性能
统计页面
JAVA SOFTWARES
- Bukkit
- 通过 bStats 查看 Bukkit 平台统计
- BungeeCord
- 通过 bStats 查看 BungeeCord 平台统计
- Velocity
- 通过 bStats 查看 Velocity 平台统计
OTHERS SOFTWARES: BEDROCK MINECRAFT AND HYTALE SOFTWARE
- Nukkit
- 通过 bStats 查看 Nukkit 平台统计
- WaterdogPE
- 通过 bStats 查看 WaterdogPE 平台统计
- Hytale
- 通过 bStats 查看 Hytale 平台统计
链接
- Documentation
github.com- Some documentation for help.
- Discord
discord.idcteam.xyz- Join our community for technical support.
你可以在插件默认列表之外,自行接入自定义的 VPN 检测 API。只需参考配置文件中其他 API 的写法,或直接使用下方模板进行配置;如果接入后未按预期工作,可以通过 /foxgate verbose 查看 API 返回内容并排查问题。
是否支持添加自定义 VPN 检测 API
- 支持。
- 如果插件默认列表中没有你想使用的 VPN 检测 API,可以自行集成。
- 建议先查看配置文件中已有 API 的示例写法,再按照相同格式进行添加。
排查与调试
- 如果你新增的 API 或配置无法正常工作,可使用命令:
/foxgate verbose- 该命令可用于查看 API 实际返回的响应内容,便于定位配置或接口问题。
YAML 配置模板
'servicename':
# Enable this service?
enabled: true
# Add this field in case requere key.
key: "KEY"
# Add the model to request the page, this
# use JSON in case is invalid the value or
# is not set.
#
# Supported:
# JSON, HTML
model: "JSON"
# This field is necessary. Insert your
# service URL.
#
# Remember:
# %IP% = Return player's ip.
# %KEY% = Return 'key' field value.
url: "https://example-antivpn.com/check/%IP%?key=%KEY%"
# Headers in case is necessary.
#
# Set to: 'headers: []' to disable or only don't
# add in the settings for this service.
headers:
'Example-header': 'KEY'
# Values to check.
# This equal is necessary to determine.
values:
# Fields to check.
# In case you disable this with adding
# 'fields: {}' to exclude and only get if
# 'type' option contains in the final request.
# This is a example.
fields:
- "vpn"
# Type to determine.
# If this return true/false, use "boolean", in case
# this is string, only put string, example:
#
# type: 'yes'
type: boolean配置说明
enabled- 是否启用该服务。
key- 当 API 需要密钥时填写此项。
model- 请求页面的数据模式。
- 支持:
- `JSON`- `HTML`- 如果该值无效或未设置,将使用
JSON。
url- 必填项,用于填写你的 API 请求地址。
- 可用占位符:
- `%IP%` = 返回玩家的 IP- `%KEY%` = 返回 `key` 字段的值headers- 如果 API 需要请求头,可在此添加。
- 若要禁用,可设置为:
- `headers: []`- 或者直接不为该服务添加此项。
values- 需要检查的值。
- 这些值对于判定结果是必要的。
fields- 需要检查的字段。
- 如果你想禁用字段检查,可添加:
- `fields: {}`- 这样将排除字段检查,仅在最终请求结果中包含
type选项时进行判断。
type- 用于定义判定类型。
- 如果返回值是 true/false,请使用:
- `boolean`- 如果返回值是字符串,则直接填写对应字符串,例如:
- `type: 'yes'`使用建议
- 优先参考已有 API 配置示例进行修改。
- 添加自定义 API 后,若检测逻辑不正确,请先检查:
url是否正确key是否有效headers是否必需fields与type是否与 API 实际返回格式一致- 如仍有问题,可使用
/foxgate verbose查看返回内容后再进一步调整配置。
测试支持版本
版本分布
基本信息
插件名称
FoxGate AntiVPN
作者
Zowi
平台
Bukkit / Spigot
支持版本
1.7 - 1.21
点赞数
1
最近版本
暂无数据
-