Peer-to-peer file sharing

Native Application

Syncthing's native instance offers a similar range of functions to the web interface, but with a slightly different operation. The graphical front end has just two window segments, in which the folders to be synchronized are displayed on the left, while the clients involved appear on the right along with some of their statistical data (Figure 7). Actual operation is via the gear icon in the top right corner of the titlebar.

Figure 7: The native application offers almost the same range of functions as the web interface.

Selecting Add Shared Folder from the gear icon's context menu lets you add new folders, while Add Devices adds new computers. Some of the setup dialogs are far clearer than in the web interface. For example, when creating a new folder, the synchronization intervals can also be defined in the same menu. File versioning, including the number of file versions to be kept, and permissions handling are also configured in this dialog.

Selecting Service Settings lets you define the intervals at which Syncthing checks the computers involved for content to be synchronized. Here you can also change the bandwidth for the data transfer and the ports the service uses.


Warpinator [5], which is developed by Linux Mint, also performs peer-to-peer file transfers and comes with a graphical interface. The application, written in Python, can be installed directly using the Linux Mint 20 package manager. For other distributions, there is a Flatpak, but there are no native binary packages as of yet. Since Warpinator has numerous dependencies that not all distributions resolve in terms of the required versions, compiling from the source code can be difficult.

After the install and a subsequent reboot, a launcher appears in the menu hierarchy of the respective desktop. Clicking on the launcher opens a spartan-looking window (Figure 8). A scan of the intranet on which Warpinator is running will display all found computers in this window, along with the matching IP addresses and connection states.

Figure 8: Warpinator does not require any training.

To find the settings, click on the hamburger menu top left in the titlebar. Select Settings to open a dialog where you can use sliders to adjust many options, including defining the memory path and specifying when the program should display security prompts. From here, you can also enable Warpinator to automatically start at boot time.

Transfer Awareness

The program creates the Warpinator/ folder in the home directory as the default storage path for the data to be preserved; the path can be changed in the configuration dialog if required. To start sending data, using Warpinator's program window on the source machine, click on the computer to which the content is to be transferred. Warpinator then switches to a list view named File Transfers that lists the data to be sent.

If you now click on the Send files button at the top right corner of the window, a selection menu appears, where you can click to select the content to be sent. The selection menu will show the last files edited on the system.

To transfer any other content, click Browse… at the bottom of the selection menu, which opens a file manager where you can now select individual files and folders. After the transfer, Warpinator displays the files indicating their file or folder size; small icons also appear with each entry, indicating whether the content is multimedia or individual files and folders. On the target machine, the program also transfers the files to the overview, but displays a message in the system tray indicating the impending transfer and asks for transfer approval (Figure 9).

Figure 9: On the target machine, Warpinator shows a transfer waiting for approval.

After initiating the transfer by granting the appropriate permission on the target computer, Warpinator works through the list, displaying a progress bar after each entry showing the data transfer rate and how long the transfer will take to complete. This display is also visible on the target machine.

On the target computer, the user can immediately view the transferred data by clicking the folder icon displayed on the right in the file list. The application will then open the destination folder. To stop a transfer in progress, click the Stop button to the right of the matching list entry on the source machine. This not only ends the transfer, but also shows two new buttons for a later transfer and for deleting the entry. On the target machine, Warpinator only signals the cancellation of the transfer (Figure 10).

Figure 10: Notification of a cancelled transfer on a target machine.

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