Releases: QingJunXue/ProxyIdentity-Plugin
Releases · QingJunXue/ProxyIdentity-Plugin
Release list
ProxyIdentity-1.2.0
本版本是 1.0.0 之后的累计功能更新与稳定性修复版本,重点新增 IP / CIDR 封禁、国家/地区封禁、GeoIP 数据库异步同步,并对 Velocity 兼容性、配置升级、日志输出和项目结构进行了系统性优化。
新增功能
-
新增 IP / CIDR 封禁功能
- 可通过
security.blocked-ips配置封禁单个 IP 或 CIDR 网段。 - 不依赖 GeoIP 数据库,即使
geoip.enabled: false也会生效。 - 命中封禁后会在连接握手阶段直接拒绝。
- 可通过
-
新增国家/地区封禁功能
- 可通过
security.blocked-countries配置封禁国家/地区代码。 - 依赖 GeoIP2 Country 数据库。
- 仅在
geoip.enabled: true且数据库成功加载后生效。 - GeoIP 不可用时会自动降级为仅 IP 封禁。
- 可通过
-
新增 GeoIP 数据库异步同步
- 服务器启动后后台检查并同步
GeoLite2-Country.mmdb。 - 不阻塞 Bukkit、BungeeCord、Velocity 启动流程。
- 内置多个下载源,优先 GitHub Raw,失败后尝试 jsDelivr CDN。
- 支持 SHA256 校验,确保数据库完整性。
- 下载源写在代码内部,不暴露到配置文件,避免误改。
- 同步开始、成功、失败、降级等状态会输出到控制台。
- 服务器启动后后台检查并同步
-
新增统一访问控制模块
- 新增
AccessControlGate统一处理 IP 封禁与国家/地区封禁。 - 新增
IpBlockList管理 IP / CIDR 黑名单。 - 新增
BlockedCountryList管理国家/地区代码黑名单。 - 新增
CountryResolver、GeoIpCountryResolver、GeoIpCountryDatabaseResolver处理 GeoIP 查询。 - 新增
GeoIpDatabaseUpdater处理 GeoIP 数据库同步。
- 新增
-
新增统一日志门面
- 新增
PluginLogger。 - 统一处理 Bukkit / BungeeCord 的 JUL 日志、Velocity 的 SLF4J 日志和兜底输出。
- 自动处理
[ProxyIdentity]前缀。 - 解决部分核心不显示插件名的问题。
- 避免部分核心重复显示插件名前缀。
- 新增
配置变化
- 配置版本升级到
config-version: 3。 - 旧配置会在启动时自动补齐新配置项。
- 默认配置顺序调整为:
config-versiondebugproxy-protocolsecuritygeoip
新增 security 配置
security:
trusted-proxies:
- 127.0.0.1
- ::1
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
blocked-ips:
# - 127.0.0.1
# - 192.168.0.0/16
blocked-countries:
# - CNProxyIdentity-1.0.0
ProxyIdentity 1.0.0
- 项目重命名为 ProxyIdentity
- 包名改为 io.github.qingjunxue.proxyidentity
- 版本重置为 1.0.0
- 移除 legacy-bukkit profile,默认构建 Java 8 字节码
- 配置合并到 config.yml
- 支持 Bukkit 1.7.x / ProtocolLib 3.x 的 PROXY protocol 注入
- 优化 Velocity 未启用 haproxy-protocol 时的兼容逻辑