1.4.5latestBetter IP Filter 1.4.5Sep 13, 2026 - Added support for Paper/Minecraft 26.21.4.4Better IP Filter 1.4.4Jun 22, 2026 Added
- Added/ipf check <ip>to show whether an IP is allowed and which whitelist entry matches it. - Added/ipf addtemp <entry> <duration> [note]for temporary in-memory whitelist entries. - Added optional notes for permanent whitelist entries via/ipf add <entry> [note]. - Added deny counters to/ipf statusfor not-whitelisted, proxy, rate-limit, and failsafe denies. - Added tab completion for new commands and temporary durations. - Added README proxy setup examples for standalone Paper, trusted proxy, Velocity, and invalid emptyPROXY_GATE.Changed
-/ipf addand/ipf removenow report normalized whitelist entries in command responses. -/ipf listnow shows one entry per line with optional note and temporary expiration details. - Updated plugin metadata and documentation for the new commands. - Bumped version to1.4.4.Security
- Hardened webhook destination validation by resolving webhook hosts before sending and blocking local/private DNS results whenwebhook.allow-local-addressesisfalse.Compatibility
- No IPv6 support added in this release. - Existingips.ymllist format remains compatible. - Temporary entries are memory-only and do not survive server restarts.1.4.3Better IP Filter 1.4.3May 22, 2026 Security
- Hardened webhook URL validation. - Localhost and private literal IPv4 webhook targets are now blocked by default. - Addedwebhook.allow-local-addressesfor trusted local webhook relays. - Sanitized denied log fields to prevent unsafe control characters in log output. - Improved JSON escaping for webhook payloads.Config
- Reworkedconfig.ymlcomments to make proxy, failsafe, rate limit, logging, and webhook settings easier to understand. - Added clearer safety notes forDENY_ALL,PROXY_GATE, denied logs, and webhook payloads. - Added a warning whenPROXY_GATEis enabled with an empty trusted proxy list.Optimization
- Cached the global filtering enabled flag during config load instead of reading config on every login check. Full Changelog: https://github.com/AREKKUZZERA/Better-IP-Filter/compare/1…1.4.2Better IP Filter 1.4.2May 20, 2026 Fixed
- Added validation for unsafe config values. - Invalidfailsafe.modenow falls back toDENY_ALL. - Invalidproxy.modenow falls back toDIRECT. - Restricted denied log file names to safe plain file names. - Webhook URLs now reject user-info and fragments.1.4.1Better IP Filter 1.4.1Apr 27, 2026 Fixed
- Fixed IPv4 parsing edge case where128.0.0.0could be treated as invalid because it collided with the internal invalid sentinel. - Fixed IP checks for signed Javaintboundary values, including addresses in the128.0.0.0+range. - Fixed webhook handling so invalid webhook URLs no longer risk breaking the async notifier worker.Improved
- Added safer IPv4 parsing API internally. - Improved CIDR validation coverage for/0,/16,/32, and high-range IPv4 addresses. - Improved defaultconfig.ymlreadability with clearer sections, examples, and security warnings. - Prevented binary resources such as PNG files from being Maven-filtered during builds.Added
- Added JUnit 5 test setup. - Added regression tests for IPv4 parsing, CIDR math, rate limiting with edge IPs, and webhook URL validation.Security
- Documented sensitive denied-log behavior in config comments. - ClarifiedPROXY_GATE, Velocity forwarding, andALLOW_ALLfailsafe risks. Full Changelog: https://github.com/AREKKUZZERA/Better-IP-Filter/compare/1…1.4.0Better IP Filter 1.4.0Mar 28, 2026
Добавлена полноценная интеграция с Modrinth (Minotaur plugin 2.8.7)* Явно указаны поддерживаемые версии Minecraft: 1.21 – 1.21.11* Добавлены лоадеры: Paper, Folia* * Настроена автоматическая публикация через GitHub Actions (Modrinth & CI/CD
mvn modrinth:publish) * Версия плагина теперь синхронизируется через${project.version}(Maven filtering) ---
####Исправления ошибок
Core / Concurrency RateLimiter* * Исправлен data race в
AttemptBucket* Потокобезопасность теперь гарантируется черезConcurrentHashMap.compute* Исправлена логика для невалидных IP (больше не блокируются навсегда) WebhookNotifier* * Устранён race condition вmaybeLogDropStats* ПолеlastStatLogMillisтеперь используется корректно из worker-потока ####Network / Proxy IpFilterListener* Исправлена логика proxy gate* Недоверенные прокси теперь всегда блокируются* * Ранее при
ALLOW_ALLмогли проходить без логирования * Удалена ошибка, при которой пустой список trusted proxies = доверие всем ####Tests IpMathSelfCheck* * Исправлена сортировка диапазонов IP * Используется
Integer.compareUnsignedвместо signed сравнения ####Logging BetterIpFilterPlugin* * Устранено дублирование
formatDeniedLine---
* Ленивая генерация строки deny-лога (если логирование отключено — строка не создаётся) * Упрощена логикаУлучшения производительности и кода
onEnable(inline executor setup) *WebhookNotifier*switchвместо if-chain вescapeJson* ОптимизированbuildPayload(использует String concat → JDK 21 оптимизирует) ---
#### IpStore * Убрано дублирование через: *Рефакторинг
commitResult(...)*setUnavailable(...)*ensureDataFolder()*parseEntryсделанstatic#### IpfCommand * Исправлен порядок валидации аргументов (сначала корректность IP) * Упрощена логика (меньше вложенности, ранние return) * Оптимизированreloadhandler #### IpfTabCompleter * ИспользуетсяList.of(...)вместоArrays.asList(...)*filterPrefixсделанstatic---
Недоверенные прокси теперь никогда не пропускаются*, независимо от failsafe режима Пустой список trusted proxies = никто не доверен* (раньше — все доверены) * Невалидные IP больше не попадают под rate limit ---Поведенческие изменения (важно)
* Из API удалён методBreaking Changes
hasTrustedForwardedIps* Изменено поведение proxy trust (может потребовать обновления конфигурации)1.3.0Better IP Filter 1.3.0Mar 27, 2026 Better IP Filter 1.21.X (1.3.0)
* ОбновлёнImprovements
plugin.ymlдля Paper1.21.11* Упрощён парсинг IPv4 * Улучшена логикаIpStore* Добавлен rollback при неудачныхadd()/remove()* Улучшены сообщения конфигурации и валидации * Невалидныеtrusted-forwarded-ipsтеперь пропускаются с предупреждением * Команды и kick-сообщения переведены на AdventureComponent
* Исправлен критический багFixes
Ipv4.INVALID = -1*INVALIDзаменён наInteger.MIN_VALUE* Исправлена обработка IP с отрицательнымint-представлением * Исправлен edge-case для255.255.255.255* Исправлена работаIntHashSetпри удалении элементов из probe-chain * Убран deprecatedChatColor* Убран@SuppressWarnings("deprecation")*ipStrв listener теперь всегда без порта * ИсправленcanMergeдля0xFFFFFFFF
* ДобавленTests
testBroadcastIpNotInvalid* ДобавленtestIntHashSetTombstone
Paper 1.21+*Requirements
*Internal
isValidIpпереименован вisValidEntry*switchобновлён до expression switch *Collectors.toList()заменён на.toList()1.2.0Better IP Filter 1.2.0Jan 27, 2026 1.2.0 – Correctness & QoL Update
Fixed and hardened proxy mode behavior* Enforced trusted proxy validation* for Bungee / Velocity setups * Added explicit deny reason for untrusted proxy connections * Clarified proxy handling (relies on Paper / proxy forwarding)Security & Correctness
* AddedQoL & Control
/ipf status— live plugin diagnostics * Added/ipf reload— reload config and whitelist without restart * Improved command feedback for add/remove operations * Safer, readable output for/ipf list
* Reduced rate-limiter cleanup overhead under high load * Preserved fully async, non-blocking login checksPerformance
Fully compatible with 1.1.x* * No config changes required (new options have safe defaults) Paper 1.21.x · Java 21+*Compatibility
1.1.0Better IP Filter 1.1.0Jan 18, 2026 1.1.0
Security & Reliability Update * Added proxy-aware IP handling (Bungee / Velocity) * Implemented connection rate limiting (anti-bruteforce) * Added fail-safe mode for whitelist loading failures * Added support for CIDR blocks and IP ranges * Added audit logging for denied connections * Added optional webhook notifications for security events Compatibility: Paper 1.21–1.21.11 · Java 21+1.0.0Better IP Filter 1.0.0Jan 15, 2026 1.0.0 – Initial Release
FEATURES
* IP whitelist filtering for player connections * Early join validation usingAsyncPlayerPreLoginEvent* Toggleable IP filtering without server restart * IPv4 address validation * Persistent whitelist storage (ips.yml) * Lightweight, dependency-free implementationCOMMANDS
*/ipf add <ip>– Add IP to whitelist */ipf remove <ip>– Remove IP from whitelist */ipf list– List all whitelisted IPs */ipf on– Enable IP filtering */ipf off– Disable IP filteringPERMISSIONS
*betteripfilter.admin– Full access *betteripfilter.add– Add IPs *betteripfilter.remove– Remove IPs *betteripfilter.list– View whitelist *betteripfilter.toggle– Enable/disable filtering
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta