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

yes-we-scan.app

107 points by gmac 3 days ago


ValdikSS - 13 hours ago

It's a great concept, but you haven't open-sourced the previous code, as the license requires, and you're yet again apologizing in this project as well, without any code.

Pretty sure you have my code in both projects. I contribute first and foremost to make printers and scanners to work reliably, but also keeping in mind the idea that I could at least try to apply legal actions for companies which violate the license rules one day, as a CUPS/SANE/printer/scanner drivers contributor.

Printer companies generally don't like that: https://xcancel.com/ValdikSS/status/1745898408693371125#m

Cool project though! Hope you can publish the source one day so we can all benefit from it in the future!

butz - 19 minutes ago

Overengineering aside (which is pretty legitimate way of doing hobby tech), why not build SANE on WASM? And maybe interfacing with airplay scanners could be even easier?

winkelmann - 5 hours ago

FYI, if the goal is just to use something like an old Canon LiDE scanner (pretty common/cheap devices with no more driver support) on macOS: SANE runs natively and works great: https://formulae.brew.sh/formula/sane-backends (comes with `scanimage` CLI tool).

hommelix - 3 hours ago

Sane works out of the box on Linux (at least in my limited experience). There are front ends for Windows and MacOS [1]. No need for a browser in the loop. The browser is becoming more and more Emacs... An operating system that happens to be a browser.

[1] http://sane-project.org/sane-frontends.html

IdiotSavage - 8 hours ago

With AirSane [1], you can make scanners integrate nicely with macOS. This page [2] has a writeup (in German) how to set it up on a RaspberryPi. On non-macOS devices you can still use the web interface, as demonstrated by the "yes-we-scan" app.

[1] https://github.com/SimulPiscator/AirSane

[2] https://archive.ph/1D2EQ

jdub - 12 hours ago

Hrm, yes-we-scan and printervention are built on SANE and CUPS respectively, which makes sense. But running them in a whole wasm-emulated Linux kernel and userland seems... like a lot.

raffraffraff - 10 hours ago

I used a raspberry pi 3b+ and an ancient ipad to turn my Canon A3 scanner into a network scanner with an LCD interface (which also just points to the phpscan web page). I tuned to html / js / css to fit the ipad perfectly and only show options that worked with my specific scanner.

keepamovin - 8 hours ago

Such a cool project. I love seeing what the web platform can do and particularly like the hardware integration capabilities of these type of APIs. I remember playing with a Web USB ADS-B scanner that plugs into your SDR.

Interestingly, it was better executed than many of the downloadable native apps.

hard_times - 7 hours ago

The idea of emulating a lightweight Alpine Linux in the browser to make this work, without overengineering don't-know-what custom niche solution is definitely intriguing.

I wonder how much work would it be to port a given Linux USB driver to WASM alone?

Aloha - 14 hours ago

I could also just go buy VueScan, which is cross platform and great.

erasmoss - 7 hours ago

Reminds me of building a tiny Linux VM to access the APFS share of our Mac-centric uni from Windows. Other students just got a MacBook..

ocdtrekkie - 11 hours ago

I don't want this enough to subject myself to WebUSB, but I am particularly fond of a no-longer-supported flatbed scanner I own which powers entirely off the USB port. It was super handy if you wanted to scan to like a tablet in a car or something, as long as you had a USB-A port to work with.

brnt - 7 hours ago

I've plugged in many a scanner (or printer) into my Linux machines, and they always just werk. Which this project probably makes use of: SANE. I think there's even a project porting SANE to Windows (because that's I guess what this is aimed at: scanners that never got a WHQL driver).

DeathArrow - 11 hours ago

Can this be made into a generic support app for old devices, not just scanners?

indianbunghole - 3 hours ago

[flagged]

brudgers - 2 days ago

The ShowHN a few days ago, https://yes-we-scan.app/