Home PC Games Linux Windows Database Network Programming Server Mobile  
  Home \ Linux \ Syncthing: Private Security Synchronization tool to synchronize files between computers / folder     - To share some very useful Vim command (Linux)

- HA-Federation-HDFS + Yarn cluster deployment (Server)

- Editor of the popular Linux Gvim (Linux)

- Ubuntu 14.10 / Linux Mint 17.1 Win10 compiler install rdesktop 1.8.3 Remote Desktop connection (Linux)

- Depth understanding of DB2 table space (Tablespace) (Database)

- Change all child files and subdirectories in the owner permissions Ubuntu (Linux)

- Ubuntu 14.04 modify environment variables (Linux)

- PostgreSQL export table structure information (Database)

- Linux, Google Test (GTest) test environment to build step (Linux)

- MySQL optimization of the relevant Group By (Database)

- Install Krita 2.8 on Ubuntu 13.10 / 12.04 / 12.10 (Linux)

- Git Getting Started tutorial (Linux)

- Install NetBeans IDE 8.0 on Ubuntu, Linux Mint, Elementary OS, and Debian (Linux)

- CentOS 6.5 installation and configuration Cobbler (Server)

- Linux install deploy Ansible (Linux)

- Linux - EXT2 file system is described in detail (Linux)

- Security: set limits on password (Linux)

- GitLab upgrade to 8.2.0 (Linux)

- CentOS yum source as the default setting methods in DVD (Linux)

- How to build a container cluster (Server)

  Syncthing: Private Security Synchronization tool to synchronize files between computers / folder
  Add Date : 2016-10-17      
  Brief introduction

Syncthing is a free open source tool that can synchronize files / folders between your various network computers. Unlike other synchronization tools, such as BitTorrent Sync and Dropbox, as it's synchronous data is transferred directly from one system to another system directly, and it is completely open source, secure and private. All your precious data will be in your system so that you can for your files and folders have full control over the storage, without any files or folders are stored in a third-party system. In addition, you have the right to decide where the data that is stored in, whether you want to share to a third party, or the data transmission on the Internet.

All information and communication uses TLS encryption, so your data is safe will be able to escape from prying eyes. Syncthing has a powerful responsive web management interface (WebGUI, the same below), which can help users easily add, delete and manage those files over the network to synchronize the folder. By using Syncthing, you can synchronize multiple folders at once on multiple systems. On the installation and use, Syncthing is a portable, simple and powerful tool. Now that the file or folder is transferred from a computer directly to another computer, then you need to consider to cloud service providers to pay extra money to get the cloud space. All you need is just a very stable LAN / WAN connections and have enough disk space on your system. It supports all modern operating systems, including GNU / Linux, Windows, Mac OS X, of course, Android.


For the purposes of this article, we will use two systems, one for Ubuntu 14.04 LTS, is a Ubuntu 14.10 server. For simplicity differentiate between the two systems, we were referred to as system 1 and system 2.

The system details:

Operating System: Ubuntu 14.04 LTS server;
Host Name: server1.unixmen.local;
IP address:
User: sk (you can use your own system users)
Sync folder: / home / Sync / (Syncthing created by default)
System 2 details:

Operating System: Ubuntu 14.10 server;
Host Name: server.unixmen.local;
IP address:
User: sk (you can use your own system users)
Sync folder: / home / Sync / (Syncthing created by default)

Create user Syncthing in the system 1 and system 2

Run the following command on both systems to create users and synchronize files between the two systems folder for the Syncthing.

sudo useradd sk
sudo passwd sk

The system 1 and system 2 is installed Syncthing

On the system 1 and system 2, follow these steps.

Download the latest version from the official download page. I am using a 64-bit version, so download the 64-bit version of the software package.

wget https://github.com/syncthing/syncthing/releases/download/v0.10.20/syncthing-linux-amd64-v0.10.20.tar.gz
Unzip the downloaded file:

tar xzvf syncthing-linux-amd64-v0.10.20.tar.gz
Switch to the unpacked folder:

cd syncthing-linux-amd64-v0.10.20 /
Copy the executable file "syncthing" to $ PATH:

sudo cp syncthing / usr / local / bin /
Now, execute the following command to run the first time Syncthing:

When you execute the above command, syncthing will generate a configuration, and some configuration key, and open a management interface in your browser.

Input Example:

[Monitor] 15:40:27 INFO: Starting syncthing
15:40:27 INFO: Generating RSA key and certificate for syncthing ...
[BQXVO] 15:40:34 INFO: syncthing v0.10.20 (go1.4 linux-386default) unknown-user @ syncthing-builder 2015-01-1316: 27: 47 UTC
[BQXVO] 15:40:34 INFO: No config file; starting with empty defaults
[BQXVO] 15:40:34 INFO: Edit / home / sk / .config / syncthing / config.xml to taste oruse the GUI
[BQXVO] 15:40:34 INFO: Starting web GUI on
[BQXVO] 15:40:34 INFO: Loading HTTPS certificate: open /home/sk/.config/syncthing/https-cert.pem:no such file or directory
[BQXVO] 15:40:34 INFO: Creatingnew HTTPS certificate
[BQXVO] 15:40:34 INFO: Generating RSA key and certificate for server1 ...
[BQXVO] 15:41:01 INFO: StartingUPnP discovery ...
[BQXVO] 15:41:07 INFO: Startinglocal discovery announcements
[BQXVO] 15:41:07 INFO: Startingglobal discovery announcements
[BQXVO] 15:41:07 OK: Ready to synchronize default (read-write)
[BQXVO] 15:41:07 INFO: Device BQXVO3D-VEBIDRE-MVMMGJI-ECD2PC3-T5LT3JB-OK4Z45E-MPIDWHI-IRW3NAZ is "server1" at [dynamic]
[BQXVO] 15:41:07 INFO: Completed initial scan (rw) of folder default
Syncthing has been successfully initialized, the web management interface can also be accessed via a browser URL: http: // localhost: 8080. As seen above, enter the next Syncthing in your home directory Sync automatically creates a directory named default ** folder for you.

By default, Syncthing web management interface can only be carried out at the local port (localhost) access, from remote access, you need to do the following in the two systems:

First, press CTRL + C key to terminate Syncthing initialization process. Now you go back to the terminal interface.

Edit the config.xml file,

sudo nano ~ / .config / syncthing / config.xml
Locate the following command:

< Gui enabled = "true" tls = "false">
< Address> < / address>
< Apikey> -Su9v0lW80JWybGjK9vNK00YDraxXHGP < / apikey>
< / Gui>
In the region, the to As a result, your config.xml looks like this:

< Guienabled = "true" tls = "false">
< Address> < / address>
< Apikey> -Su9v0lW80JWybGjK9vNK00YDraxXHGP < / apikey>
< / Gui>
Save and close the file.

Execute the following command again on both systems:


Access the Web management interface

Now, open http in your browser: // ip-address: 8080 /.

Web-based management interface is divided into two panes, the left pane, you should see the list of folders to synchronize. As mentioned above, default folder is automatically created when you initialize Syncthing. If you want to synchronize additional folders, click Add Folder button.

In the right pane, you can see the number of devices connected. Now there is only one, is the computer you are currently operating.

Setting Syncthing on the Web management interface

To improve security, we enable TLS, visit the Web management interface and set administrator and user password. To do this, click on the gear button in the upper right corner, then select Settings

Enter the administrator account name / password. I set the admin / Ubuntu. You should use some of the more complex passwords.

Click the Save button, now you will be asked to restart Syncthing changes to take effect. Click Restart.

Refresh your web browser. You can see a something like the following SSL warnings. Click to show I understand the risk (I understand the Risks) buttons. Then, click on "add an exception (Add Exception)" button to add the current page into the browser's trust list.

Enter the front steps in the setup of the administrator and user password. I set the admin / ubuntu.

Now, we improve the security of web-based management interface. Do not forget the two systems have to perform the same steps above.

Connect to other servers

To synchronize files between various systems, you need to tell each other servers. This is achieved by a switching device IDs (device IDs) to achieve. You can select the "gear menu (gear menu)" (the upper right corner) of the "Show ID (show ID)" to find it.

For example, here is my system's ID.

A copy of the ID, and then to another system (system 2) web-based management interface, in the right pane, click on the Add Device button.

Then will appear the following interface. In the Device area paste system 1 ID **. Enter the device name (optional). In the address field, you can enter the other systems (LCTT translation: System pasted ID belongs, this system should be 1) the IP address, or use the default. The default value is dynamic. Finally, select the folder you want to synchronize. In our example, the synchronization folder for default **.

Once done, click on the save button. You will be asked to restart Syncthing. Click the Restart button to restart for the changes to take effect.

Now, the system 1 of the Web management interface, you'll see the connection and synchronization requests from the system 2. Click the Add button. Now, the system will require the system 2 1 share and sync folders named default.

Then reboot the system Syncthing service 1 changes to take effect.

Wait about 60 seconds, and then you'll see that you have successfully connected and synchronized between the two systems.

You can verify the situation in the Web management interface in the Add Device region.

Add System 2, 1 web management system interface control window as follows

Adding system 1, the system 2 web management interface control window as follows

Now, in any system of "default" folder into any folder or folders. You should see the file / folder is automatically synchronized to the other systems.
- Ubuntu users install the Download Manager software Xdman 5.0 (Linux)
- Depth understanding of the use of Spring Redis (Programming)
- Expand an existing RAID arrays and remove the failed disk in a RAID (Linux)
- Linux command line to put on your coat GUI (Linux)
- How apt-get limited use IPv4 or IPv6 protocol to download (Linux)
- Let's Encrypt with semiautomatic into Nginx configuration https (Server)
- A custom implementation of the Android sidebar (Programming)
- Depth study and understanding for individual users suicide DDoS attacks (Linux)
- C language print various graphic (Programming)
- Amazon EC2 server using Rsync + Inotify real-time synchronization (Server)
- Getting Started with Java NIO (Programming)
- struts2 completely the wrong way to capture 404 (Programming)
- MongoDB learning Notes (2) basic connection example of -Nodejs and MongoDB (Database)
- HAProxy performance under high concurrency (Server)
- SQL statement to repair SQL Server database (Database)
- Win8 mount disk partitions under Ubuntu (Linux)
- OpenDJ installed on RHEL6 (Linux)
- Apache site default home page settings (Server)
- Protobuf compiled and used on the Ubuntu 14.04 (Programming)
- IPTABLES configuration steps under Linux (Linux)
  CopyRight 2002-2020 newfreesoft.com, All Rights Reserved.