Syncthing Applicable Scenario
Syncthing is mainly used for file synchronization (backup)
between two or more computers. For example, you can set all the required folders on the working computer to be synchronized and shared with your home computer. Then you are working with any modification
done on the computer, everything will be synchronized to the home computer in time, the benefits of doing this:
1. First, you can back up
to avoid the data loss
caused by various accidents on the working computer;
2. Second, when you get home, you can continue working on your home computer. Any changes you make will be automatically synchronized to your work computer. The two computers are always in sync!
Introduction to Syncthing
- Syncthing official website: [https://syncthing.net/] (https://syncthing.net/)
- Syncthing official github: https://github.com/syncthing/syncthing/
The Syncthing core program is a terminal program that implements a web server that can be accessed and configured through a browser. - If you need a regular installer for more convenient, rich, and introductory settings, you can download the Synching GUI with interface:
- Windows tray utility, filesystem watcher & launcher: SyncTrayzor
- macOS application bundle: syncthing-macos
- Cross-platform GUI wrapper: Syncthing-GTK
- Android app:
Google Play
F-Droid
- Syncthing’s another very good point is that you can achieve
intranet penetration
, useP2P mode
to establish a direct connection between multiple computers, which can reduce the pressure on third-party servers, and upload and download bandwidth is directly subject to two computers, the smallest one. for example, the company computer is 10M uplink, the home computer is 100M downlink, then the transmission bandwidth is 10M, and the transmission speed can reach 1M/S. - Syncthing
is not a tool for building a private cloud disk
. If you want to build a private cloud disk, you can refer to my other article [nextcloud] (https://www.iemblog.com/?p= 1508&lang=en)
Syncthing’s goals
Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers
The goals are listed in order of importance, the most important one being the first.
“Syncing files” here is precise. It means we specifically exclude things that are not files – calendar items, instant messages, and so on. If those are in fact stored as files on disk, they can of course be synced as files
- Safe From Data Loss
Protecting the user’s data is paramount. We take every reasonable precaution to avoid corrupting the user’s files.This is the overriding goal, without which synchronizing files becomes pointless. This means that we do not make unsafe trade offs for the sake of performance or, in some cases, even usability.
- Secure Against Attackers
Again, protecting the user’s data is paramount. Regardless of our other goals we must never allow the user’s data to be susceptible to eavesdropping or modification by unauthorized parties.This should be understood in context. It is not necessarily reasonable to expect Syncthing to be resistant against well equipped state level attackers. We will however do our best. Note also that this is different from anonymity which is not, currently, a goal.
- Easy to Use
Syncthing should be approachable, understandable and inclusive.Complex concepts and maths form the base of Syncthing’s functionality. This should nonetheless be abstracted or hidden to a degree where Syncthing is usable by the general public.
- Automatic
User interaction should be required only when absolutely necessary.Specifically this means that changes to files are picked up without prompting, conflicts are resolved without prompting and connections are maintained without prompting. We only prompt the user when it is required to fulfill one of the (overriding) Secure, Safe or Easy goals.
- Universally Available
Syncthing should run on every common computer. We are mindful that the latest technology is not always available to any given individual.Computers include desktops, laptops, servers, virtual machines, small general purpose computers such as Raspberry Pis and, where possible, tablets and phones. NAS appliances, toasters, cars, firearms, thermostats and so on may include computing capabitilies but it is not our goal for Syncthing to run smoothly on these devices.
- For Individuals
Syncthing is primarily about empowering the individual user with safe, secure and easy to use file synchronization.We acknowledge that it’s also useful in an enterprise setting and include functionality to support that. If this is in conflict with the requirements of the individual, those will however take priority.
- Everything Else
There are many things we care about that don’t make it on to the list. It is fine to optimize for these values as well, as long as they are not in conflict with the stated goals above.For example, performance is a thing we care about. We just don’t care more about it than safety, security, etc. Maintainability of the code base and providing entertainment value for the maintainers are also things that matter. It is understood that there are aspects of Syncthing that are suboptimal or even in opposition with the goals above. However, we continuously strive to align Syncthing more and more with these goals.