humphd / browser-shell

A Linux command-line shell in the browser

Home Page:https://humphd.github.io/browser-shell/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

browser-shell

A Linux shell in the browser via forked v86, with bi-directional POSIX filesystem (via Filer) shared over Plan 9 resource sharing.

The Filer filesystem in the browser is mounted in the Linux VM at /mnt.

Demo

You can play with the online demo, or watch a screencast on YouTube.

The first time you boot, it needs to download the ISO, and do a cold boot. After that it will cache the state of the VM in Cache Storage, and reboots will be nearly instant (like resuming your laptop form sleep).

The shared filesystem's root dir (/) is mounted in /mnt in the Linux VM. You can open the console and get access to fs, path, and Buffer if you want to try doing things from JS with the filesystem; just remember that your files are rooted in / vs. /mnt in JS.

Below, I demonstrate creating some files and directories from Linux, then accessing them via JS and the console, and vice versa. Pretty much anything that Linux can do with a filesystem should work, including working with files, directories, symlinks, and all the usual I/O commands. File a bug if you find something that doesn't work.

About

A Linux command-line shell in the browser

https://humphd.github.io/browser-shell/

License:MIT License


Languages

Language:HTML 58.6%Language:JavaScript 35.2%Language:CSS 4.7%Language:Shell 1.5%