19 Commits
Author SHA1 Message Date
MythEclipse c6fd9ec268 feat: challenge registry-driven platform + XVI/XVII imports + admin toggle + domain rename
- Rename repo/domain: attack-defense-platform / attackdefense.imrnes.team (all refs replaced)
- challenge_registry.json: single source of truth (28 challs across gemastik18/xvi/xvii)
- teams.py: registry-driven CHALLENGES, set_challenge_enabled, sync_challenge_runtime
  (apply enable/disable to live teams: build/up or stop/remove + receiver restart)
- compose_gen.py: render per-team compose from canonical per-challenge templates
  (image reuse, per-team ports 30xxx, flag mounts, passwords)
- gen_canonical_composes.py: canonical docker-compose.yml for all services
- import_new_challenges.py: import XVI/XVII services + EOL base image fixes
  (debian:buster→bookworm, node:14→20, python:3.7-slim→3.11)
- receiver: xvi package (10 checkers) + xvii package (12 generic checkers),
  Challenge base reads PASSWORD_<team_port> from env; gen_receiver_main.py
  generates per-team main.py from registry
- main.py: /api/challenges returns full registry; PATCH /api/challenges/<name>
  toggles enabled + applies to live teams
- index.html: 🏗️ Challenge Manager tab (toggle per challenge, grouped by set)
- SLA bonus now dynamic (all enabled challenges, not hardcoded 6)
2026-09-25 14:04:33 +08:00
root 877f14ecf3 fix: editTeam endpoint + leaderboard live name resolution + domains in team set + apt-insecure.conf in all service dirs 2026-09-23 21:50:16 +08:00
root 029b0f809a tools in all containers + apt GPG fix for 2026 clock + target dropdown fixed
- all 6 Dockerfiles: vim curl wget netcat git python3-pip now installed
- apt-insecure.conf (AllowInsecureRepositories) copied into images so
  participants can apt-get install despite expired Ubuntu/Debian GPG keys
- warmup base ubuntu:20.04 (EOL, GPG expired) -> ubuntu:24.04
- installed vim+git live into all 18 running team containers
- team portal target dropdown reloads after login (was empty pre-auth)
- attack log endpoint + A/D submit (attacker vs target) verified e2e
2026-09-23 18:54:03 +08:00
root 24dbf0a662 draggable topology + attack visualizer + tools in containers
- topology nodes draggable (pointer events, SVG transform), layout hint shown
- attack visualizer: /api/attacks logs attacker->target events; red pulsing
  dashed arcs on recent attacks (60s hot), ⚔ counts ok/fail
- submit_flag now takes attacker_idx vs target_idx (A/D semantics); UI has
  target dropdown (enemy teams), leaderboard records target
- containers get vim+curl+wget+netcat+git+pip3 (Dockerfiles blogpost/cdn/
  phew/sheesh/warmup); warmup base ubuntu:20.04 EOL -> 24.04
- team portal: target dropdown refreshed after login (was empty pre-auth)
2026-09-23 18:05:44 +08:00
Rayhan Hanaputra 615f8aa130 fix chall itoid 2025-10-28 09:08:35 +07:00
lightningitoid e0d2de93f2 fixed phew 2025-10-26 22:25:05 +07:00
lightningitoid b343b651f3 changed ownership 2025-10-26 11:33:41 +07:00
lightningitoid 2ad2b5f2cd updated sigalarm time 2025-10-26 11:03:48 +07:00
lightningitoid 0d269a78df updated sigalarm time 2025-10-26 11:01:10 +07:00
lightningitoid 200d63ef74 updated sigalarm time 2025-10-26 10:12:17 +07:00
itoid 91825c2c0d Add files via upload 2025-10-25 17:44:15 +07:00
itoid 31cec50143 Delete services/phew/dist/chall.py 2025-10-25 17:44:04 +07:00
itoid 27d12eb6c4 Add files via upload 2025-10-25 17:43:32 +07:00
itoid 616b85fbf7 Delete services/phew/src/chall.py 2025-10-25 17:41:38 +07:00
rafliher 41a170543b docker compose bugfix 2025-10-25 14:18:49 +07:00
Rayhan Hanaputra 604bd24b04 added warmup chall 2025-10-25 04:56:33 +07:00
itoid 6d9816d191 Add files via upload 2025-10-21 20:57:57 +07:00
itoid 002f997641 Delete services/phew directory 2025-10-11 22:45:10 +07:00
itoid f50c2ded6e Add files via upload 2025-10-11 13:19:20 +07:00