This is moderately tested. Although no issues have been discovered, I'm not responsible if anything goes wrong!
This does NOT work on Windows due to a limitation in the Chrome implementation of WebUSB (and probably other reasons!)
This does NOT currently work on any browser but Chrome, because they don't implement WebUSB.
On Linux, you might get an access denied error! If you do, you can try creating a file at /etc/udev/rules.d/50-switch.rules
With the following contents:SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0955\", MODE=\"0664\", GROUP=\"plugdev\"
Hekate for 4.x has not been tested, as I do not have a 4.x switch. However, all other payloads will be tested as they are uploaded.
This has been tested and appears to work on Linux, OSX, Android (unrooted) and Chromebooks. Your mileage may vary.