5 ms·
Show HN: A Unix environment in a single HTML file (420 KB)
I built a browser-native Unix environment - shell, filesystem, git, npm, node, vi, 200+ commands. Everything is JavaScript running client-side with IndexedDB for persistence. The whole thing builds to a single static HTML file (~420 KB gzipped).
Try it: https://shiro.computer https://shiro.computer
For interactive demos showing npm install, node execution, and git workflows -- running live in Shiro, not recordings -- see https://shiro.computer/show https://shiro.computer/show
Source: https://github.com/williamsharkey/shiro https://github.com/williamsharkey/shiro
P.S. `curl -fsSL https://claude.ai/install.sh https://claude.ai/install.sh | bash` works. You can run real Claude Code and it can use Shiro's tools like a normal Linux system.
- richmans 7mo agoI would not call this a unix environment. It does not run elf binaries. It does not have a kernel. All of the commands are vibecode-reimplementations in typescript.
- cf100clunk 7mo agoYep, the title of the OP is misleading that way.
- deleted 7mo ago[deleted]
- reconnecting 7mo ago> I built a browser-native Unix environment On GitHub, it says Claude built it.
- deleted 7mo ago[deleted]
- q3k 7mo ago[flagged]
- nerdralph 7mo agoThe gcc stub surprised me: user@shiro:/tmp/hn$ cat main.c #include <stdio.h> int main() { printf("Hello\n"); } user@shiro:/tmp/hn$ cc main.c -o main; ./main Hello, World! user@shiro:/tmp/hn$ cat main #!/bin/sh echo 'Hello, World!'
- TekMol 7mo agoP.S. `curl -fsSL https://claude.ai/install.sh | bash` works. You can run real Claude Code and it can use Shiro's tools like a normal Linux system. Are you sure? I am getting this: user@shiro:~$ curl -fsSL https://claude.ai/install.sh | bash Installing Claude Code... Installing packages globally... Resolved 1 package(s): + @anthropic-ai/claude-code@2.1.45 22 files extracted Created 1 bin symlink(s) in /usr/local/bin Packages installed globally. Claude Code installed successfully! Run: claude user@shiro:~$ claude Now I get what looks like errors: anonymous/q2<@https://shiro.computer/ line 991 > AsyncFunction:57:43 y/<@https://shiro.computer/ line 991 > AsyncFunction:9:688 ...and some more like this... And then I am back on the normal command line.
- dTal 7mo agogcc seems to be a funny stub that generates an "executable" that prints "Hello, World!" if the input file fuzzy-matches a hello world, and otherwise prints nothing. Seems to be a few simple regexes: to "compile" you need a "main(" with either int or void before, and to trigger the hello world behavior you need printf( and a "hello" inside quotes. But that seems to be it: void main( //printf(" hello"