Files
SamWaf/api
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-10-10 14:39:06 +08:00
2026-08-19 13:58:45 +08:00
2026-10-10 14:39:06 +08:00
2026-08-03 16:33:22 +08:00
2026-10-10 14:39:06 +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 21:02:20 +08:00
2026-08-03 09:23:20 +08:00
2025-12-26 11:39:43 +08:00
2025-11-21 08:53:34 +08:00
2026-04-14 09:35:56 +08:00
2025-12-26 11:39:43 +08:00
2025-12-01 16:32:42 +08:00
2026-08-03 16:33:22 +08:00
2026-08-07 10:38:10 +08:00
2026-08-28 17:15:24 +08:00
2026-08-07 10:38:10 +08:00
2026-08-18 17:25:08 +08:00
2026-10-10 14:39:06 +08:00
2026-08-03 21:02:20 +08:00
2026-08-03 16:33:22 +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-08-11 10:36:12 +08:00
2026-10-10 14:39:06 +08:00
2026-08-12 16:41:30 +08:00
2026-08-03 21:02:20 +08:00
2024-10-23 08:08:16 +08:00
2026-08-03 21:02:20 +08:00
2026-10-10 14:39:06 +08:00
2026-08-06 18:23:14 +08:00
2026-08-19 13:58:45 +08:00
2026-08-03 16:33:22 +08:00
2026-01-09 11:19:18 +08:00
2026-05-26 11:39:45 +08:00
2026-07-14 11:33:06 +08:00
2026-08-03 21:02:20 +08:00
2026-04-16 14:05:05 +08:00
2026-08-21 21:53:50 +08:00
2026-08-30 14:39:12 +08:00
2026-10-10 14:39:06 +08:00
2026-04-14 09:35:56 +08:00
2026-10-10 14:39:06 +08:00
2026-03-24 15:01:58 +08:00
2026-08-03 21:02:20 +08:00
2026-04-13 14:29:17 +08:00