Releases: SubleXBle/Fail2Ban-Report
Beta 5
This version makes a big jump forward:
🌐 Multi-Server Support – view & manage multiple Fail2Ban servers from one dashboard
🔐 Authentication & Roles – viewer (read-only) and admin (ban/unban, blocklist mgmt.)
📂 Per-server archives & blocklists for cleaner organization
⚡ Performance improvements + refined marker system
It’s still shell + PHP (no DB, no frameworks), designed for small to medium setups, and works great on Raspberry Pi or VPS.
Beta 4
🆕 What's New in V 0.4.0
🧱 Firewall & JSON
Optimized firewall-update.sh for faster batch processing of IPs.
Batch blocking per jail with a single ufw reload.
Safe unblocking with rule renumbering and reload after each deletion.
JSON updates and cleanup done once per jail, not per IP.
Core mechanisms, logging, and permissions unchanged.
This significantly reduces both the runtime and the lock duration of the blocklists, especially during ban events.
🖥️ UI & Statistics
Minor visual improvements in:
header.php, fail2ban-logstats.php, fail2ban-logstats.js
index.php (IP sorting)
style.css
🟡🔴 Marker Feature
IP Event Markers: Highlights repeated events per IP (yellow) and IPs in multiple jails (red).
Sortable & Filterable Mark Column: New column Mark with dropdown filter.
Dynamic Filtering: Markers update live with Action, Jail, IP, or Date filters.
Marker column placed between Action and IP, responsive layout preserved.
✨ New Feature: Copy Filtered Data to Clipboard
Added a new "Copy to Clipboard" button to export the currently filtered table data.
Implemented a dedicated JavaScript file assets/js/table-export.js for the copy functionality.
Integration with existing DataTables filtering logic to ensure only visible/filtered rows are copied.
Output Format: Tab-separated values (TSV) with all HTML tags removed for clean text export.
User Feedback:
Shows a warning if there’s no data to copy.
Shows a success or error alert based on the clipboard operation result.
This Feature will only work with enabled https for security reasons
Beta 3.4
🆕 Fix V 0.3.4
Json Files should not loose Data anymore when several write processes trying to write the json file at the same time.
firewall-update.sh: Added FLOCK to lock json when writing
block-ip.php: Added FLOCK to lock json when writing
unblock-ip.php: Added FLOCK to lock json when writing
Beta 3.3
This is the final step before the major 0.4.0 update, which will move and restructure the archive/ directory outside of the web root.
This release is tested/stable and delivers several new features, such as:
- DoS / Scan / Brute-force "detection" with two thresholds (warning & critical) for bans per minute per jail
- Fail2Ban log statistics for today, yesterday, last 7 days, and last 30 days
- Multi-IP actions
- Blocklist Statistics with pending state indicators
- A more unified look for UI buttons, giving the interface a calmer, cleaner feel
Improvements
🧱 New Blocklist Logic
🔁 Blocking an IP address now stores it in a jail-specific blocklist (blocklist["jailname"][]) instead of one global list.
🔍 Improves clarity and allows easier tracking of blocked IPs per jail as it is a step for better fail2ban integration.
📊 New Statistics
📅 The Fail2Ban stats panel now includes:
✅ Today’s bans & unbans (as before)
🕓 Yesterday
📈 Last 7 Days
📊 Last 30 Days
🧩 Per-Jail Blocklist Display
🧾 Each jail now displays its own blocklist section with:
🔒 Active bans
⏳ Pending entries
🔄 Auto-refresh every 60 seconds. for Jail-Stats
Beta 3.1
🆕 Fail2Ban-Report v0.3.1 – Beta 3
This update focuses on security, stability, and a cleaner codebase:
🔐 JSON access secured
Direct access to raw .json files is now blocked (via .htaccess)
Frontend data is now loaded via secure PHP proxies only
📊 Live stats in header
Displays today's bans, unbans, and total events
Auto-updating for a real-time glance at Fail2Ban activity
🧼 Frontend improvements
Refactored some JavaScript
✅ Tested and working stable so far.