Skip to content

Syncthing

Syncthing is an application that allows you to synchronize files between multiple devices. There is support for saving sequential versions of a file using several algorithms, including a custom one, which allows you to use Syncthing for backup (not recommended). The application and protocol are published under an open license.

Syncthing can work both on a local network and on the Internet. All data is transmitted over secure TLS channels using PFS (Perfect Forward Secrecy Key Exchange) to eliminate the possibility of eavesdropping. Synchronization occurs based on the file modification date. There is support for synchronization at the block level, that is, with small changes in the file, only the changed blocks will be synchronized, and not the entire file.

Installing Syncthing

  1. Download the program from developer’s website
  2. Unpack the archive into the /opt folder
shell
cd Загрузки
sudo tar -C '/opt' -xvf syncthing*
  1. During unpacking, the folder /opt/syncthing-linux-amd64-v1.27.3 was created (for convenience, in the example it was renamed to /opt/syncthing)
  2. Run Syncthing as a normal user.
shell
cd /opt/syncthing
./syncthing

You need to configure Syncthing to start automatically as a daemon that runs when the user logs in. The example uses systemd, other options for automatic loading can be found on the project website.

  • Download syncthing.service file from GitHub and copy it to $HOME/.config/systemd/user
  • Edit the [Service] section, specifying the correct path to the executable file - change ExecStart from /usr/bin/syncthing to /opt/syncthing/syncthing. The line should look like this:
ExecStart=/opt/syncthing/syncthing serve --no-browser --no-restart --logflags=0
  • Save changes and start the service.

Внимание

Since the service will be launched as a regular user, the following command must be executed without root rights

shell
systemctl --user enable --now syncthing.service
  1. Done. Launch your browser, go to http://127.0.0.1:8384/, link devices and configure folders for synchronization.

Подсказка

To manage the service, you can use the Syncthing-GTK application

shell
flatpak install flathub me.kozec.syncthingtk

Published under the GPL-3.0+ license. The content is available under the CC BY-SA 4.0 license, unless otherwise specified.