50 Commits
Author SHA1 Message Date
samwaf 195a668c99 feat: add unified log export tasks 2026-10-30 11:10:00 +08:00
Shujun Lv d76ba94b27 feat(waf-captcha): 增强验证码安全性以及行为验证 (#1011)
* feat(waf-captcha): 验证码取题与交卷接口按IP限频

* feat(waf-captcha): 传统点选验证码增加服务端行为校验
2026-10-13 13:34:58 +08:00
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
samwaf 78fbd55e7a fix: distinguish a cache miss from an unavailable cache backend
#938
2026-09-12 21:46:37 +08:00
samwaf c3b263b7f3 feat:website password session lifetime and online session management
#987
2026-09-06 07:32:04 +08:00
samwaf 619155764f feat: enhance cc
#IK7J58
2026-09-03 11:22:53 +08:00
samwaf d611961172 feat:add update process 2026-08-31 11:32:14 +08:00
samwaf 4228b5a5f4 feat: add run diagnostic for troubleshooting CPU/memory usage & del developer tools out of the main repo 2026-08-27 11:32:07 +08:00
samwaf 984e45804b feat: add local CA certificate management for the console 2026-08-26 09:28:26 +08:00
samwaf d44f956ff5 feat: negotiate a per-session key for console traffic 2026-08-25 19:50:33 +08:00
samwaf 31a4937636 feat: encrypt stored credentials with a per-instance data key and mask secret fields 2026-08-25 11:39:36 +08:00
samwafgo 1a8bf18ac9 fix:login bug (#961)
#938 #930 #897
2026-08-19 13:58:45 +08:00
samwafgo 095fa3f8de fix:meter_bug (#959)
#930
2026-08-19 08:40:51 +08:00
samwaf 4b39767c04 fix:remove mmdb 2026-08-12 16:41:30 +08:00
samwaf 44bf2da78f fix:HTTP3 feature not working, UDP port not being listened
#916
2026-08-10 09:55:43 +08:00
samwaf 86409183b5 feat:add host guard
#529 #368 #555
2026-08-07 10:38:10 +08:00
samwaf 3ef6b4830b feat:unified access authentication
#408
2026-08-05 10:21:43 +08:00
samwaf 2a972b9120 feat:add ip group
#905 #195
2026-08-03 16:33:22 +08:00
samwaf 3a7dc1a6c8 feat:merging 2026-08-03 09:23:20 +08:00
samwaf 9fd77a740f fix:update windows access denied
#903
2026-07-28 16:42:34 +08:00
samwaf a8a9172d57 fix:win ltsc nullbug
#878
2026-07-14 17:18:43 +08:00
samwaf d5fc1901e8 feat:postgres
#855
2026-07-14 11:33:06 +08:00
samwaf e52bdc180c fix:first db bug 2026-07-14 09:14:57 +08:00
samwaf c8dc8853c4 fix(security): bcrypt password hashing + server-side forced password change
- Migrate MD5+global-salt hashing to bcrypt with transparent upgrade on login
- Enforce password change in Auth middleware (allow only changepwd/logout/ws)
- Generate random initial admin password on fresh install (data/initial_password.txt)
2026-07-03 14:47:59 +08:00
samwaf d698f88e69 feat:web page anti-tamper protection 2026-07-01 13:47:32 +08:00
samwaf a4aa6d8b9c fix:ipdb save bug
#840
2026-06-29 09:03:16 +08:00
samwaf fa52a76fe1 fix: enforce db_file_size via 5-min sharding check and archive cleanup
#838
2026-06-26 11:33:10 +08:00
samwaf 72495e9b2e feat: support zero-downtime host configuration hot reload
#834
2026-06-22 10:22:47 +08:00
samwaf 51c36deb6f feat: graceful update
#831
2026-06-18 13:54:22 +08:00
samwaf 17ac5ebbd3 feat:add light ai model
#827
2026-06-15 17:00:35 +08:00
samwaf 7a53b6779d fix:when deleting the application,it should be disabled
#823
2026-06-09 09:23:30 +08:00
samwaf 4028e9a428 feat:add application management
#823
2026-06-08 16:08:54 +08:00
samwaf d571e197fd feat:support ipdb
#809
2026-06-03 13:29:34 +08:00
samwaf f6b69b138f fix:mysql/redis is not ready
#803
2026-05-29 17:49:40 +08:00
samwaf b4d527e042 feat:add path rule
#579
2026-05-14 14:08:42 +08:00
samwaf eb31577b88 feat:add redis
#797
2026-05-13 14:28:44 +08:00
samwaf 1ffb889f3b feat:add migratedb 2026-05-13 10:43:15 +08:00
samwaf a1b22cd437 feat:add version rollback
#250 #801
2026-05-11 16:58:52 +08:00
samwaf dc38fb444a fix:owaspset vars
#546 #782
2026-05-06 09:47:36 +08:00
samwaf 541a1c76ea fix:owasp set update
#546
2026-04-24 10:07:43 +08:00
samwaf f457f31eee feat: owaspruleset
#546
2026-04-22 15:55:58 +08:00
samwaf 25c5bbedfe feat: owasp
#546
2026-04-20 17:32:11 +08:00
samwaf 4a3c0302b6 feat:add task log
#750
2026-04-13 14:29:17 +08:00
samwaf bc43046321 feat: data cleaning strategy
#729
2026-04-11 08:17:28 +08:00
samwaf 693c0eed6e feat: add safe entry
#IHWKI6
2026-04-07 15:15:49 +08:00
samwaf 719a184deb fix:more port/host
#IH4IIN
2026-04-01 15:48:41 +08:00
samwaf 703360d7fe feat:add open platform
#664 #698
2026-03-06 17:39:01 +08:00
samwaf a19bde6412 feat:ip location
#628
2026-02-11 09:42:50 +08:00
samwaf 9d07261de2 feat: nginx access
#IDNH2E
2026-02-09 13:55:07 +08:00
samwaf 471769606f refactor:refactor_entrance data 2026-01-12 10:33:55 +08:00