Next time you have a file you want to send to a friend but you don’t fancy the hassle of using something like Dropbox, try Wormhole instead.
Wormhole is a fast, free and secure way to send files to Linux and macOS users.
A small python app that is truly cosmic: you open a wormhole on your desktop using the Terminal app and send a file through it. You can send text, files and even folders (zipped) through Wormhole.
Someone on another computer anywhere else in the world can then open a wormhole on their machine, punch in a code, and receive the file you sent.
What’s especially neat is that the Wormhole code for receiving files are easier to remember and type – no indecipherable mix of letters, numbers, and obscure characters you spend ages squinting at your keyboard to locate, but numbers and pronounceable words.
I like that.
To note, Wormhole codes are single-use only. One a code has been used successfully or not it’s done with; you can’t send a single code to multiple people — this is an app, not a file-sharing server!
How secure is Wormhole?
Security is paramount, so the question how safe this tool is is a good question. Thankfully, the Wormhole Github page answers it 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.”
Want to learn more?
This talk from PyCon 2016 clarifies the process from end to end — and no: it doesn’t require a degree in astrophysics to make sense of!
Install Wormhole on Ubuntu
You can install Wormhole in Ubuntu easily.
Older versions are in the repos on Ubuntu 18.04 LTS and later (e.g., sudo apt install wormhole).
For the latest version you can install the Wormhole snap from the Snap Store by searching for ‘wormhole’ in the Ubuntu Software or App Center to find it.
Alternatively, install the Wormhole snap from the command line:
sudo snap install wormhole
After a 12MB download you’re ready-set to fling files, folders and whatever else you fancy through wormhole like a less cheesy John Crichton!
How exactly?
To send a file you use this command:
wormhole send ~/path/to/file
This will generate a code. Give that code to whomever is hoping to receive the file.
To receive a file using Wormhole, they (or you, if it’s a second device) run:
wormhole receive codeXYZ
Both sender and recipient see notifications in the terminal during and after the file transfer. This means everyone knows if things have sent successfully.
For more information on how to use Wormhole to send files see the official project page on Github.
Thanks Popey
