openhands
f0c27eb815
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-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-09-03 16:00:32 +02:00
2026-09-11 08:58:10 +02:00
2026-08-30 21:31:34 +02:00
2026-09-06 21:30:13 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-09-14 18:24:47 +02:00
2026-09-09 19:36:15 +02:00
2026-09-20 12:29:01 +02:00
2026-09-22 22:22:51 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-09-11 08:58:10 +02:00
2026-09-13 19:24:43 +02:00
2026-09-03 16:00:32 +02:00
2026-08-30 21:31:34 +02:00
2026-09-05 20:58:42 +02:00
2026-08-30 21:31:34 +02:00
2026-09-18 16:02:08 +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-08-30 21:31:34 +02:00
2026-09-03 16:04:48 +02:00
2026-09-18 14:56:36 +02:00
2026-09-17 21:02:57 +02:00
2026-09-14 17:35:36 +02:00
2026-09-09 21:57:56 +02:00
2026-09-18 14:56:36 +02:00
2026-09-05 20:58:42 +02:00
2026-09-06 21:30:13 +02:00
2026-09-18 14:56:36 +02:00
2026-08-30 21:31:34 +02:00
2026-09-03 16:00:32 +02:00
2026-09-20 12:29:01 +02:00
2026-09-11 10:48:34 +02:00
2026-09-09 21:57:56 +02:00
2026-08-30 21:31:34 +02:00
2026-09-18 16:02:08 +02:00
2026-09-15 20:54:10 +02:00
2026-09-17 21:02:57 +02:00
2026-08-30 21:31:34 +02:00
2026-08-30 21:31:34 +02:00
2026-09-05 20:58:42 +02:00
2026-09-05 23:27:02 +02:00
2026-09-11 00:20:54 +02:00
2026-08-30 21:31:34 +02:00
2026-09-06 17:55:11 +02:00
2026-09-17 21:02:57 +02:00
2026-09-03 16:00:32 +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-06 17:55:11 +02:00
2026-09-06 17:25:04 +02:00
2026-09-05 20:58:42 +02:00
2026-09-06 17:17:30 +02:00