Datei-Synchronisation - Syncthing oder Bittorrent Sync?

Ich bin die letzten Jahre gut damit hingekommen, meine Geräte über das empfelenswerte Open Source Tool FreeFileSync zu synchronisieren. Doch irgendwann nervt es schon, nach einem nächtlichen Spontan-Einkauf einiger MP3s diese nicht sofort überall verfügbar zu haben. Während meine Rechner über Netzwerk-Freigaben noch leicht zu aktualisieren sind, ist der Aufwand alle SD-Karten aus meinen Tablets und Telefonen rauszufriemeln ungleich höher.

Eine automatisierte Lösung musste also her. Ich möchte hier meinen Erfahrungsbericht abgeben.

Die Cloud-Lösungen

Sowohl die kommerzielle Lösung Copy.com als auch dessen freie und selbst gehostete Alternative SeaFile bieten erstklassige Datei-Synchronisation für den Desktop an, schwächeln jedoch deutlich in Hinblick auf die Apps. Hier wird von keinem eine permanente Datei-Synchronisation auf die SD-Karte angeboten, sondern lediglich eine Art Browser mit Auswahl für Einzel-Download. Dabei ist die ständige Verfügbarkeit (d.h. auch offline!) meiner Daten auf allen Geräten genau meine Anforderung.

Die Android-App FolderSync hatte ich dafür einige Wochen als Ausweg probiert, doch hat diese selten vollständig synchronisiert und eigentlich nur Akku gefressen.

Syncthing

Als Freund von freier Software und Liebhaber meiner Privatsphäre habe ich natürlich gerne der noch in Entwicklung befindlichen Synchronisations-Software Syncthing einige Tage eine Chance gegeben.

Als erstes fiel mir auf, dass die Sofware offenbar sehr penibel ist, was Gleichheit von zwei Dateien betrifft. Dateien, die mit FreeFileSync übertragen und wenige Millisekunden Unterschiede in „Datum der letzten Änderung“ hatten wurden als verschieden erkannt und erneut übertragen bzw. führten zu Konflikten.Das gleiche gilt für abweichende Datei-Attribute. Ein Checksum-Vergleich hätte hier wohl ausgereicht.

Ebenso gibt es schnell Probleme mit Umlauten und der Synchronisation zu der Instanz auf meinem Raspberry. Hier muss man genau aufpassen, dass der richtige Zeichensatz verwendet wird, sonst werden Dateien mit kryptischen Zeichen im Dateinamen zurücksynchronisiert.

Am besten funktioniert es, wenn ein „Node“ der Master ist und auf alle anderen Geräte nur verteilt wird. Allerdings muss hier die Status-Seite des Masters ab und zu besucht werden um „Änderungen überschreiben“ zu klicken, da durch irgendwelche Bugs manchmal doch bei den Nodes untereinander unklarheit herrscht, welche Dateien gerade aktuell sind. So kann ein bei Einbindung noch nicht vollständig indizierter Node auf die Idee kommen den anderen zu sagen „Diese 10 Dateien habe ich bei mir nicht [weil noch nicht vollständig indiziert], löscht das Zeug auch mal bei euch“. Hier merkt man deutlich, dass die Version erst bei 0.11.26 steht – mit Betonung auf „0.“.

Die Android App

Das eigentliche Ausschlusskriterium ist aber letztendlich die Android App. Hiervon gibt es gleich zwei Stück. Die offizielle App ist in meinen Augen eine unbenutzbare Katastrophe. Sie tut im Wesentlichen nichts anderes als eine Syncthing-Portierung für Android lokal zu starten und einen integrierten Webbrowser die Status-Seite anzeigen zu lassen. Daher gibt es wohl die Alternative Syncthing-Silk, die durch eine speziell für Android angepasste Oberfläche wesentlich benutzerfreundlicher daherkommt. Aber auch diese App konnte letztlich nicht überzeugen, weil sie selbst nach Tagen niemals vollständig irgendeinen Ordner synchronisieren konnte obgleich sie „Update to Date (100%)“ meldete.

Ich hoffe wirklich, dass aus dem sehr interessanten Projekt Syncthing irgendwann mal eine 1.0 mit brauchbarer Android App wird, doch bis dahin ist es ein langer weg.

BitTorrent Sync („BTSync“)

Normalerweise habe ich Closed Source Software im Umgang mit meinen Daten abgeschworen, nach meinen Erfahrungen mit den derzeitigen Alternativen (siehe oben) und der kürzlichen Änderung des Preismodells und Aufhebung des 10-Ordner-Limits ist die Software doch wieder interessant für mich geworden.

BTSync hat Syncthing spürbar so einiges an Bedienerfreundlichkeit voraus und bietet zudem eine viel bessere Übersicht, welche Peers/Nodes für welche Freigabe welchen Status haben. Dazu gibt es eine Historie pro Freigabe und Node.

Anders als bei Syncthing gibts hier in Sachen Synchronisation und Umgang mit Umlauten nichts zu meckern. Es sei lediglich angemerkt, dass die Synchronisation weniger penibel ist und so z.B. auch nicht das originale Änderungsdatum auf andere Nodes übertragen wird. Hier hat man wohl schon die Erfahrung gemacht, dass nicht jedes Dateisystem bzw. jede Plattform ein manuelles Setzen des letzten Änderungsdatums erlaubt. Somit funktioniert BTSync auch dort, wo Syncthing aus technischen Gründen nicht mehr mithalten kann.

Die Android App

Mir das wichtigste und auch eine sehr große Stärke von BTSync ist definitiv die Android App (und für iOS sicher vergleichbar). Hier kann über eine gut zu bedienende Oberfläche pro Freigabe entschieden werden, ob diese „selektiv synchronisiert“ (= Einzeldatei-Download wie bei den Apps von Copy & SeaFile) oder vollständig synchronisiert werden soll. Diese Synchronisation funktioniert dann auch einwandfrei und nach wenigen Minuten sind die Datenstände auf SD-Karte und PC identisch, was ein abschließender Vergleich mit FreeFileSync für mich bestätigt hat.

Privatsphäre bei Closed Source?

Das Thema Privatsphäre und Vertrauen bleibt natürlich akut im Umgang mit proprietärer Software. Bisher hat mir BTSync noch keinen Anlass zu Misstrauen gegeben, obgleich ich natürlich nicht genau weiß, was die Software bei den durch mein GlassWire gezählten Verbindungen überträgt. Ich zähle mal nur die externen ausgehenden Datenströme auf, die während der letzten zwei Wochen Nutzung gesehen wurden und wohl aufgrund der geringen Datenmengen maximal eine Dateiliste, keinesfalls aber Inhalte sein können:
857 KB an relay-02.utorrent.com, 250 KB an 66.63.177.26.static.quadranet.com, bis zu 100 KB an ca. 10  Adressen wie ec2-52-0-104-40.compute-1.amazonaws.com (d.h. alles EC2-Instanzen), 10 KB an license-getsync-1676515006.us-east-1.elb.amazonaws.com

Fazit

Ich muss zugegeben aufgrund von Bedienerfreundlichkeit und einwandfreier Funktionalität recht angetan von BitTorrent Sync zu sein. Natürlich verbleiben immer Vorbehalte gegen proprietäre Software und darum hoffe ich, dass Syncthing eines Tages die 1.0 erreicht und genauso gut ist oder BTSync vielleicht doch noch Open Source wird, um alle Zweifel auszuräumen.

Ich habe entschieden bis dahin BTSync zu benutzen und habe mir die „Sync Pro“-Lizenz für einmalig(!) 35€ gegönnt. Diese bietet den Vorteil noch einfacher alle Ordner auf allen eigenen Geräten zu synchronisieren – mein Desktop, Raspberry und Uberspace sind alle über eine Sync Pro Lizenz miteinander verbunden.