Logo Lanfrica

Brillar0101/cyberrangetz

Domaine:

educationdigital infrastructure

Type de record:

software
Créateur:
Bri
Hôte:
Browser-based cyber range for Tanzania. Real Linux shells in disposable containers, hands-on red and blue labs, capture-the-flag, no VM downloads # CyberRange TZ A browser-based cyber range for Tanzania. Students get a real Linux shell in a disposable container, work through hands-on security labs, and capture flags. No VM downloads, no lab setup, nothing to install. The gap this addresses: security training in the region is mostly slideware, because running a lab environment means every student needs a machine that can host virtual machines. Containers move that cost to the server. ## Status The public site is currently the waitlist and admin console. The lab runtime runs locally through Docker Compose and is not yet exposed publicly. | Part | State | |---|---| | Waitlist site and email capture | Deployed | | Admin waitlist console | Deployed | | Lab containers | Working locally, 6 labs built | | In-browser terminal | Working locally over WebSocket | | Auth, sessions, progress tracking | Backend implemented | ## Labs | Lab | What it teaches | |---|---| | `linux-fundamentals` | Shell navigation, permissions, processes | | `red` | Offensive tooling and enumeration | | `blue` | Log analysis against a syslog source | | `recon-ping-sweep` | Host discovery against live and filtered targets | | `recon-detect-icmp` | Detecting the sweep from the defender's side | The recon labs are the interesting pair. `recon-ping-sweep` gives the student an attacker container and two targets, one that answers ICMP and one behind a filter, so the lesson is that "no reply" is not the same as "no host". `recon-detect-icmp` puts the student on the other side of the same traffic. Each lab is a `Dockerfile` plus a `setup.sh` that seeds the filesystem, and a `flag.txt` that the grader checks for. ## Architecture ``` React + Vite client xterm.js terminal ──WebSocket──┐ │ Express server ───────────────────┤ spawns / attaches JWT auth, rate limiting │ helmet, sanitize-html ▼ PostgreSQL ◄────────── per-student lab container ``` **Client** is React with React Router and Tailwind, routes lazy-loaded behind a S …