https://github.com/asivery/node-mass-storage
A library that lets you work with USB mass storage devices connected via WebUSB. PLEASE DO NOT USE THIS UNLESS YOU KNOW WHAT YOU'RE DOING!!!
https://github.com/asivery/node-mass-storage
Last synced: about 1 year ago
JSON representation
A library that lets you work with USB mass storage devices connected via WebUSB. PLEASE DO NOT USE THIS UNLESS YOU KNOW WHAT YOU'RE DOING!!!
- Host: GitHub
- URL: https://github.com/asivery/node-mass-storage
- Owner: asivery
- License: gpl-2.0
- Created: 2023-02-17T19:32:45.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-17T09:54:39.000Z (over 1 year ago)
- Last Synced: 2025-03-27T23:33:25.215Z (about 1 year ago)
- Language: TypeScript
- Size: 61.5 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
## The USB Mass Storage device class driver for use with SCSI-based devices
This library lets you connect to devices such as flash drives, and interface
with them with the use of SCSI commands.
Some basic SCSI commands are already implemented, namely:
- Inquire
- Read (10)
- Write (10)
- Sense
But in general, the library is meant to be a base for projects that communicate
with devices that extend the SCSI command set with their own, propretary ones.
## Disclaimers:
- **Please do not use this if your only aim is to do something basic,
like accessing a flash drive. There are much better alternatives for that.**
- Be aware that the official WebUSB implementation denies access to devices
with interfaces defined as "Mass Storage", therefore this won't work
in the browser. It will, however, work under node, thanks to libraries
like [node-usb](https://github.com/node-usb/node-usb)
## Credits:
- [libusb's xusb example](https://github.com/libusb/libusb/tree/master/examples/xusb.c)