If you wish to make a web SSH client from scratch, you must first invent the network stack #

It was a lot of fun turning Brad's Taiscale-on-Wasm prototype into Tailscale SSH Console. I wrote a post for the Tailscale blog with more details (you can tell it wasn't ghost-written because it has my link-heavy style).

Almost all of the development was in the open-source repo, and started to land a few months ago. It was rather funny to have WebVM notice and start using it a few weeks ago, sort of scooping our own announcement. Their use-case (as a way to get a browser-based VM online) is something I've considered for Infinite Mac.

Brad and I did sneak in an easter egg. I spent a lot of time studying the product spec, and landed it with the commit message "add alternate progress display for SSH sessions". It was very satisfying to have it be discovered without prompting.

There was reasonable discussion of the feature on Hacker News. My favorite comment was "Having an SSH client in your browser join your VPN violates all the principles of modern computing." While not intended as a compliment, it did remind me of the rethinking best practices approach from the early days of React.

Post a Comment