Added more info to f2b

This commit is contained in:
quietsy
2022-01-14 12:45:47 +02:00
parent cb6640b811
commit 097e860e5a
2 changed files with 24 additions and 6 deletions
+17 -2
View File
@@ -4,7 +4,22 @@ import sqlite3
con = sqlite3.connect("/config/fail2ban/fail2ban.sqlite3")
cur = con.cursor()
results = cur.execute("SELECT jails.name, COUNT(bans.ip) AS bans FROM jails LEFT JOIN bans ON jails.name=bans.jail GROUP BY jails.name").fetchall()
results = cur.execute("""
SELECT jails.name,
COUNT(bans.ip) AS bans,
(SELECT DISTINCT bans.ip from bans where jails.name = bans.jail ORDER BY timeofban DESC) as last_ban,
(SELECT DISTINCT bans.data from bans where jails.name = bans.jail ORDER BY timeofban DESC) as data
FROM jails
LEFT JOIN bans ON jails.name=bans.jail
GROUP BY jails.name
""").fetchall()
con.close()
output = json.dumps({k:v for (k,v) in results}, sort_keys=True)
formatted_results = [{
"name": name,
"bans": bans,
"last_ban": last_ban,
"data": json.dumps(json.loads(data), indent=4, sort_keys=True) if data else None
} for (name, bans, last_ban, data) in results]
output = json.dumps(formatted_results, sort_keys=True)
print(output)