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:

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.