About this template
What this is
netsim-template is a starter template for building browser-based network simulation labs. It ships a pure-frontend stack — Vue 3 + VitePress + a Rust/WebAssembly network engine — plus one canonical example challenge. Fork it, fill it with your own challenges, and deploy as a static site.
The template is intentionally minimal. You will not find a pre-built curriculum here; you will find the framework on which you can build one.
What this is not
- Not a finished course. The 11 challenges, concept pages, and teacher guides that previously lived here have been removed in favour of a single canonical example. Downstream forks supply the actual course content.
- Not opinionated about content. The challenge DSL accepts any topology, protocol mix, and difficulty progression you choose.
- Not language-locked. English is the primary locale; Traditional Chinese ships as a working secondary; add more locales via VitePress's native
localesconfig.
What ships in the box
| Component | What it does |
|---|---|
| VitePress shell | Documentation site framework with native multi-locale support |
| Vue 3 components | Interactive simulator UI: terminal, topology canvas, traffic log, flag submission |
| Rust + WASM engine | Real-protocol simulation (Ethernet/ARP/IPv4/TCP/HTTP) compiled to WebAssembly |
| Challenge DSL | YAML-based config schema for authoring new challenges (config.yaml + index.md per challenge) |
| Validation scripts | pnpm validate:challenges enforces challenge structure on commit |
| QA pipelines | pnpm test, pnpm docs:build, pnpm qa:site-smoke for build / unit / smoke gates |
Getting started
- 📖 Guide — Learn how to operate the SimNet UI (terminal, topology, traffic log, defense / repair tools)
- 🏴☠️ Example challenge — The canonical
01-ethernet-basicsreference and the authoring quickstart - 🔧 Developer guide — Architecture, the WASM engine, and how to add your own challenges
License
The template is released under the Educational Community License 2.0 (ECL-2.0), an Apache-2.0-style license tailored for the educational community. You may freely use, modify, and redistribute it.