This is a proof-of-concept demo of host USB DFU drivers in Javascript utilizing the WebUSB draft standard to implement USB firmware updates from the browser.
This project is based on Devan Lai's webdfu, itself containing a port of dfu-util to Javascript. Because dfu-util is licensed under the GNU GPL v2, this project has been re-licensed under the original license terms. A list of contributing authors can be found here.
WebUSB is currently only supported by Blink-based browsers, including:
The browser must have permission to access the device and the operating system must be able to load a generic driver that libusb can talk to.
On Linux, that means that the current user must have permission to access the device.
On Windows, that means that an appropriate WinUSB/libusb driver must first be installed. This can be done manually with programs such as Zadig or automatically with WCID. Victory Advanced Technologies devices are designed to perform this handshake automatically and will prompt the user with a notification if their web browser supports WebUSB banners.