Rust Terminal Forge
Browser-based terminal emulator that marries a React front end with a Rust-powered execution core.
Signal
Project Signal
- Status: Experimental, actively prototyping
- Focus: Secure, sandboxed terminals in the browser
- Stack: React, TypeScript, Vite, Rust backend exposed via WebAssembly/websocket bridge
- Ideal For: Builders exploring hybrid Rust + frontend architectures
Quick Links
Onboarding Checklist
- Install dependencies for the React client (
pnpm install) and start it withpnpm dev. - Build/run the Rust backend (see
server/instructions) to expose websocket connections for the terminal stream. - Configure
.envvalues for allowed commands and API keys, then open the browser UI to connect to the local server.
Highlights
- Full terminal emulation rendered via React with caret, cursor, and theme support.
- Rust backend enforces command safelists while streaming output efficiently to the browser.
- Responsive layout keeps touch bars and keyboard shortcuts usable on tablets.
Core Scenarios
- Remote labs: Offer sandboxed terminals for demos or onboarding labs without exposing SSH.
- Hybrid stack experiments: Prototype Rust + TypeScript interop patterns for other projects.
- Security research: Test enforcement of allowed commands, rate limits, and session isolation.
Documentation Map
-
Quick Start
Dev environment, scripts, and dual frontend/backend boot sequence.
-
:material-terminal:{ .lg .middle } Terminal Details
Architecture notes covering websocket streaming and security controls.
-
Known Issues
Track experimental limitations and open bugs.