Next time you a file you want to send to a friend but don’t fancy the hassle of using Dropbox, try Wormhole.

It’s a fast, free and secure way to send files to Linux and macOS users.

For such a small python app it is truly cosmic: you just open a wormhole on your desktop in a Terminal and send a file through it. Then someone on another computer, anywhere else in the world, can open a wormhole on their end, punch in a code, and receive it.

What’s especially neat (I don’t know if you can see it in the screenshot) is that the Wormhole codes you share actually make some sort sense. Yup, there’s no indecipherable car crash of ASCII characters here but rather short, human-pronounceable, simple-to-enter codes based on a string of numbers and some legible words.

Wormhole codes are single-use only, so once it’s used successfully (or not) it’s done with.

You can send text, files and even folders (they will be zipped up) using Wormhole.

How Secure Is It?

That’s a good question, and one that the Wormhole Github page answers both admirably and at length.

A short surmise:

“The wormhole tool uses PAKE “Password-Authenticated Key Exchange” [that] can then be used to encrypt data. wormhole uses the SPAKE2 algorithm.”

And to send and receive the file”

“The wormhole library requires a “Rendezvous Server”: a simple WebSocket-based relay that delivers messages from one client to another. This allows the wormhole codes to omit IP addresses and port numbers. The URL of a public server is baked into the library for use as a default, and will be freely available until volume or abuse makes it infeasible to support.

The file-transfer commands use a “Transit Relay”, which is another simple server that glues together two inbound TCP connections and transfers data on each to the other. The wormhole send file mode shares the IP addresses of each client with the other (inside the encrypted message), and both clients first attempt to connect directly. If this fails, they fall back to using the transit relay.”

Still don’t understand? Perhaps this talk from PyCon 2016 will help clarify what’s going on:

Install Wormhole on Ubuntu

You can install Wormhole from the Ubuntu Software app on Ubuntu 16.04 LTS and above. Just search out ‘wormhole’ or click this button:

Install Wormhole Snap App from Ubuntu Software

If you’re using a different Snap supported Linux distribution you can install the app from the command line like so:

sudo snap install wormhole

After a quick 12MB download you’ll be ready-set to fling files, folders and whatever else you fancy through the wormhole, like you’re a less cheesy John Crichton!

To send a file run:

wormhole send ~/path/to/file

Pass on the generated code to you intended recipient.

Then they, to receive the file, will run:

wormhole receive codeXYZ

You both get notification(s) in your terminal during and after the file transfer is complete, or if there are any errors.

For more information on how to use Wormhole to send files you can check out the official project page on Github.

Thanks Popey