Resilio Sync (formals BitTorrent) ist eine Anwendung zur Dateisynchronisation zwischen zwei oder mehr Rechnern. Das Produkt nutzt auf einen auf dem BitTorrent-Protokoll basierende Peer-to-Peer-Ansatz. Die Synchronisation ist zwischen Rechnern im gleichen LAN und/oder über das Internet mit Rechnern an anderen Standorten erfolgen. Die Synchronisation mit Remote-Rechnern kann über Relay-Knoten erfolgen, sodass die Remote-Rechnern nicht direkt aus dem Internet erreichbar sein müssen.
Software | |
---|---|
Produktseite | Resilio Sync |
Plattformen | FreeBSD (i386, x86-64) Linux (div. Architekturen), macOS, Windows sowie mobile Clients |
Linux-Paketierung | DEB, RPM Respositories |
Lizenz | proprietär |
Preis | Basisnutzung umsonst, $59,90, $99,90 |
weitere Informationen | |
Resilio Sync (Docker) |
Es stehen plattformspezifische Installationspakete zum Download bereit. Für Linux-Systeme bestehen darüber hinaus auch Respositories für die verbreitetsten Linux-Distributionen zur Verfügung.
Die Installation auf Debian-basierten Systemen (Debian, Raspbian bzw. Raspbian OS sowie Ubuntu und dessen Derivate) kann wie folgt unter Nutzung des Repositories erfolgen:
GPG-Key von Resilio installieren:
wget -qO - https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add -
Paketquelle einrichten:
echo "deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free" | sudo tee /etc/apt/sources.list.d/resilio-sync.list
Installation:
sudo apt-get update sudo apt-get install resilio-sync
Anschließend muss der Service noch aktiviert werden:
sudo systemctl enable resilio-sync
Während der Installation wird der nicht-privilegierte Benutzer rslsync eingerichtet. Der Resilio-Sync-Service läuft unter dieser Benutzerkennung und hat somit nur sehr eingeschränkte Zugriffsrechte:
unmask 0022
gilt, kann der Service zwar die meisten Dateien lesen, aber keine neuen Dateien schreiben.Für diese Problematik gibt es drei Lösungsansätze:
unmask 0022
muss der (Haupt)Benutzer für die jeweiligen Dateien und Verzeichnisse zusätzlich das Schreibrechte für die Gruppe einrichten (chmod g+w
).PUID
und PGID
vorgegeben werden.2)Unix-typisch läuft der Systemdienst unter dem eigenen User rslsync mit minimalen Rechten. Damit dies nicht zu Problemen mit Zugriffsrechten kommt, müssen der jeweilige Benutzer und der User rslsync „über Kreuz“ in die jeweiligen Benutzergruppen aufgenommen werden:
sudo usermod -aG <user_group> rslsync sudo usermod -aG rslsync <user_name>
Beachte: Die Rechteänderung wird erst nach einen Re-Login (bzw. Reboot) wirksam.
Zusätzlich sind – sofern dies nicht schon der Fall ist – die Gruppenrechte bei den zu syncenden Ordner anzupassen:
chmod g+rw <synced_folder>
Es gibt verschiedene Beschreibungen, wie man den Resilio Sync-Service unter der eigenen Benutzerkennung laufen lassen kann. Die zuletzt besten Erfahrungen habe ich mit dem vom Xiao Han beschrieben Weg gemacht. Diese Vorgehensweise scheint – zumindest in der Vergangenheit – von Resilio unterstützt worden sein.
Im Verzeichnis /etc/resilio-sync/
befindet sich das Script init_user_config.sh
mit dem man eine benutzerspezifische Konfiguration anlegen kann:
/etc/resilio-sync/init_user_config.sh
sudo
, zu starten.
Danach ist eine sogenanntes Drop-In-Snippet für die Service-Definition anzulegen:
sudo systemctl edit resilio-sync.service
Im sich öffnendem Editor ist der folgende Inhalt zu ergänzen:
[Service] User=<USER> Group=<USER> PIDFile=/home/<USER>/.config/resilio-sync/sync.pid ExecStartPre= ExecStart= ExecStart=/usr/bin/rslsync --config /home/<USER>/.config/resilio-sync/config.json
Der Platzhalter <USER>
ist jeweils durch den eigenen Benutzernamen zu ersetzen.
Nach dem Speichern kann die sich daraus ergebende Service-Definition wie folgt eingesehen werden:
sudo systemctl cat resilio-sync.service
Das ergänzte Drop-In-Snippet findet sich am Ende der Datei.
Abschließend ist die systemd
-Konfiguration neu zu laden und der Service neu zu starten:
sudo systemctl daemon-reload sudo systemctl restart resilio-sync.service
Nun sollte3) der Resilio Sync-Service unter der eigenen Benutzerkennung laufen.
Die Konfiguration kann über die Konfigurationsdatei sowie – zum kleineren Teil – über die Web-UI erfolgen. Der Ablageort der Konfigurationsdatei hängt von der Art der Konfiguration des Services ab:
/etc/resilio-sync/config.json
~/.config/resilio-sync/config.json
In der Default-Konfiguration ist der Zugriff auf die Web-UI nur von gleichen Rechner ('localhost
bzw. IP-Adresse 127.0.0.1) zugelassen. Dies kann geändert werden, indem im listen
-Eintrag der Konfigurationsdatei die IP-Adresse 127.0.0.1
mit 0.0.0.0
überschrieben wird:
"webui" : { "listen" : "0.0.0.0:8888", "allow_empty_password" : false }
Sofern der Zugang für andere Rechner geöffnet wird, sollte https für die Web-UI aktiviert werden.
Der Zugang zur WebUI sollte per https gesichert werden, damit die Zugangsdaten nicht aus dem Datenstrom in Klartext abgefangen werden können. Sofern https nicht per Default aktiviert ist, kann dies durch die Ergänzung des Statements „force_https“ : true
in der Konfigurationsdatei gesteuert werden:
"webui" : { "listen" : "0.0.0.0:8888", "allow_empty_password" : false, "force_https" : true // enable https }
Sofern die Transportverschlüsselung nicht von Resilio Sync vorgenommen werden soll4), ist die entsprechende Zeile auszukommentieren bzw. zu löschen.