File sharing and syncing with Syncthing
In this article, we are going to discover what Syncthing is, and how we can use it.
But first let us see what different kind of services can be used to share and sync files.
Centralized, Decentralized and Distributed.
On a centralized model, most of the processing is done by a central server. All nodes are dependent of the central server for access to the data. Dropbox, and Google drive are good examples of centralized system use.
A decentralized model is composed of a group of decentralized computer systems that are workings in a bigger computer network, held together by nodes of equivalent importance and capability. These systems are capable of running independently of each other, example of systems that use the decentralized system: ownCloud, and Seafile.
As for the distributed model, it uses several computers connected to each other working together to achieve a mutual task, the computers in question can be either physically close in the same LAN or connected visa a WAN. Various software components need to be installed in each of the computers contributing to the operation. With this type of system, we gain in scalability more machines can be easily added whenever need be, and redundancy since all the machines offer the same service, if one of the machines is down the tasks at hand are unaffected. Examples: Resilio Sync, and Syncthing.
What is Syncthing?
Syncthing is a software that allows to share files between devices, it is totally opensource and free, allowinf its freely at its full potential and in all security since it uses TLS encryption for all communication securing all communications. It is multiplatform allowing available on Linux, Windows, OS X, Solaris, and even Android.
It allows to sync the files from a device to another directly without having to pass by and intermediary, for example if you use Dropbox your files will transit by the company Dropbox which will be able to see what we are transferring, and they control how your files are transmitted over the internet.
So, using Syncthing allows to gain in Security and privacy. Security is ensured by encryption, and authentication since only nodes that you specifically allow can connect to your cluster, and finally privacy, none of the data that we sync is stored anywhere than our devices, there is no central server that contains everything and that can be breached.
Also, the fact that it is open source we get to see the source code and check is there are any hidden loopholes, and we get understand how the Synching protocol works.
How does it work?
It’s quite simple. To be able to synchronize files and folders between several devices Syncthing needs to be installed on each device.
Then a shared folder must be defined on each of the devices.
I will publish another article showing how to install and setup Syncthing on several devices.