Peer-to-peer file sharing

Magic Wormhole

Magic Wormhole [6] is a simple command-line utility for transferring files or directories to another computer on the LAN. The software is available in the repositories of most popular distributions and can be conveniently installed with the corresponding graphical front ends.

Since the program is still under active development, the developers also provide a list on the project's GitHub page showing which distribution ships which version of the program. In addition to the packaged versions in the software archives, the source code and a snap package are also available for download. Magic Wormhole uses PAKE encryption for file transfer and creates temporary relays by default.

Using Magic Wormhole

Magic Wormhole uses different file transfer parameters on the source and target systems. On the source machine, you type

wormhole send FILE

while on the destination, you type:

wormhole receive

The software then asks the target computer for the code, which it generates automatically for secure data transmission in line with the PAKE standard. The target computer only contacts the source machine after the code is input. The user on the target computer is then asked if they want to receive the transferred document. If approved, the tool stores the file on the target computer. While doing so, it shows a progress bar in the terminal window (Figure 11).

Figure 11: Magic Wormhole works without any bells and whistles.


Magic Wormhole not only transfers individual files, but also complete folders and directory hierarchies if desired. To do this, simply enter the directory to be sent or the root folder of the directory tree on the source computer. The software recognizes that the source is not a single file and generates a ZIP archive from the folder or directory tree. It then generates the code for entry on the receiving computer.

After entering the receive command, Magic Wormhole first transfers the ZIP archive to the target computer, where it is unpacked on receipt, including all originally existing subfolders, and stored in the home directory of the logged-in user. If a folder with the same name already exists on the target computer in the storage directory, the file transfer aborts with an error message. If you have several folders with the same name, you should rename the directory to be transferred or copy it to a new folder before sending.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • NitroShare

    This cool tool helps you exchange files and directories between computers with Linux, Mac OS, Windows, and Android.

  • Syncthing

    Syncthing is a free alternative to BitTorrent Sync for synchronizing data on computers and mobile devices.

  • Syncthing

    If you need a cloudless solution for syncing data across multiple devices, Syncthing could be just the thing.

  • Tool Tips

    We review htop 2.0.1, Metastore 1.1.0, fgallery 1.8.1, UniversalCodeGrep 0.2.1, hping 3.0.0, and NitroShare 0.3.1. 

  • Filesharing to go

    If you want to exchange files over the local network, you do not necessarily have to set up a file server such as Samba. A number of handy tools let you drag and drop to send files.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More