|Original author(s)||Konstantin Lissounov|
|Operating system||Windows NT, macOS, Linux, FreeBSD, Android, iOS, Windows Phone, Amazon Kindle Fire|
|Available in||13 languages|
English, German, French, Spanish, Italian, Japanese, Korean, Portuguese, Brazilian Portuguese, Russian, Chinese, Turkish, Dutch, Indonesian
SyncThing, NextCloud, and rsync are probably your best bets out of the 9 options considered. 'Simple to install and secure' is the primary reason people pick SyncThing over the competition. This page is powered by a knowledgeable community that helps you make an informed decision.
Resilio Sync (formerly BitTorrent Sync) by Resilio, Inc. is a proprietarypeer-to-peerfile synchronization tool available for Windows, Mac, Linux, Android, iOS, Windows Phone, Amazon Kindle Fire and BSD. It can sync files between devices on a local network, or between remote devices over the Internet via a modified version of the BitTorrent protocol.
Although not touted by the developers as an intended direct replacement nor competitor to cloud-based file synchronization services, it has attained much of its publicity in this potential role. This is mainly due to the ability of Resilio Sync to address many of the concerns in existing services relating to file storage limits, privacy, cost, and performance.
On 24 January 2013, BitTorrent, Inc. announced a call for pre-alpha testers to help test a new 'distributed syncing product to help manage personal files between multiple computers'.
Several private pre-alpha builds of 'SyncApp' were subsequently made available to a limited group of alpha testers between January 2013 and April 2013. In mid-April 2013, the name 'SyncApp' was dropped in favor of 'BitTorrent Sync'.
On 23 April 2013, the previously private 'alpha' was opened up to general users.
As of 6 May 2013, more than a petabyte of anonymous data had been synced between users, with over 70 terabytes synced daily.
As of 16 July 2013, more than eight petabytes of data had been synced using the software.
BitTorrent Sync migrated from 'alpha' to 'beta', released an Android app, and introduced versioning on 17 July 2013.
On 27 August 2013, BitTorrent Sync for iOS was announced.
On 5 November 2013, BitTorrent announced the release of BitTorrent Sync Beta API and version 1.2 of the client, along with the milestone, having over 1 million monthly active users synced over 30 petabytes of data to date.
As of 26 August 2014, there have been more than 10 million user installs and more than 80 petabytes of data synced between users.
On 3 March 2015, the product finally exited beta as a commercial product, with the inclusion of a paid Pro version.
On 9 September 2015, with the release of Sync 2.2, in the free version, the 10 folder limit that had been introduced with 2.0, was removed.
On 21 January 2016 the release of Sync 2.3 introduced the Encrypted Folder  plus the ability to run as a Windows Service, to use the SDcard on Android and for paid users Selective Sync support in Linux
On 1 June 2016, product and team were spun out of BitTorrent Inc. as an independent company, Resilio Inc. which will continue development of the product under the name Resilio Sync. Former Bittorrent CEO Eric Klinker became the head of the new company.
Resilio Sync synchronizes files using BitTorrent. The user's data is stored on the user's local device instead of in a 'cloud', therefore requiring at least two user devices, or 'nodes,' to be online to synchronize files between them. Resilio Sync encrypts data with an Advanced Encryption Standard AES-128 key in counter mode which may either be randomly generated or set by the user. This key is derived from a 'secret' which can be shared to other users to share data. Data is sent between devices directly unless the target device is unreachable (e.g. behind a firewall), in which case the data will first be relayed via an intermediary node. Many devices can be connected simultaneously and files shared between them in a mesh networking topology.
There is no limit on the amount of data that can be synced, other than the available free space on each device.
Current builds of Resilio Sync are available for the following operating systems:
I’ve been slowly trying to cut down on my online file storage footprint by switching to software and tools that I’m in full control over. For example, I was once a very heavy user of Dropbox and similar tools when it came to transferring files around between my computers, but that could leave my files exposed in the cloud, not to mention it was slow due to the time it took to communicate with the remote server.
This is where Resilio Sync comes into play. Once called, BitTorrent Sync, this software allows you to transfer files between devices on your network, without a middleman, in a peer-to-peer (P2P) fashion, like you would find with the popular BitTorrent protocol. The more devices, the faster the synchronization.
We’re going to see how to install and configure Resilio Sync on a Raspberry Pi to act as a synchronization node on your network for file storage and fast transfers.
To clear things up, you shouldn’t think of Resilio Sync as a backup solution that can be implemented on a Raspberry Pi. There are better solutions for that, for example, I’m using Minio on one of my Raspberry Pi devices for that. Instead, Resilio Sync is best designed for file synchronization, as in bi-directional movement of files between connected devices.
Before getting too involved, the assumption before starting this tutorial is that you have Raspbian already installed on a Raspberry Pi. If you need help with the Raspbian installation, check out my previous tutorial titled, Use Your Raspberry Pi as a Headless System without a Monitor. You’ll also need internet connectivity, so my tutorial titled, Automatically Apply a WiFi Network Configuration to a Raspberry Pi, might help.
Resilio Sync has come a long way since I had first started using it. Instead of having to jump through a lot of hoops to get it installed, we can follow just a few simple steps.
The first step is to register the Resilio repository. After having SSH’d into the Raspberry Pi, execute the following:
With the repository registered, you’ll need to add a public key so that you can use it. From the Terminal, execute the following:
Assuming you’re using a Raspberry Pi 3 like I am, you’ll now need to add the correct architecture and update the repository list with all the new information:
When we first registered the repository, it created a file for us with various information about Resilio, but it did not include information about the architecture. We need to alter the repository file to include this information.
Open the /etc/apt/sources.list.d/resilio-sync.list file on the Raspberry Pi and change, what should be the only line, to this:
Finally, we can install Resilio Sync on our Raspberry Pi by executing the following:
Now if you’re reading the instructions above and you feel like they look familiar, it is because I copied them almost exactly from the official documentation.
So what is the value in this tutorial then? Most of the value comes into play with the configuration of Resilio Sync on the Raspberry Pi.
By now Resilio Sync should be installed and is probably running as well. However, if you were to reboot your Raspberry Pi, the synchronization service likely won’t start back up. We actually have to enable it to autostart and we can do that through the following command:
Now when your Raspberry Pi restarts, the synchronization service will start. This does not mean that we’re in the clear yet. We need to configure the service, and if you’re like me, it needs to be configured in headless mode without a monitor.
By default, Resilio Sync serves a web interface on Linux that can be accessed at http://localhost:8888/gui, but it is only accessible from the local host, not a remote computer. The easy way to resolve this is through port mapping with an SSH tunnel. Assuming you’re using the default hostname on your Raspberry Pi, execute the following from your host computer:
The above command will create a tunnel where all traffic on the host machine for port 8888 will be directed to port 8888 on the remote machine. This tunnel allows us to operate on our host machine as if we were directly on the Raspberry Pi.
From your web browser, open http://localhost:8888/gui and proceed to completing the configuration wizard. By the end of this, you’ll have a functional Resilio Sync node on your Raspberry Pi, at which point you can close the tunnel.
You just saw how to configure Resilio Sync, formally BitTorrent Sync, on a Raspberry Pi. This creates a potentially always up synchronization node for file transfers on your local network.
I personally paid for a family license of Resilio Sync. If you think this software could help you, make sure you understand the licensing on what you can do with the free version versus a paid version. I can speak from experience that this software is very fast and it cuts out the need to pay for monthly services.