a port of Magic Wormhole by Brian Warner, which was previously discussed at https://lobste.rs/s/u4ltyy/magic_wormhole_get_things_from_one
I am satisfied with Nextcloud, but this looks neat. It looks synchronous, though, and I wonder if that’d be a UX impediment to adoption.
Yup. It is synchronous because it tries to establish a direct connection between the two peers. If, for example, they were on the same local network, the data would not travel out to some server only to be sent back again.
For asynchronous file transfer I love https://send.firefox.com. I also use https://upspin.io/ and a web gateway to it, but that requires some setup. I hope that changes one day.
Disclaimer: I’m author of https://webwormhole.io.
I’d like to plug ffsend here as fully featured CLI tool for Firefox Send. It has been super useful ever since I built it.
Pretty disappointed that upspin died out.
This is just ludicrously good. Thank you so so much.
It’s also a great demo of RTCPeerConnection which is really helpful!
The only one thing I can think of as feedback: the dictionary used for the keys has some difficult to spell words in it, so if the use case of “read it down the phone” is high on your priorities, it might be better to use a larger number of short words. Or maybe even present the same binary key two ways: would you rather read a phrase or a long number? Depending on language and medium, one might be easier than the other.
Thanks for the feedback. I completely agree the dictionary has to change. We use the PGP word list but some of the word combinations are quite unsavoury. I think it would also be cool to have word lists for different languages.
I’d also like to implement word completion at some point which I think might help with spelling.
I have a similar need for a readable string encoding … I started off writing a response in this box but instead it is now a “shorter words list” blog post
I really liked this blog, thanks for doing it :)
This is a very different use case than next cloud.
Is it really so materially different? My use case: I want to send a file to someone [which is too big for email] in as non-technical a way as possible.
The point of magic wormhole is easily useable e2e encryption. Nextcloud does not have e2e encryption.
Ignoring the underlying technical details and coming at it from the viewpoint of a user who doesn’t care about security (it’s not part of their use-case spec):
Wormhole means if I’m on the phone with you, I can transfer a file to you without setting anything up. We both just open the website, I tell you my code, you type it in, I drag in my file (or you drag in yours), done. Neither of us needs to have/sign up for an account or anything.
(I only glanced at nextcloud but my understanding is you need to set it up. Apologies if that’s not right.)
I concur that wormhole (web or CLI) serves a slightly different use case. That said, in fairness, Nextcloud allows you to provide single-URL (one-click) access to a file, and recipients don’t need a user account on the NC server. However, it’s true that you do need to install or set up NC on your server (or use a provider).
For future readers, (possibly including me), the other very good wormhole is croc (upside: CLI support; downside: always relays; upside: higher confidence that binary does what you think, compared to website; downside: no web support)