From 809930df9af2fad6455f15ec162d51772e868eac Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sun, 8 Feb 2026 20:38:27 +0100 Subject: [PATCH] Update security.tsx --- AppImage/components/security.tsx | 124 ++++++++++++++++--------------- 1 file changed, 65 insertions(+), 59 deletions(-) diff --git a/AppImage/components/security.tsx b/AppImage/components/security.tsx index 88e55934..8989d779 100644 --- a/AppImage/components/security.tsx +++ b/AppImage/components/security.tsx @@ -2459,10 +2459,10 @@ ${(report.sections && report.sections.length > 0) ? ` Intrusion prevention system that bans IPs after repeated failed login attempts - + {toolsLoading ? ( -
-
+
+
) : !fail2banInfo?.installed ? ( /* --- NOT INSTALLED --- */ @@ -2508,50 +2508,53 @@ ${(report.sections && report.sections.length > 0) ? `
) : ( /* --- INSTALLED --- */ -
+
{/* Status bar */} -
-
-
- +
+
+
+
-

Fail2Ban {fail2banInfo.version}

-

+

Fail2Ban {fail2banInfo.version}

+

{fail2banInfo.active ? "Service is running" : "Service is not running"}

-
+
{fail2banInfo.active ? "Active" : "Inactive"}
{fail2banInfo.active && f2bDetails && ( <> - {/* Summary stats */} -
-
-

Jails

-

{f2bDetails.jails.length}

+ {/* Summary stats - inline */} +
+
+ Jails: + {f2bDetails.jails.length}
-
-

Banned

-

a + j.currently_banned, 0) > 0 ? "text-red-500" : "text-green-500"}`}> +

+
+ Banned IPs: + a + j.currently_banned, 0) > 0 ? "text-red-500" : "text-green-500"}`}> {f2bDetails.jails.reduce((a, j) => a + j.currently_banned, 0)} -

+
-
-

Total Bans

-

+

+
+ Total Bans: + {f2bDetails.jails.reduce((a, j) => a + j.total_banned, 0)} -

+
-
-

Failed

-

+

+
+ Failed Attempts: + {f2bDetails.jails.reduce((a, j) => a + j.total_failed, 0)} -

+
@@ -2569,10 +2572,10 @@ ${(report.sections && report.sections.length > 0) ? ` } return ( -
-
-
- +
+
+
+

Missing protections detected

@@ -2600,41 +2603,41 @@ ${(report.sections && report.sections.length > 0) ? ` })()} {/* Tab switcher */} -

+
{/* JAILS TAB */} {f2bActiveTab === "jails" && ( -
+
{f2bDetails.jails.map((jail) => (
{/* Jail header */} -
-
-
0 ? "bg-red-500 animate-pulse" : "bg-green-500"}`} /> - {jail.name} +
+
+
0 ? "bg-red-500 animate-pulse" : "bg-green-500"}`} /> + {jail.name} {jail.name === "sshd" ? "SSH Remote Access" : jail.name === "proxmox" ? "Proxmox UI :8006" : @@ -2768,25 +2771,28 @@ ${(report.sections && report.sections.length > 0) ? ` Window: {formatBanTime(jail.findtime)}
- {/* Jail stats bar */} -
-
-

Banned

-

0 ? "text-red-500" : "text-green-500"}`}> + {/* Jail stats - inline */} +

+
+ Banned: + 0 ? "text-red-500" : "text-green-500"}`}> {jail.currently_banned} -

+
-
-

Total Bans

-

{jail.total_banned}

+
+
+ Total Bans: + {jail.total_banned}
-
-

Failed Now

-

{jail.currently_failed}

+
+
+ Failed Now: + {jail.currently_failed}
-
-

Total Failed

-

{jail.total_failed}

+
+
+ Total Failed: + {jail.total_failed}
@@ -2837,8 +2843,8 @@ ${(report.sections && report.sections.length > 0) ? ` )} {jail.currently_banned === 0 && ( -
-

No IPs currently banned

+
+

No IPs currently banned in this jail

)}