BashLand is offline
The terminal server was shut down after the course finished. Nothing is running here anymore.
What it was
A browser-based Linux terminal for teaching bash and git. You opened the page and immediately had a real shell — no install, no account, no setup. It was used for a 4-hour intensive built around a real bioinformatics dataset (the Synechocystis sp. PCC 6803 proteome).
How it worked
browser
| HTTPS + WebSocket
v
nginx TLS, password gate, proxy
|
v
ttyd one shell per connection
|
v
docker run --rm a fresh container per session
Every visitor got their own container. It existed only while the tab was open — close it and the container was destroyed along with everything in it. Nothing persisted, nothing was shared between people.
Why it was built this way
- Ephemeral — a fresh container per session meant students could break anything without consequence, and nothing leaked between them.
- Sandboxed — each container ran with dropped Linux capabilities, memory and process limits, and a network filter that allowed only DNS and HTTPS out.
- No accounts — a shared class password, no personal data collected, no IP logging.
- Reproducible — the whole server rebuilt from a single script, so it could be created for a class and destroyed after.
Which is exactly what happened. The server was created for the course and deleted when it ended.
Still available
- Command reference — the bash & git cheatsheet from the course
- github.com/merv1n34k/bashland — the full source: Dockerfile, nginx config, slides, instructor notes
- github.com/merv1n34k/bashland-hard — the hard-mode challenge
Everything needed to run BashLand again is in the first repository. One script on a fresh Ubuntu server brings it back.