Skip to content

r00tsh

A cinematic, terminal-only simulated web OS built with Next.js: a stateful shell with a persistent filesystem, multi-host SSH, a process table, and a mission and CTF system, styled like a compromised Linux host.

TerminalSecurityTypeScript

Overview

r00tsh is a terminal-only simulated web OS with CRT styling and a boot sequence, presented as a compromised Linux host. It is a full stateful shell in the browser: a working directory, history, environment variables, pipes, command chaining, and a persistent filesystem that survives reloads. On top of that sits a mission and CTF layer with saved progress.


What it demonstrates

  • Modeling a believable Unix shell and filesystem entirely in the browser
  • State and persistence design: a filesystem, process table, and OS state that survive reboot
  • A guided security and CTF experience wrapped in a cinematic interface

Key features

  • Stateful shell with working directory, history, environment variables, pipes, and command chaining
  • Context-aware Tab autocomplete for commands, files, and paths
  • Persistent simulated filesystem with read and write operations
  • User and permission simulation (su, sudo, chmod, chown)
  • Multi-host SSH simulation with isolated remote contexts
  • Process table with a live top mode, a service manager, and log workflows
  • Mission and CTF system with persistent progress
  • Fake package manager (rpk) and an in-terminal nano-like editor
  • Browser-storage persistence with save, reboot, and reset

Stack

  • Next.js, React, TypeScript
  • Browser storage for persistence