Commit Graph

56 Commits

Author SHA1 Message Date
Lorenzo Venerandi
ed4fe0dcfb feat: Add IP filtering to attack types pagination and detail views 2026-03-01 18:01:19 +01:00
Lorenzo Venerandi
8fc2d47e96 feat: Add detailed IP information view and refactor IP insight template
- Introduced a new partial template `_ip_detail.html` for displaying comprehensive IP details, including activity, geo & network information, reputation, and access history.
- Updated `ip_insight.html` to include the new `_ip_detail.html` partial, streamlining the code and enhancing maintainability.
- Enhanced CSS styles for improved layout and responsiveness, including adjustments to the radar chart size and the introduction of a two-column grid layout for IP details.
- Refactored JavaScript for loading attack types charts to support multiple instances and improved error handling.
2026-03-01 17:00:10 +01:00
Lorenzo Venerandi
cecdbda1d9 Bundle of static resources instead of external loading 2026-03-01 15:58:32 +01:00
Lorenzo Venerandi
4900c3dd49 fix: layout improvement after merge 2026-02-28 19:42:15 +01:00
Patrick Di Fazio
82d4757ad1 Merge branch 'feat/dashboard-single-ip-page' into feat/add-search-bar 2026-02-28 18:47:36 +01:00
BlessedRebuS
62bb091926 added search bar feature, refactored the dashboard 2026-02-28 18:43:09 +01:00
Lorenzo Venerandi
368265dea4 feat: update suspicious activity display to show last 10 requests and improve database filtering 2026-02-28 18:12:40 +01:00
Lorenzo Venerandi
3d8178ff0e feat: enhance dashboard with IP category display and improved data tables 2026-02-28 18:04:26 +01:00
Lorenzo Venerandi
d9ae55c0aa feat: add IP insight feature with detailed view and actions
- Updated various tables to include "Actions" column with inspect buttons for IP insights.
- Created a new IP insight template for displaying detailed information about an IP address.
- Implemented JavaScript functions to handle opening the IP insight view and loading data via HTMX.
- Enhanced map markers to include inspect buttons for quick access to IP insights.
- Added styles for the new IP insight page and buttons to maintain UI consistency.
2026-02-28 17:43:50 +01:00
Lorenzo Venerandi
ce713d8072 tweaked map markers 2026-02-28 16:45:07 +01:00
Matthias-vdE
799b5d5164 Make attackers table sortable and cleanup time display.
This update makes the Attackers by Total Requests table sortable by First Seen and Last Seen.

It also changes the way datetimes are being displayed everywhere: Only show the time when the event happened today, show the full datetime when the event happened on another day.
2026-02-27 10:52:05 +01:00
carnivuth
75722051d6 added first version of single ip page breakdiwn 2026-02-26 17:10:14 +01:00
Lorenzo Venerandi
0fac15a129 feat: enhance IP map visualization with custom pie-chart cluster icons and improved marker handling
- Added custom CSS for pie-chart cluster icons to improve visual representation.
- Implemented a function to create cluster icons using conic gradients based on IP categories.
- Refactored marker creation logic to utilize unique coordinates for overlapping markers.
- Introduced a loading overlay during IP data fetching to enhance user experience.
- Updated map filters to dynamically show/hide markers based on user selection.
- Improved error handling for IP stats fetching and added informative popups.
2026-02-23 12:00:45 +01:00
Lorenzo Venerandi
bbf791a93e added dropdown for selecting number of IPs to display on the map 2026-02-23 12:00:38 +01:00
Lorenzo Venerandi
00376e28df added Leaflet.markercluster CSS and JS files to enhance map functionality 2026-02-23 12:00:22 +01:00
Lorenzo Venerandi
adb344683a refactor: simplify raw request modal display logic and CSS 2026-02-17 14:56:02 +01:00
Lorenzo Venerandi
c46b6b903d fix: remove radar legend from IP detail template 2026-02-17 14:00:30 +01:00
Lorenzo Venerandi
2c7b612587 Removed old monolithic files 2026-02-17 13:12:59 +01:00
Lorenzo Venerandi
7371eca7f5 refactor: clean up HTML template and add redundant route for dashboard 2026-02-17 13:11:40 +01:00
Lorenzo Venerandi
5d38ea45a8 starting full refactor with FastAPI routes + HTMX and AlpineJS on client side 2026-02-17 13:09:01 +01:00
carnivuth
396b9b1710 linted code 2026-02-15 15:10:41 +01:00
BlessedRebuS
5703942d2c dashboard fix, added most recurring attack, fixed visualization 2026-02-15 00:54:28 +01:00
Patrick Di Fazio
cdf8010ae2 fixed dashboard 2026-02-11 00:13:21 +01:00
Patrick Di Fazio
771174c6a9 added raw request handling, enanched attack detection for GET and POSTS, templatized suspicioius activity to fetch from wordlists.json, aligned helm to load new wordlist config, added migration scripts from 1.0.0 to new krawl versions, removed old and unused functions, added test scripts 2026-02-08 16:02:18 +01:00
carnivuth
789d77c784 linted code 2026-02-05 17:57:38 +01:00
BlessedRebuS
01547dbf8f modified doc 2026-02-02 23:01:25 +01:00
Patrick Di Fazio
3cdb3a360b Merge branch 'dev' into feat/blocklist-api 2026-02-02 22:38:44 +01:00
BlessedRebuS
3c8fa703eb added button style 2026-02-02 22:29:34 +01:00
BlessedRebuS
863fac251d modified dashboard, added ip-api data fetch 2026-02-01 22:43:12 +01:00
carnivuth
7e74896dfd refactor form for blocklist download 2026-01-29 23:23:52 +01:00
Lorenzo Venerandi
e93bcb959a Doc/updated documentation (#60)
* added documentation, updated repo pointer in the dashboard, added dashboard link highlighting and mionor fixes

* added doc

* added logo to dashboard

* Fixed dashboard attack chart

* Enhance fake data generation with varied request counts for better visualization

* Add automatic migrations and support for latitude/longitude in IP stats

* Update Helm chart version to 0.2.2 and add timezone configuration option

---------

Co-authored-by: BlessedRebuS <patrick.difa@gmail.com>
2026-01-29 11:55:06 +01:00
Lorenzo Venerandi
5aca684df9 Feat/attack map improvement (#57)
* feat: enhance IP reputation management with city data and geolocation integration

* feat: enhance dashboard with city coordinates and improved marker handling

* feat: update chart version to 0.2.1 in Chart.yaml, README.md, and values.yaml

* feat: update logo format and size in README.md

* feat: improve location display logic in dashboard for attackers and IPs
2026-01-27 16:56:34 +01:00
Lorenzo Venerandi
8c76f6c847 Feat/deployment update (#56)
* feat: update analyzer thresholds and add crawl configuration options

* feat: update Helm chart version and add README for installation instructions

* feat: update installation instructions in README and add Docker support

* feat: update deployment manifests and configuration for improved service handling and analyzer settings

* feat: add API endpoint for paginated IP retrieval and enhance dashboard visualization with category filters

* feat: update configuration for Krawl service to use external config file

* feat: refactor code for improved readability and consistency across multiple files

* feat: remove Flake8, Pylint, and test steps from PR checks workflow
2026-01-26 12:36:22 +01:00
Lorenzo Venerandi
130e81ad64 Feat/dashboard improvements (#55)
* fixed external ip resoultion

* added dashboard logic division, filtering capabilities, geoip map, attacker stats

* refactor: replace print statements with applogger for error logging in DatabaseManager

* feat: add click listeners for IP cells in dashboard tables to fetch and display stats

---------

Co-authored-by: BlessedRebuS <patrick.difa@gmail.com>
2026-01-25 22:50:27 +01:00
Lorenzo Venerandi
4450d3a4e3 Linted code iwht black tool 2026-01-23 22:00:21 +01:00
Patrick Di Fazio
ac936978da Merge branch 'dev' into fix/dashboard 2026-01-17 23:09:14 +01:00
Patrick Di Fazio
2dd35234c0 fixed dashboard alignment 2026-01-17 22:41:19 +01:00
carnivuth
9d9a718aec feat:removed manual timezone management, delegate timezone configuration to execution environment
removed code that manages timezone setup from config file, krawl now
obeys to the environment configuration
2026-01-17 18:06:09 +01:00
Patrick Di Fazio
c2dbcf588c added iprep to the dashboard, fixed bugs 2026-01-10 20:00:33 +01:00
Patrick Di Fazio
be7ba1f820 added download button 2026-01-09 20:37:20 +01:00
Patrick Di Fazio
b61461d028 fixed categorization visualization, fixed date in the dashboard, fixed attack regex detection 2026-01-08 19:20:22 +01:00
Patrick Di Fazio
7690841029 added categorization visualization and itmeline 2026-01-07 18:24:43 +01:00
Patrick Di Fazio
02aed9e65a added drop down menu and scoring graph to the dashboard 2026-01-06 18:50:36 +01:00
Patrick Di Fazio
190d74e1a7 modified krawl template for single page visualization 2026-01-05 17:27:27 +01:00
Patrick Di Fazio
4478c60956 added krawl homepage to templates 2026-01-05 17:07:10 +01:00
Leonardo Bambini
ff98a77e1a parametrized into config.yaml + bug fix 2026-01-04 22:20:10 +01:00
Phillip Tarrant
a4baedffd9 updated dashboard to pull data from db. This closes issue #10 2025-12-28 13:56:23 -06:00
Phillip Tarrant
6487cb493d Merge branch 'dev' into feat/sqlite3-storage 2025-12-28 11:08:10 -06:00
Phillip Tarrant
f1c142c53d feat: add SQLite persistent storage for request logging
- Add SQLAlchemy-based database layer for persistent storage
  - Create models for access_logs, credential_attempts, attack_detections, ip_stats
  - Include fields for future GeoIP and reputation enrichment
  - Implement sanitization utilities to protect against malicious payloads
  - Fix XSS vulnerability in dashboard template (HTML escape all user data)
  - Add DATABASE_PATH and DATABASE_RETENTION_DAYS config options
  - Dual storage: in-memory for dashboard performance + SQLite for persistence

  New files:
  - src/models.py - SQLAlchemy ORM models
  - src/database.py - DatabaseManager singleton
  - src/sanitizer.py - Input sanitization and HTML escaping
  - requirements.txt - SQLAlchemy dependency

  Security protections:
  - Parameterized queries via SQLAlchemy ORM
  - Field length limits to prevent storage exhaustion
  - Null byte and control character stripping
  - HTML escaping on dashboard output
2025-12-28 10:43:32 -06:00
Patrick Di Fazio
6556e17f91 Added timezone env variable handling 2025-12-28 17:07:18 +01:00