Winden: magic-wormhole for the Web
November 23, 2022
Any work that I happen to do on magic-wormhole is usually done on either of the Python servers, the client, or protocol specification.
Recently some colleagues at Least Authority have released https://winden.app which is a Magic Wormhole client for the Web. It uses a Go implementation via WASM to do the wormhole parts, with a JavaScript UI on top.
Least Authority are running their own “mailbox” and “transit relay” servers. So, by default the wormhole
CLI client doesn’t work out of the box.
The servers are:
- mailbox URL:
wss://mailbox.mw.leastauthority.com/v1
- transit relay:
relay.mw.leastauthority.com:4001
Because of browser limitations, the Winden client will always use its transit relay (via WebSockets) to send data. The transit-relay that Least Authority is running supports both TCP and WebSockets (including mixing and matching) so it can inter-operate with the standard Python client.
I drop in an alias like this:
alias winden="~/dot-files/venv/bin/wormhole --relay-url wss://mailbox.mw.leastauthority.com/v1 --transit-helper tcp:relay.mw.leastauthority.com:4001"
Now I can do winden receive <the code>
to receive files from a Web client.
Note that Winden only supports sending files, not text-messages.