Updated 26 August 2022.
Copyright: European Union Public License, version 1.2 (EUPL-1.2).
What is this?
This is a comprehensive article about Resilio Sync, a file-sharing program that is used within our network. It’s a peer-to-peer networking tool that allows individuals and groups to share files on their local machines with one another. With this tool, you will be able to set file permissions and settings that enable peers to be able to just read your documents or read & write documents.
Why do we need this?
Resilio is one of the applications that makes it possible for Ubinodes to function in a genuinely decentralized manner. Resilio reflects Ubinodes’ core values, which are security and productivity. With Resilio, security always comes first, and the software utilizes a wide range of network protocols to accomplish specific tasks. During your time at Ubinodes, whether as a client or as a node, you may expect to interact with Resilio on a daily basis. As a result of this, it is strongly recommended that you spend some time getting to know the ins and outs of the program.
Resilio Sync is a peer-to-peer networking tool. The software forms a network of interconnected devices that then share resources with one another. The functions that this software provides are wide-ranging. For example, a small development team that is working on a collaborative project can quickly share files with one another.
It is extremely user-friendly to work in such manner as you work on your computer, placing files in folders, as if you were alone. But silently, the content of your folders is replicated with all your peers. Meaning you have less workload as you don’t have to worry about sharing content nor making sure all team mates are on the same page.
This article is broken down in 3 parts: Review, Guide, Research.
- Review: A review of the application as seen from the user’s standpoint.
- Guide. Step-by-Step how to set up and use the application.
- Research: An under-the hood research of the application, as seen by an expert.
Part 1 : Review.
Part 2 : Guide.
02.2 Naming folders.
02.3 Adding folders.
02.4 Sharing keys.
02.6 Removing a folder.
02.7 Mobile device.
Part 3 : Research.
Part 1 : Review.
Resilio, a software company based in San Francisco, California, is one of the applications which Ubinodes uses to achieve work in a decentralized manner. The company was originally founded in 2016 by technical leaders from BitTorrent and is relied on by numerous end-users and enterprise customers for the secure and unified transportation of file-based digital assets across IP networks.
Resilios is a great tool for synchronizing data with peers over the network within a short amount of time. For instance, if you make modifications to files sync on Resilio, they are replicated on all connected devices. Resilio’s user interface is simple and uncomplicated. Secure file sharing is easy to set up without the limit of size and usage data. Through Resilio, Nodes and Clients are able to share files in real-time, peer-to-peer, without waiting to upload files to the cloud.
Resilio Sync employs BitTorrent’s peer-to-peer or networking technology to determine the quickest path for data transmission across devices. It enables file synchronization between nearby devices on a network or between distant devices online as per BitTorrent protocol. Thanks to Resilio software, decentralized enterprises such as Ubinodes can now govern their file-based data across any device, location, network, IT infrastructure, and cloud provider, which unites scattered or soloed data and devices.
The good thing about sync is that the network is never offline; a folder may be unavailable because your computer is turned off but your employees can still continue to work. This provides more up-time for employees which in turn increases productivity. Here at Ubinodes, we prefer to use Resilio over other cloud service providers due to the cost in maintaining cloud infrastructure.
Because of its security management features, such as SHA-256 hashing and TCP/UDP forwarding protocols, this file-sharing program is an excellent choice for Ubinodes. This is one of the reasons why it is such a suitable fit for Ubinodes.
Security Breaches are easily obtainable through file sharing processes, especially in border-less and transnational organizations such as Ubinodes. Ubinodes’ primary beliefs, which prioritize security over convenience, are reflected in Resilio. Security is always prioritized, and the software makes use of a variety of network protocols to carry out particular duties. Therefore, Resilio Sync is a crucial application, among our many other encrypted applications, for this organization as it allows nodes to remotely share all the files with fellow nodes or clients without compromising the security of a project or going through unsecured channels.
Resilio Sync can be downloaded for Windows, Mac, Linux and FreeBSD. It can be downloaded as a mobile app and a desktop app to keep files synchronized across all devices.
- Download the Resilio Sync Home version: https://www.resilio.com/individuals/
Resilio can only be installed under C:/ However the folder you’ll be using can be anywhere including on removable devices.
You’ll have the possibility to purchase the Home Pro license later from the UI.
Difference between a pro license and a normal license.
- While Sync home only allows users to create a standard folder, sync home pro allows for both standard and advanced folders. The difference between standard and advanced folders is that standard folders do not allow users to change access permissions or control who can share the folder. However, advanced folders allow users to control their folders and change or revoke access permissions at any time. For instance, if you wish to change a Read Only permission to Read & Write, you would not need to remove a folder and add a new one again with a new key/link. Rather, Resilio sync home pro would modify permission with one button without breaking the connection. Therefore, Advanced folders are ultimately the best option for collaboration work with team members.
- Secondly, a Pro license does not require users to create an identity for each of their devices like sync free does. Sync Pro enables users to link all of their devices under one common identity, automatically giving users access to all added folders on all their linked devices. For instance, if you add a folder on your desktop, it will automatically appear on all linked devices like a mobile phone or laptop.
In the UI itslef you have access to different support channels.
This section provides resources for support for users. It includes the help center option, which allows users to find answers to their questions in Resilio’s online sync help center, the forum option where users can go to ask other Resilio users common questions and find help and lastly, the contact support option, which provides users with help from sync experts.
Part 2 : Guide.
On the homepage of Resilio Sync, the settings button is located on the top right of the page. Here we will encounter five preference options.
02.1.1.1 Device Name.
By default, you will probably see the name of your computer, this is done automatically by the app. You should input a device name, which is the name of your device as seen by your peers. This name must be relevant as seen by your peers, not you.
Nodes and clients are expected to change it to their Ubinodes ID, so other nodes and colleagues are able to see when you are online. It also ensures that nodes do not open the same files at the same time as this would create synchronisation conflicts resulting in loss of work as the last file to be closed would overwrite any work done by other team mates.
- Good name: Node013_Desktop (or Android, Macbook etc). The type of device can be relevant, as we know you may be editing a document on a computer but you wouldn’t on a mobile device.
- Bad Name: Windows (We don’t know who it is, if it’s a computer or mobile device etc).
02.1.1.2 Start Up.
After changing your name, you should untick the box that states “start resilio sync on startup” because you will need to have mounted your USB drive first in case you are using one device for the OS and another one for the data.
02.1.1.3 Default Folder Location.
You can choose a default folder location for your files.
However, leave ticked the box “Ask where to save each file before downloading” ticked, because of the way we classify folders, you’ll probably need to put them in different locations every time a new one is created.
The identity of your Resilio account can be determined based on this name. This name is relevant only for the owner of a Pro license. It allows you to link together identify each of your devices under one License. When you do so, you’ll see all your fodlers appear in your UI. You can then selectively decide which one to synchronise on each device independently.
A user can modify the sync’s bandwidth, connection port, and debug logging within the Advanced tab. Unless you know what you’re doing, there is no need to make changes here, usually Resilio works well out of the box.
In the Advanced section, click on “Open power user preferences” found at the bottom, then scroll down a bit until you find “sync_trash_ttl,” click “edit,” and change the time from 30 days to 1. This represents the time data stays in the “.sync/Archive sub-folder.” Which, in other words, is Resilio’s bin folder, where files are sent when they are deleted. You are expected to change the time from 30 days to 1 so that way, you are reducing your digital footprint by automatically removing files in your “sync/Archive sub-folder” after one day.
A user can search uploads by criteria such as errors, warnings, info and activity.. This is useful to make sure your team mates have received the latest version of your work or the new files you’ve added. That way you don’t have to ask them via messaging app or email.
Once you select a search criterion, you will see some metadata about the files that have been sent previously. Starting from the left, you are presented with a time stamp which indicates the day and time of the upload. Next is the peer who published the file or folder. Moving forward is the source folder and the event, which is the file path of the file. If you know which file you are looking for, you can use the search bar at the top right side of the page. At the bottom left of the page is the pause syncing option. Since Resilio is continuously updating, you can see when a file is being synced.
02.2 Naming Folders.
Before you add a folder in Resilio it must already exist in your computer. So you must:
- Create the folder in your computer at the location that is appropriate based on how data is classified.
- Name this folder with a name that will be relevant for team work.
- Now you can add content in the folder and add it to Resilio.
In Ubinodes, “UBI” should be placed in front of each folder name unless you are Resilio for a different purpose. When it comes to dealing with all of our files, we do this so that we do not make any mistakes.
Underscores ( _ ) and Hyphens ( – ) are also used when naming folders as some nodes and clients use Linux. The purpose of using underscores is to combine together individual characters that are components of the same collection of information. While for hyphens, we use them to separate one group of information from another group of information. In other words, in naming folders, underscores are used to attach characters together, while hyphens are used to separate groups of information. For example, In the name of a folder, we have three groups of information:
- Numbering. For example, “UBI_002_Onboarding”.
- Confidentiality level. For example, “Level_1”.
- Purpose. For example, “Node_023”.
The full name is then: “UBI_002_Onboarding-Level_1-Node023”. You can see that _ is used to attach characters together while – is used to separate groups.
When your application connects to peers, it will obtain their IP address from a server located in Resilio’s offices in the US. At that moment the name of your folder will be transmitted in clear. So be careful how you name your folders. It might not be wise to name it “recipe for cocaine”. Only the content will be encrypted before being sent to your peers.
02.3 Adding Folders.
Without any usage or capacity restrictions, Resilio Sync delivers secure file sharing that is simple to start up. Peer-to-peer file sharing occurs instantaneously; there is no need to wait for file uploads to the cloud. Within the software, there are multiple ways to add folders to your Resilio account. Once you have added a folder, you will be able to access these folders from any of your local machines.
To share folders in Resilio, you will need to click on the plus icon in the top left corner of the application. Once you have left clicked the plus icon, the user will be presented with three folder type options. Standard folder, Advanced folder and Encrypted folder.
- Standard Folders: This option is best for syncing folders across one’s personal devices. The users are also able to give and control permissions to a folder.
- Advanced Folders: A user may want to choose this option when collaborating with multiple people. As the owner of this type of folder, you are able to edit and revoke access permissions at any moment. This folder type is only available for the pro version of Resilio.
- Encrypted Folders: This folder type is preferred when syncing to a third-party server where you need to confirm that data is not sent in plain text. Along with the standard folder functionality, you can encrypt data on trusted devices.
02.3.1 Pros and Cons of Advanced folders versus encrypted folders.
- New peers must be approved, so the notification will help detect MITM attacks.
- Can’t use encrypted folders to use untrusted servers as relay.
- To give “owner” rights, the peer must have a paid “pro” license.
- Can use untrusted server as 24/7 running relay.
- Anyone with the read key can receive the files; other peers won’t get any notification.
02.4 Sharing keys.
Nodes and clients also have the option of setting a time frame in which a shared link can expire as can be seen from the figure above. Once a selected time frame has been chosen, nodes can either automatically email the link of their files or copy and paste it in, for example, a word document or on a flash drive.
It is important to keep in mind that sync does not use the cloud to deliver data, so all connected devices need to have sync installed and running to properly use the link.
Rather than sharing folders through a link, nodes and clients can also generate a QR code that can be scanned by a phone or any QR scanner. Similar to Bitlocker and Wickr, Resilio utilizes keys to enable the sharing of folders. There is a key for Read-Only permissions, and a key for Read & Write permissions. You want to use these keys to reflect the situation. This means only allowing those who need to know to have permission to read and write files.
To share your folder with someone that is not registered to your account, you can give someone permission to only read those files, or you can give them permission to alter those files. This system is secure as regardless of how you share your files, it has to be approved by you, meaning if someone gave out the code online, it still would not be accessible for just anyone to gain access to it. It would still be only people you approve that would have access.
02.4.1 Folder States.
The pending folder state is activated when the folder requires approval from the owner of the folder. This folder type will not be activated if you have been approved by the owner before you access the folder, and when approved, the folder will connect to the storage device online. The disconnected folder type does not take up any of your hard drive space and has no folder path until it’s connected. When a disconnected folder is removed, it will be removed from all other linked devices.
- Selective Sync: When a folder has selective sync enabled that folder will take up a minimal amount of drive space. The actual files inside of a selective sync folder are substituted by a placeholder file. Once a placeholder file is double-clicked, Resilio will then fetch the full-length file on the source device. This feature is meant to save a user’s hard drive space.
- Full Sync: A full sync occurs when all of the files in a folder are synchronized between all devices. This process is done automatically and disables selective sync.
- Read only: These folders restrict the user from making any changes, removals or deletions to the contents of a folder. At times your local settings may be able to make changes to your local copy of Read-Only synced files. Consequently, if you do this, then you will not be able to receive updates on the Read-Only file. The crown symbol below represents that you are the owner, and you can give your peers access to it.
- Encrypted: This folder design acts as a backup location in an untrusted environment. An example of this would be when you add an encrypted folder to a VPS. By doing this, you are avoiding the risk of your data being read by unauthorized persons.
02.5 Updating Files in Folders.
When updating files on Resilio, especially files created and shared by other nodes or clients, the name of the files should not be changed as it can cause confusion between other nodes and clients connected to the file. If anything must be changed, it should be the date which would usually be the first thing on the name of the file. That way, nodes and clients can be informed if a file is freshly updated or old.
Another thing to be careful of when updating files or folders are duplicating. Duplicating files or folders that are synced with other nodes or clients can cause discomposure. It is important to understand that folders are created for specific tasks and once the task in question is completed, folders should be permanently deleted so as to not be recovered. Hence, nodes or clients should never make duplicates or backups. Not only does it confuse other nodes and clients, but, more importantly, it creates security breaches.
When working on a shared document, do not save it under a new name, like “xxx updated”. This would just add to the confusion. Realise that your fellow workmates are working on other projects and are dealing with dozens of files everyday.
Before opening a file, you are expected to ensure that no one else is already on it. Resilio sync doesn’t allow to work simultaneously on a file, so if two people have opened the same file at the same time, the last one to close it will overwrite the previous version meaning that one person will lose its work. You can use chat apps like Wickr or simply see in Resilio if you’re the only one online. Through chat apps, you can let others know when you have made changes to a file.
Lastly, when working in resilio. It is important to make sure that you are connected with a Relay in order to ensure that your updates are being broadcast to other nodes when they are online. You can find out if you are connected to a relay on resilio by clicking on the “peers online” tab where folders are located. Once there, you can find which relays are online or offline at that moment.
Make sure you’re online and connected to a 24/7 ResilioRelay peer to make sure your updates will broadcast to other peers. While working on a file, once you close it, it will synchronize, provided you are connected to the internet. We have servers called “Resilio Relay” running constantly (24/7). Your file syncs with them, once other peers switch on their PC’s and start Resilio, the file would update from a central server “Resilio Relay” or any other node that is up to date. You get a notification that Resilio is syncing and updating its internal database, this can be found in the hidden .sync folder. In a situation where you force a shutdown of PC, this process may not complete and you’d get a corrupt database error from the app. In a situation where this error occurs, there’s no other option than to recreate the folder from scratch.
02.6 Removing a Folder.
To remove a folder, you first want to navigate to the folder Icon in the navigation bar, then left-click the folder icon. Once you have located the folder that you want to remove, hover over the sub-menu icon and left-click to display the dropdown menu. The option that you want to select is “remove”; this will only delete the folder in sync, not on the local machine.
When a file is obsolete, delete it to keep the content of folders intuitive and up to date.
02.7 Mobile Device.
Here I will be discussing the available Sync settings on major mobile devices which include Android and iOS. To download the mobile application on your phone, you first want to go to the app store hosted on your phone and download it from there.
To understand the mobile version of the application and all its settings, we are going to create and link a test folder to see the details within the mobile version. Start by creating a new folder by tapping the “+” button followed by selecting the folder type you want. To link to a computer, copy the key given to you in the details window of the folder. For the purposes of this demonstration I just created a folder, but you can link a folder with a QR code or key.
Once the folder is created, you create sub-folders and share files from your phone with peers. You can also manage connected folder rights and permissions from your phone. You have the same options on mobile that you have on the desktop version of the application except, add backup. The add backup option is exclusive to the mobile versions of the application and can be used to backup your files and folder on your mobile device to a desktop. The Sub-menu option offers users the ability to see their connected devices, the setting and shared links. The most important of these options is the settings tab. Here you will be able to set permission, pause and disconnect folders. Also, the setting tab can be used to change the applications network settings. This includes adding hosts, using a relay server or searching for a LAN.
Part 3 : Research.
Resilio Sync utilizes many ports and protocols to connect peers. The majority of out of network communication is done with TCP and UDP protocols. The first thing that Sync needs to do is learn the route to the relay servers that connect peers and clients. Below is an example of this and as you can see, Resilio is sending a Syn request from a local machine to the service provider’s gateway server. After it has learned the path to the relay server, it downloads and saves this information into the sync.conf file. Sync’s listening port is shown in the settings portion of the application and is determined by the users firewall or forwarding devices. If we look at the example below, the application uses the TCP source port 51262 to reach out to the relay server.
Resilio coordinates it’s networking to find the best route for data. This in turn makes synchronization instantaneous and keeps peers up to date on the status of files. Resilio ensures that the packets sent over the network/Internet are undecryptable by using AES256 PKI based encryption over TLS 1.2. Securing file transfers is the deciding factor when deciding on which file sharing application you want to use. The Networking features offered by Resilio keep the workflow moving while users can automatically send and receive updates on files in real-time. When compared to other file sharing programs like FileZilla and WinSCP, Resilio has proven that it can solve more of the security issues that are involved With FTP. Which ensure that the files and connections are not intercepted by threat actors.
Resilio Sync. (n.d.). Universal file delivery for data intesive envionments: Resilio Connect. Resilio File Sync Software | Unify, Control, and Accelerate Global Enterprise File Workflows. Retrieved from https://www.resilio.com/
Resilio Sync. (n.d.). Universal file delivery for data intesive envionments: Resilio Connect. Learn how to get the most out of Resilio’s powerful features. Retrieved from https://www.resilio.com/tech/sync-tutorials-and-howto/