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
Jonathan 538526dab0 added patch notes 2025-10-26 15:09:49 +07:00
Jonathan 2f35942f01 patched blogpost, update cdn dist 2025-10-26 00:58:49 +07:00
keii 8fda0dda9d patch cdn webservice 2025-10-26 00:29:39 +07:00
rafliher 0d216d77eb try checker 2025-10-25 14:48:20 +07:00
Jonathan 08c30298c2 add sla cdn 2025-10-19 18:42:15 +07:00
Jonathan 56ff4ca63b update cdn docker 2025-10-11 13:17:56 +07:00
Jonathan efbd3ecf52 deleted leftover payloads 2025-10-11 13:10:38 +07:00
Jonathan eb4f9ad157 update cdn 2025-10-11 13:08:07 +07:00
Jonathan 3857f0bdc0 rev blogpost 2025-10-11 12:42:26 +07:00
Jonathan 6c5b9cfc24 Merge branch 'main' of github.com:rayhanhanaputra/gemastik18-final 2025-10-11 12:03:21 +07:00
Jonathan 688e2ff4e6 add exploits for cdn and blogpost 2025-10-11 12:03:09 +07:00
Rayhan Hanaputra d42b472b3e removed old files 2025-10-11 11:59:21 +07:00
Jonathan db2100c631 delete uploaded on cdn 2025-10-10 22:38:26 +07:00
Jonathan bb3f6e74aa refractor blogpost and cdn chall 2025-10-10 22:37:11 +07:00
Jonathan 2d51b73a1e add blogpost and cdn chall 2025-10-10 22:34:43 +07:00