mirror of
https://github.com/TrezOne/docker-mods-uptime-kuma-timeout-fix.git
synced 2026-07-19 01:46:10 -04:00
Added support for more configurations
This commit is contained in:
+26
-19
@@ -1,25 +1,32 @@
|
||||
import json
|
||||
import os
|
||||
import sqlite3
|
||||
|
||||
def _get_f2b_data(db_path):
|
||||
if not os.path.isfile(db_path):
|
||||
return []
|
||||
|
||||
con = sqlite3.connect(db_path)
|
||||
cur = con.cursor()
|
||||
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()
|
||||
return [{
|
||||
"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]
|
||||
|
||||
con = sqlite3.connect("/config/fail2ban/fail2ban.sqlite3")
|
||||
cur = con.cursor()
|
||||
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()
|
||||
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]
|
||||
swag_f2b = _get_f2b_data("/config/fail2ban/fail2ban.sqlite3")
|
||||
host_f2b = _get_f2b_data("/dashboard/fail2ban/fail2ban.sqlite3")
|
||||
|
||||
output = json.dumps(formatted_results, sort_keys=True)
|
||||
output = json.dumps(swag_f2b + host_f2b, sort_keys=True)
|
||||
print(output)
|
||||
|
||||
Reference in New Issue
Block a user