root 8c061ba1b7 fix: port scheme 30000 (avoid syncthing 22000), reuse base images (no per-team rebuild), recover corrupted receiver/main.py, compose -p project isolation
- PORT_BASE 20000->30000: team1=31xxx team2=32xxx; syncthing owns 22000
- create_team replaces build: with image: services-<name> so teams reuse base images (was rebuilding 6 images per team, disk 100%)
- recovery: receiver/main.py was corrupted by bad patch (write_file with read_file format); restored from team1 copy + original GitHub
- docker compose -p teamN: project isolation so team compose doesn't overlap (was showing team1 containers for team2)
2026-09-23 15:44:53 +08:00
2025-10-10 22:18:06 +07:00
2025-10-10 22:18:06 +07:00
2025-10-10 22:18:06 +07:00
2025-10-25 23:39:08 +07:00
2025-10-25 23:29:44 +07:00

Gemastik XVIII Cybersecurity Final Round - Attack Defense Repository

challenges

challenges author category
blogpost keii web
cdn keii foren
phew itoid crypto
sheesh itoid crypto
carbeat rui pwn
warmup hanz0 warmup

how-to-run

sudo python3 starter.py
S
Description
Attack Defense Platform — multi-year Gemastik A/D CTF orchestrator + panel + services (GEMASTIK XVIII, XVI, XVII)
Readme
20 MiB
Languages
JavaScript 52.3%
CSS 13.5%
Python 11.6%
HTML 10.1%
Less 3.1%
Other 9.3%