From 190d74e1a7c0255e4d1a19a9a5a77aedec8cfe85 Mon Sep 17 00:00:00 2001 From: Patrick Di Fazio Date: Mon, 5 Jan 2026 17:27:27 +0100 Subject: [PATCH] modified krawl template for single page visualization --- src/templates/dashboard_template.py | 98 ++++++++++++++++++++++++++--- src/templates/html/main_page.html | 50 +++++++++++---- src/wordlists.py | 1 + 3 files changed, 128 insertions(+), 21 deletions(-) diff --git a/src/templates/dashboard_template.py b/src/templates/dashboard_template.py index 455833d..dfad3dd 100644 --- a/src/templates/dashboard_template.py +++ b/src/templates/dashboard_template.py @@ -156,11 +156,35 @@ def generate_dashboard(stats: dict) -> str: background: #1c1917; border-left: 4px solid #f85149; }} + th.sortable {{ + cursor: pointer; + user-select: none; + position: relative; + padding-right: 24px; + }} + th.sortable:hover {{ + background: #1c2128; + }} + th.sortable::after {{ + content: '⇅'; + position: absolute; + right: 8px; + opacity: 0.5; + font-size: 12px; + }} + th.sortable.asc::after {{ + content: '▲'; + opacity: 1; + }} + th.sortable.desc::after {{ + content: '▼'; + opacity: 1; + }}
-

🕷️ Krawl Dashboard

+

Krawl Dashboard

@@ -190,13 +214,13 @@ def generate_dashboard(stats: dict) -> str:
-

🍯 Honeypot Triggers by IP

- +

Honeypot Triggers by IP

+
- + - + @@ -206,7 +230,7 @@ def generate_dashboard(stats: dict) -> str:
-

⚠️ Recent Suspicious Activity

+

Recent Suspicious Activity

IP AddressIP Address Accessed PathsCountCount
@@ -223,7 +247,7 @@ def generate_dashboard(stats: dict) -> str:
-

🔑 Captured Credentials

+

Captured Credentials

@@ -241,7 +265,7 @@ def generate_dashboard(stats: dict) -> str:
-

😈 Detected Attack Types

+

Detected Attack Types

@@ -306,6 +330,64 @@ def generate_dashboard(stats: dict) -> str:
+ """ diff --git a/src/templates/html/main_page.html b/src/templates/html/main_page.html index 4be4916..d0b39de 100644 --- a/src/templates/html/main_page.html +++ b/src/templates/html/main_page.html @@ -9,40 +9,64 @@ background-color: #0d1117; color: #c9d1d9; margin: 0; - padding: 40px 20px; - min-height: 100vh; + padding: 0; + height: 100vh; display: flex; flex-direction: column; align-items: center; + overflow: hidden; }} .container {{ max-width: 1200px; width: 100%; + height: 100vh; + display: flex; + flex-direction: column; + padding: 20px; + box-sizing: border-box; }} h1 {{ color: #f85149; text-align: center; - font-size: 48px; - margin: 60px 0 30px; + font-size: 36px; + margin: 40px 0 20px 0; + flex-shrink: 0; }} .counter {{ color: #f85149; text-align: center; - font-size: 56px; + font-size: 32px; font-weight: bold; - margin-bottom: 60px; + margin: 0 0 30px 0; + flex-shrink: 0; }} .links-container {{ display: flex; flex-direction: column; - gap: 20px; + gap: 10px; align-items: center; + overflow-y: auto; + flex: 1; + padding-top: 10px; + }} + .links-container::-webkit-scrollbar {{ + width: 8px; + }} + .links-container::-webkit-scrollbar-track {{ + background: #0d1117; + }} + .links-container::-webkit-scrollbar-thumb {{ + background: #30363d; + border-radius: 4px; + }} + .links-container::-webkit-scrollbar-thumb:hover {{ + background: #484f58; }} .link-box {{ background: #161b22; border: 1px solid #30363d; border-radius: 6px; - padding: 15px 30px; + padding: 10px 20px; min-width: 300px; text-align: center; transition: all 0.3s ease; @@ -56,7 +80,7 @@ a {{ color: #58a6ff; text-decoration: none; - font-size: 20px; + font-size: 16px; font-weight: 700; }} a:hover {{ @@ -66,21 +90,21 @@ background: #1c1917; border: 2px solid #f85149; border-radius: 8px; - padding: 30px 50px; - margin: 40px auto; + padding: 20px 30px; + margin: 20px auto; max-width: 800px; overflow-x: auto; }} .canary-token a {{ color: #f85149; - font-size: 18px; + font-size: 14px; white-space: nowrap; }}
-

Krawl me! 🕸

+

Krawl me!

{counter}