Difference between revisions of "Resilio Sync"

From ArchWiki
Jump to: navigation, search
(Configuration)
(Automatic config file creation: Update default storage_path value)
(4 intermediate revisions by 2 users not shown)
Line 12: Line 12:
 
== Synchronization ==
 
== Synchronization ==
  
When a device makes a folder and adds it to his BTSync client, a secret is generated. From now on, every device that wants to synchronize that folder, must know the secret key.
+
When a device adds a folder for synchronization, a secret is generated. From now on, every device that wants to synchronize that folder must know the secret key.
  
 
The synchronization has no speed or size limits, as long as both devices have enough disk space.
 
The synchronization has no speed or size limits, as long as both devices have enough disk space.
Line 18: Line 18:
 
== Installation ==
 
== Installation ==
  
{{AUR|bittorrent-sync}} can be installed from the [[Arch User Repository|AUR]]. Alternatively, the 'tar.gz' package is downloadable from the [http://labs.bittorrent.com/experiments/sync.html official website].
+
{{AUR|btsync}} can be installed from the [[Arch User Repository|AUR]]. The package includes [[systemd]] service definitions for managing the btsync daemon.
  
Once installed, enable the service:
+
Alternatively, the bare 'tar.gz' packaged executable is downloadable from the [http://labs.bittorrent.com/experiments/sync.html official website]. The rest of this guide assumes that you are using the btsync AUR package.
# systemctl enable btsync
+
 
and initialize it, replacing 'user' by the desired username:
+
== Usage ==
 +
 
 +
The Linux client of BTSync does not use a typical GUI, instead it sets up a WebUI server accessible at {{ic|localhost:8888}}. Shared folders can also be configured statically in a configuration file, but doing so disables the WebGUI.
 +
 
 +
Once installed, you'll first need to create a configuration file at {{ic|~/.config/btsync/btsync.conf}}, see [[#Configuration]]. When that is done, start and (if you want it to start on boot) enable the service:
 
  # systemctl start btsync@user
 
  # systemctl start btsync@user
 +
# systemctl enable btsync@user
 +
replacing {{ic|user}} by the desired username. The service will run as the named user.
  
The Linux client of BTSync does not use a typical GUI; it sets up a WebUI server accessible in {{ic|localhost:8888}}, with the default login credentials as the user set in the service starting process, and the password {{ic|password}}.
+
You can also run it as the {{ic|btsync}} system user, just leave the {{ic|@user}} part out:
 +
# systemctl enable btsync
 +
# systemctl start btsync
 +
Configuration for this user is located at {{ic|/etc/btsync.conf}}, and metadata is saved in {{ic|/var/lib/btsync/}} by default. You'll probably want to review the configuration settings, see below.
  
 
== Configuration ==
 
== Configuration ==
 +
A sample configuration file can be created using {{ic|btsync --dump-sample-config}}. You'll probably want to change some of the settings, including:
 +
 +
* device_name
 +
* storage_path
 +
* webui/login
 +
* webui/password
 +
 +
{{note|The storage_path setting defines where metadata will be saved, '''not''' the synced files themselves. Where synced files are saved is configured on a per-folder basis in the WebGUI.}}
 +
 +
===Automatic config file creation===
 +
 +
The {{aur|btsync-autoconfig}} package provides a systemd service (btsync-autoconfig@user.service) that, if enabled, triggers when btsync@user.service starts and creates a config file with default values if it does not already exist. The install script enables btsync-autoconfig@user.service by default.
  
The web-server has the built-in configuration settings also available in other platforms.
+
btsync-autoconfig@user.service creates {{ic|~/.config/btsync/btsync.conf}} if it does not exist, and guesses some default values of the settings:
  
For further configuration, the {{ic|~/.config/btsync/btsync.conf}} file contains advanced parameters; for example, the possibility to use a password other than the default one (recommended, of course).
+
* device_name: {{ic|$USER@$HOSTNAME}}
 +
* storage_path: {{ic|~/.btsync}}
 +
* webui/login: {{ic|$USER}}

Revision as of 13:32, 25 November 2013

BitTorrent Sync (BTSync) is a file sharing system that relays on the BitTorrent protocol, and differs from other file sharing software in the connection type between devices. Instead of uploading the files to an online server, and then each device fetching them from the server itself, the file transfer is done directly from peer to peer, and therefore there is no limit on data storage and/or transfer speed.

Security

BitTorrent Sync encrypts the traffic between devices with AES cypher and a 256-bit key created on the base of the secret — a random string (20 bytes or more) that is unique for every folder to be synchronized.

Secrets

BitTorrent Sync uses a specific method for folder sharing, the 'secret': a random 21-byte key Base32-encoded.

Synchronization

When a device adds a folder for synchronization, a secret is generated. From now on, every device that wants to synchronize that folder must know the secret key.

The synchronization has no speed or size limits, as long as both devices have enough disk space.

Installation

btsyncAUR can be installed from the AUR. The package includes systemd service definitions for managing the btsync daemon.

Alternatively, the bare 'tar.gz' packaged executable is downloadable from the official website. The rest of this guide assumes that you are using the btsync AUR package.

Usage

The Linux client of BTSync does not use a typical GUI, instead it sets up a WebUI server accessible at localhost:8888. Shared folders can also be configured statically in a configuration file, but doing so disables the WebGUI.

Once installed, you'll first need to create a configuration file at ~/.config/btsync/btsync.conf, see #Configuration. When that is done, start and (if you want it to start on boot) enable the service:

# systemctl start btsync@user
# systemctl enable btsync@user

replacing user by the desired username. The service will run as the named user.

You can also run it as the btsync system user, just leave the @user part out:

# systemctl enable btsync
# systemctl start btsync

Configuration for this user is located at /etc/btsync.conf, and metadata is saved in /var/lib/btsync/ by default. You'll probably want to review the configuration settings, see below.

Configuration

A sample configuration file can be created using btsync --dump-sample-config. You'll probably want to change some of the settings, including:

  • device_name
  • storage_path
  • webui/login
  • webui/password
Note: The storage_path setting defines where metadata will be saved, not the synced files themselves. Where synced files are saved is configured on a per-folder basis in the WebGUI.

Automatic config file creation

The btsync-autoconfigAUR package provides a systemd service (btsync-autoconfig@user.service) that, if enabled, triggers when btsync@user.service starts and creates a config file with default values if it does not already exist. The install script enables btsync-autoconfig@user.service by default.

btsync-autoconfig@user.service creates ~/.config/btsync/btsync.conf if it does not exist, and guesses some default values of the settings:

  • device_name: $USER@$HOSTNAME
  • storage_path: ~/.btsync
  • webui/login: $USER