mirror of
https://github.com/SubleXBle/Fail2Ban-Report.git
synced 2026-02-11 03:09:03 -06:00
Update README.md
updated readme whats new
This commit is contained in:
106
README.md
106
README.md
@@ -1,5 +1,5 @@
|
||||
# Fail2Ban-Report
|
||||
> Beta 3.1 | Version 0.3.1
|
||||
> Beta 3.2 | Version 0.3.2
|
||||
|
||||
A simple and clean web-based dashboard to turn your daily Fail2Ban logs into searchable and filterable JSON reports — with optional IP blocklist management for UFW.
|
||||
|
||||
@@ -58,28 +58,89 @@ Fail2Ban-Report parses your fail2ban.log and generates JSON-based reports viewab
|
||||
|
||||
---
|
||||
|
||||
## 🆕 What's New in V 0.3.1
|
||||
## 🆕 What's New in V 0.3.2
|
||||
|
||||
- **Protected access to JSON files**
|
||||
- Direct access to `/archive/*.json` is now blocked via `.htaccess`
|
||||
- Frontend scripts no longer request raw `.json` files directly
|
||||
- **New secure PHP endpoints**
|
||||
- `includes/get-json.php` and `includes/get-blocklist.php` act as controlled proxies to serve JSON data
|
||||
- Only PHP scripts will now expose required JSON content
|
||||
- **Hardened frontend behavior**
|
||||
- JavaScript files (`jsonreader.js`, `blocklist-overlay.js`) fetch data only via the new PHP proxies
|
||||
- **New Ministats in Header**
|
||||
- Shows today's **ban/unban statistics** in the page header:
|
||||
- 🚫 Bans
|
||||
- 🟢 Unbans
|
||||
- 📊 Total events
|
||||
- Adds quick insight into current Fail2Ban activity
|
||||
- **Mobile-Friendly**
|
||||
- Site is now more mobile friendly
|
||||
- added favicon (🕵️) to make browsers happy
|
||||
### 🧱 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**.
|
||||
|
||||
### 📊 Extended Statistics
|
||||
- 📅 The Fail2Ban stats panel now includes:
|
||||
- ✅ **Today’s** bans & unbans (as before)
|
||||
- 🕓 **Yesterday**
|
||||
- 📈 **Last 7 Days**
|
||||
- 📊 **Last 30 Days**
|
||||
- 🗂️ Based on your existing daily `fail2ban-events-YYYYMMDD.json` files — no setup needed.
|
||||
|
||||
### 🧩 Per-Jail Blocklist Display
|
||||
- 🧾 Each jail now displays its own **blocklist section** with:
|
||||
- 🔒 Active bans
|
||||
- ⏳ Pending entries
|
||||
- 🔄 Auto-refresh every **60 seconds**.
|
||||
- 🧮 Layout adapts to **varying jail name lengths** — cleaner and more readable UI.
|
||||
|
||||
### ⚙️ Performance & UX
|
||||
- 🚀 Optimized update intervals (**default: 10–60 seconds**).
|
||||
- 🧘♂️ Minimal server and browser load — ideal for low-traffic admin use.
|
||||
|
||||
---
|
||||
|
||||
### ⚠️ Upgrade Notice
|
||||
|
||||
If you're upgrading from an existing installation:
|
||||
|
||||
- ⚠️ **The new blocklist format is not compatible with the old `blocklist.json`.**
|
||||
- 🧹 To ensure a clean transition and avoid orphaned firewall entries, follow these steps:
|
||||
|
||||
1. **Empty your current blocklist** via the **Unblock** buttons in the UI.
|
||||
2. 🔄 Trigger a **sync** using the `firewall-update.sh` to remove all Fail2Ban-Report-related rules from the firewall.
|
||||
3. 🗑️ Delete the old `blocklist.json`.
|
||||
4. 📦 Replace all files with the new version (overwrite).
|
||||
5. ✅ Done! The new system will now build jail-specific blocklists automatically.
|
||||
|
||||
- 🛠️ _Optional_ : Run the `installer.sh` again to get a fresh setup.
|
||||
|
||||
> This ensures no leftover blocks remain in your firewall from the previous system.
|
||||
|
||||
|
||||
🧪 [as promised there is an highly experimental feature for using fail2ban instead of UFW.](using-Fail2Ban-firewall-update.md) (⚠️ not recommended)
|
||||
### 🔄 Updated and Added Files in v0.3.2
|
||||
|
||||
#### 🗂️ Backend (PHP / Shell)
|
||||
|
||||
- `includes/block-ip.php`
|
||||
→ Refactored to support jail-specific blocklists
|
||||
|
||||
- `includes/unblock-ip.php`
|
||||
→ Now handles unblocking from jail-based lists
|
||||
|
||||
- `includes/list-files.php`
|
||||
→ Modified to read multiple jail-specific blocklists
|
||||
|
||||
- `includes/footer.php`
|
||||
→ Includes references to new JS files
|
||||
|
||||
- `includes/fail2ban-logstats.php`
|
||||
→ Extended to calculate aggregate statistics (Today, Yesterday, Last 7/30 Days)
|
||||
|
||||
- `firewall-update.sh`
|
||||
→ Now processes `blocklist.json` with jail-based structure:
|
||||
`{ "sshd": [...], "apache-auth": [...] }`
|
||||
|
||||
- `assets/css/style.css`
|
||||
→ added the new stuff (i know it is still a mess)
|
||||
|
||||
---
|
||||
|
||||
#### 🆕 New Files (JS)
|
||||
|
||||
- `assets/js/blocklist-stats.js`
|
||||
→ Displays per-jail "Active" and "Pending" IP statistics
|
||||
|
||||
- `assets/js/fail2ban-logstats.js`
|
||||
→ Displays time-based event statistics
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
@@ -157,6 +218,11 @@ Pull requests, feature ideas and bug reports are very welcome!
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Experimental
|
||||
- 🧪 [as promised there is an highly experimental feature for using fail2ban instead of UFW.](using-Fail2Ban-firewall-update.md) (⚠️ not recommended)
|
||||
|
||||
---
|
||||
|
||||
## 📄 License
|
||||
|
||||
This project is licensed under the **GPLv3**.
|
||||
|
||||
Reference in New Issue
Block a user