openhands
f0c27eb815
Gitea Actions Runner Test / test-job (push) Successful in 0s
CI / check (push) Successful in 33s
CI / tests-integration (push) Successful in 1m50s
CI / tests-unit (push) Successful in 1m52s
CI / tests-ui (push) Successful in 2m43s
CI / preflight (push) Skipped
CI / deploy (push) Successful in 2m32s
feat(security): Cloudflare-aware IP trust and admin-tunable anti-DDoS
- resolveClientIp: trust cf-connecting-ip only behind cf-ray/cdn-loop, use nginx x-real-ip otherwise (anti-spoof)
- antiddos-config: Redis-backed live config (antiddos:config) with 30s cache, 13 ANTI_DDOS_* env vars
- ddos-guard: consume tunable rates/tiers via getAntiddosConfig
- admin panel at /admin/devops/antiddos (save/reset/unban actions, PERMS.SETTINGS_VIEW)
- register new admin page in housekeeping migration matrix (146 -> 147)
2026-09-22 22:22:51 +02:00
..
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-22 22:22:51 +02:00
2026-09-21 18:37:39 +02:00
2026-09-04 13:04:08 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:11:15 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-20 12:29:01 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-17 21:02:57 +02:00
2026-09-04 13:04:08 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:11:15 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-09-20 12:29:01 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-17 21:02:57 +02:00
2026-07-31 21:35:05 +02:00
2026-09-13 20:14:32 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 19:36:15 +02:00
2026-09-17 15:01:23 +02:00
2026-08-27 15:17:54 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-13 18:05:03 +02:00
2026-09-06 20:25:19 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 20:04:10 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-20 12:29:01 +02:00
2026-09-21 20:25:58 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 00:36:55 +02:00
2026-09-10 11:29:28 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-21 18:37:39 +02:00
2026-09-05 11:49:00 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-09-17 21:02:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 00:31:29 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 13:27:59 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 13:27:59 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 13:27:59 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 13:27:59 +02:00
2026-09-21 19:48:31 +02:00
2026-09-21 19:48:31 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-13 19:24:43 +02:00
2026-09-13 19:24:43 +02:00
2026-09-21 18:37:39 +02:00
2026-08-29 20:54:06 +02:00
2026-09-21 18:37:39 +02:00
2026-09-13 19:24:43 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-13 17:55:01 +02:00
2026-08-31 17:44:29 +02:00
2026-09-18 12:44:39 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-06 17:55:11 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 21:35:05 +02:00
2026-09-21 18:37:39 +02:00
2026-09-03 16:00:32 +02:00
2026-09-21 18:37:39 +02:00
2026-09-05 23:27:02 +02:00
2026-09-21 18:37:39 +02:00
2026-08-30 21:31:34 +02:00