Browsix is a framework that bridges the considerable gap between conventional operating systems and the browser, enabling unmodified programs expecting a Unix-like environment to run directly in the browser. Browsix does this by mapping low-level Unix primitives, like processes and system calls, onto existing browser APIs, likeWeb Workers and postMessage.
Browsix brings all of these abstractions into unmodified browsers, and is isolated and secured to the same extent any normal web page is: at the level of the browser tab.
- Processes are built on top of Web Workers, letting applications run in parallel and spawn subprocesses. System calls include
- Signals with
kill(2)and signal handlers.
- Shared Filesystem accessible from multiple processes.
- Pipes are supported with
pipe(2)enabling developers to compose processes into pipelines.
- Sockets include support for TCP socket servers and clients, making it possible to run applications like databases and HTTP servers together with their clients in the browser.