Peer-to-peer file sharing

Setting up Syncthing

Syncthing's installation routine creates three entries for Syncthing in the desktop environment menu hierarchy. Besides a launcher for the actual program, which then runs in the background, a second launcher activates the GTK-based GUI. A third launcher runs Syncthing in the browser.

The developers follow a very unusual operating concept: Syncthing is configured in the web browser the first time it is called up. First you start the actual program and then, using the appropriate launcher, you open the web browser with the application's configuration interface (Figure 5).

Figure 5: Syncthing can be configured conveniently in the browser.

In the background, the software generates the required certificates and creates the Sync/ folder in your home directory, the contents of which it will then synchronize with other computers later on. In the graphical interface in the browser, these folders are preconfigured as the Default Folder located on the window's left. On the right, Syncthing lists various statistics for the system and data transfers.

Syncthing communicates with individual computers via a unique ID that is set when the software is first launched on each computer. You can discover your device's ID by clicking the Actions button in the top right corner of the browser window and selecting Own ID from the context menu that opens. A QR code and the system's identifier, comprising a total of 56 alphanumeric characters, now appear in a separate window.

To synchronize data between your computer and a remote computer, you also need to know the remote system's ID. To integrate the second computer's ID, click Add Device bottom right in the web interface and enter the remote system's ID in the window that opens. You do not need to type in the complete ID: All computers running a Syncthing instance share their IDs on the intranet. They all appear with their IDs in the computer's web interface, letting you select a remote station with a simple mouse click.

To replace the somewhat cryptic default name of the remote system with a more meaningful name, you just need to type a name in the Device Name field. The remote computer is then displayed with the new name. After clicking the Save button, the newly detected device is displayed bottom right under Remote Devices.

New Folders

Click on Add Folder to add more folders to the synchronization routine. You only need to do this on one of the two devices to be synchronized. Syncthing detects that a new folder has been created on one system and asks the connected system if the new folder should be added there, too. After clicking the Add button, it will add the new folder to the system and synchronize it automatically (Figure 6).

Figure 6: Syncthing's interface provides an overview of the folders to be synchronized.


To synchronize the files that exist in a folder with the second computer, you first need to tag the corresponding source folder as a folder to be shared. To do this, click on the Edit button under Remote Devices below the device list. In the window that opens, select the target system and then go to the Sharing tab, where you will find Default Folder.

If you have specified additional folders that you want Syncthing to include, they will also be in the list. To enable a folder to be synchronized, check the box for the corresponding directory. After a short delay, the application will now start synchronizing the two folders, with a corresponding progress indicator appearing above the synchronizing folder under Folders. To the right of the folder name, Syncthing also displays the transfer rates for upload and download. When the sync is complete, the folder's status changes to Up to Date to the right of the folder name.

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