Commit Graph
96 Commits
Author SHA1 Message Date
root 01ffc05a11 fix: simplify team domain link (root = portal) 2026-09-23 16:38:30 +08:00
root 43ed3df557 feat: team portal with own login, SSH web terminal, targets & guide
- Portal tim punya login sendiri (password = ssh_pass, session team_token)
- SSH Web GUI: /api/team/{idx}/ssh/ws (WebSocket+paramiko) → xterm.js terminal
  (fix: ssh_to_ws non-blocking poll, chall_passwords per-container auth)
- Root <slug>.gemastik.imrnes.team → portal tim (bukan login admin)
- Host validation: /team/{idx} & /team/{idx}/guide 403 kalau host != team domain
- /api/team/{idx}/targets: daftar service tim musuh (attack target)
- guide.html: panduan SSH/attack/defense untuk peserta
- fix esc() String(s) (bug: (s||'').replace is not a function saat port number)
- set_ssh_passwords retry loop (container boot race)
2026-09-23 16:37:58 +08:00
root 4a65f24af3 chore: gitignore runtime flags + leaderboard 2026-09-23 16:18:59 +08:00
root 5e44a70049 feat: team-specific subdomains + portal tim
- create_team now takes label -> slug -> <slug>.gemastik.imrnes.team
- ensure_team_domains() writes Traefik dynamic config (gemastik-teams.yaml)
- team portal at /team/<idx> (public, shows chall ports, SSH, submit form)
- /api/team/<idx>/info + /api/team/<idx>/status (server-side receiver auth)
- UI: name inputs per team (set count -> labels), domain link in card
- delete team endpoint drops its domain
2026-09-23 16:18:11 +08:00
root 265159e9d8 feat: set per-team SSH passwords at runtime (chpasswd in shared images) 2026-09-23 15:47:22 +08:00
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
root 1ca963b2b7 feat: multi-team orchestrator - topology UI, team management, flag randomizer, public submit + leaderboard
- panel/teams.py: create/start/stop teams with isolated ports+creds, per-team receivers with CHALLENGE_PORT/CONTAINER env, flag randomization, submit validation + leaderboard
- panel/main.py: /api/teams, /api/teams/{idx}/randomize, /api/flag/submit, /api/leaderboard, /api/public/teams, /submit page
- panel/static/submit.html: public flag submission UI for teams
- receiver: _ch_port/_ch_container read .env per team, container name overrides
- .gitignore: exclude teams/, .venv, __pycache__
2026-09-23 15:14:52 +08:00
Hermes 6eb0dabb58 feat: add Gemastik A/D control panel (web UI for receiver)
- FastAPI app at panel/ proxying receiver API server-side (admin creds stay server-side)
- Login-protected dashboard: SLA status, rotate flag, restart/rollback/activate/deactivate, SSH creds, command history
- Runs as systemd service gemastik-panel.service on :18081
- Published at https://panel.gemastik.imrnes.team via Traefik
2026-09-23 14:26:26 +08:00
Hermes 7d6258e94e fix: use bookworm base for blogpost; route receiver history via :18080
- blogpost: python:3.11-slim-bullseye is EOL (apt 404s), switch to bookworm
- utils/bashrc: host port 80 is taken by Traefik/Coolify, preexec posts to :18080
- ignore receiver .venv
2026-09-23 13:54:46 +08:00
Rayhan Hanaputra 615f8aa130 fix chall itoid 2025-10-28 09:08:35 +07:00
Rayhan Hanaputra 35b4b74cbb patch sla 2025-10-28 09:04:17 +07:00
lightningitoid ffcbc26f87 updated sheesh 2025-10-27 08:30:18 +07:00
lightningitoid 6f7f8fc1e3 updated sheesh 2025-10-27 08:26:11 +07:00
lightningitoid bbeb22211e updated sheesh 2025-10-27 08:25:45 +07:00
lightningitoid fddf357524 updated sla for sheesh 2025-10-27 08:10:22 +07:00
lightningitoid f61a42fa59 updated sheesh 2025-10-27 07:46:35 +07:00
lightningitoid e7cfcbdf59 updated sheesh 2025-10-27 00:53:16 +07:00
lightningitoid 1a49e5888f fixed phew 2025-10-26 22:30:05 +07:00
lightningitoid e0d2de93f2 fixed phew 2025-10-26 22:25:05 +07:00
Rayhan Hanaputra 6b96a097c3 phew kocak 2025-10-26 20:56:37 +07:00
Rayhan Hanaputra 3b5c5966ed updated warmup 2025-10-26 20:35:19 +07:00
Rayhan Hanaputra 3bd5a4270b Merge branch 'main' of https://github.com/rayhanhanaputra/gemastik18-final 2025-10-26 18:58:38 +07:00
Rayhan Hanaputra 326f887eec fix rebuild warmup 2025-10-26 18:58:33 +07:00
lightningitoid 1307deb34e little changes 2025-10-26 15:24:04 +07:00
lightningitoid 025b2d164a little changes 2025-10-26 15:19:31 +07:00
Jonathan b570cf4c08 Merge branch 'main' of github.com:rayhanhanaputra/gemastik18-final 2025-10-26 15:10:03 +07:00
Jonathan 538526dab0 added patch notes 2025-10-26 15:09:49 +07:00
Rayhan Hanaputra fda1e6b4cd fix sla itoid 2025-10-26 14:09:44 +07:00
Rayhan Hanaputra bf897d0523 fix sheesh 2025-10-26 13:42:24 +07:00
lightningitoid b343b651f3 changed ownership 2025-10-26 11:33:41 +07:00
adzkyyy b0bff376c7 fix owner 2025-10-26 11:12:02 +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
Rayhan Hanaputra 41781f721d Merge branch 'main' of https://github.com/rayhanhanaputra/gemastik18-final 2025-10-26 09:29:26 +07:00
Rayhan Hanaputra 720941ee63 updated sla jon 2025-10-26 09:29:22 +07:00
Jonathan ab4451539c update cdn checker 2025-10-26 01:44:44 +07:00
Jonathan 8688861372 cdn checker update view post 2025-10-26 01:21:30 +07:00
Jonathan 8feab07812 update blogpost dist 2025-10-26 01:03:54 +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
Rayhan Hanaputra 33da190f37 adjusted readme 2025-10-25 23:39:08 +07:00
Rayhan Hanaputra 4dbafc3d9e added timeout scam 2025-10-25 23:33:50 +07:00
Rayhan Hanaputra 89b0bb4077 adjusted amazon-linux 2025-10-25 23:29:44 +07:00
Rayhan Hanaputra de319f6e16 test fix sla rui n itoid 2025-10-25 23:26:35 +07:00
Rayhan Hanaputra c475c63518 remove line @ pyenv.cfg 2025-10-25 23:18:12 +07:00
Rayhan Hanaputra 7e98bcc243 fix sla bini 2025-10-25 23:16:50 +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