Files
SamWaf/wafenginecore
samwafgo 64aaab16fa Feat log shared (#1007)
* fix: make archived log shard connections concurrency-safe and recoverable

* fix: build the WebSocket online table before its consumers start

* perf: cap stored payloads, index log lookups by IP and rule, batch IP tag writes

* fix: keep archived log shards readable when the live table gains a column

* feat: merge IP tag history when their database location changes

* refactor: move request payloads out of the access log into their own table

* feat: scope log database export to a time range and selected tiers

* feat: add an IP watchlist that full-captures watched IPs

* feat: split log storage into security events, access rows, and payload tiers

* feat: roll up requests per actor and path into daily analysis tables

* fix:actor key by ip

* feat: add a source and path analysis page over the daily rollups

* feat: exclude chosen source IPs from web log recording

* docs: add upgrade notes for the analysis page and log IP exclusion

* feat: derive the log partition from the time range and look up identifiers across all of them

* feat: add time partition verbs and the period naming they share

* feat: cut log archives per month and expire them by dropping partitions

* feat: manage log partitions, and answer why an IP has no logs

* fix: read archived SQLite log shards read-only and choose tiers by data

* fix: count the live log shard from access_log instead of a stale snapshot

* fix:export db bug

* fix: default backend keep-alive pool (512/128/90s) to stop connect-close churn under load

* chore: gen_swagger.bat outputs json only, syncs doc site, runs route test

* feat: pin web frontend version and embed it into the binary
2026-10-10 14:39:06 +08:00
..
2026-09-07 16:18:29 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-10-10 14:39:06 +08:00
2025-03-07 08:21:28 +08:00
2026-09-03 11:22:53 +08:00
2026-06-18 13:54:22 +08:00
2025-06-06 10:58:59 +08:00
2026-09-07 16:18:29 +08:00
2026-09-07 16:18:29 +08:00
2026-09-07 16:18:29 +08:00
2026-09-07 16:18:29 +08:00
2026-08-13 16:57:35 +08:00
2026-08-12 21:51:05 +08:00
2026-08-12 21:51:05 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2025-04-16 15:39:09 +08:00
2026-09-03 11:22:53 +08:00
2026-06-15 17:00:35 +08:00
2025-05-03 15:17:32 +08:00
2026-08-03 16:33:22 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2026-08-03 16:33:22 +08:00
2026-08-03 16:33:22 +08:00
2026-05-26 11:39:45 +08:00
2026-08-12 16:41:30 +08:00
2026-08-12 16:41:30 +08:00
2025-02-08 08:27:34 +08:00
2025-05-29 16:31:02 +08:00
2026-08-18 17:25:08 +08:00
2026-08-18 17:25:08 +08:00
2026-06-23 11:35:48 +08:00
2026-04-17 14:58:43 +08:00
2026-05-08 15:04:32 +08:00
2026-09-03 11:22:53 +08:00
2026-09-03 11:22:53 +08:00
2025-04-02 14:28:10 +08:00
2026-08-03 16:33:22 +08:00
2025-03-07 08:21:28 +08:00
2026-05-14 14:08:42 +08:00
2026-08-18 12:53:21 +08:00
2026-10-10 14:39:06 +08:00
2025-02-21 08:38:22 +08:00
2026-05-09 16:02:13 +08:00
2026-10-10 14:39:06 +08:00
2026-08-03 13:34:59 +08:00
2026-08-19 08:40:51 +08:00
2026-08-19 08:40:51 +08:00
2026-08-19 08:40:51 +08:00
2026-08-30 14:39:12 +08:00
2026-08-30 14:39:12 +08:00
2026-10-10 14:39:06 +08:00
2026-10-10 14:39:06 +08:00
2026-10-10 14:39:06 +08:00
2026-10-10 14:39:06 +08:00
2026-10-10 14:39:06 +08:00