Reviving old scanners with an in-browser Linux VM bridged to WebUSB over USB/IP

Your dusty old scanner might live again—but the comments turned into a tech food fight

TLDR: A new browser app can make many old USB scanners usable again without digging up ancient software or machines. Commenters were split between calling it brilliant, overcomplicated, or unnecessary—and one critic turned the thread spicy by raising open-source license complaints.

A developer built yes-we-scan.app, a wild little web app that can bring old USB scanners back from the dead right inside your browser. In plain English: instead of forcing you to dig up an ancient computer or install old drivers, the site spins up a tiny pretend computer in a web page and talks to the scanner for you. For anyone with a relic hiding in a closet, that’s catnip. One commenter even popped in with the classic “this was on Show HN already,” because of course no internet launch is complete without someone policing the timeline.

But the real action was in the reactions. One camp was impressed by the sheer audacity of it all: old hardware, modern browser, somehow it works. The other camp basically said, why do all this when you can just buy VueScan? That sparked the familiar hacker clash between “beautiful weird invention” and “practical solution that already exists.” Then came the spicy part: an open-source complaint landed like a record scratch, with one commenter accusing the creator of using code without properly releasing required parts and hinting at possible legal action. Suddenly this wasn’t just a feel-good retro rescue story—it was browser wizardry with a side of licensing drama.

And yes, there was also a wonderfully skeptical reaction asking whether running a whole mini Linux system in a browser just to scan a page might be, technically speaking, a bit much. Which is exactly why the internet can’t stop staring.

Key Points

  • yes-we-scan.app is a browser-based application created to make older USB scanners usable on modern systems.
  • The app runs SANE on Alpine Linux inside a v86 x86 virtual machine executing in the browser.
  • A custom C program exports scanner settings as JSON and streams scan data from the VM to the browser.
  • The system bridges scanner communication using USB/IP, tcpip.js with lwIP, and the browser’s WebUSB API.
  • The author tested the app with a CanoScan LiDE 100 and says it may work with hundreds of scanner models from multiple brands.

Hottest takes

"I could also just go buy VueScan" — Aloha
"seems... like a lot" — jdub
"you haven't open-sourced the previous code, as the license requires" — ValdikSS
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.