Auch in Heimbüros wird kollaboratives Arbeiten immer attraktiver. SparkleShare schafft dazu unkompliziert die Basis.
Lokal installierte Cloud-Dienste vereinfachen auch im Heimnetzwerk oder in kleinen Unternehmen die Datenspeicherung und das kollaborative Arbeiten enorm. Allerdings erfordern die gängigen Lösungen vor allem bei der Installation des Servers erhebliche Vorkenntnisse und lassen sich zudem aufgrund zahlreicher Abhängigkeiten nur schwer konfigurieren.
Da sich die Entwickler zudem meist an den Anforderungen größerer Unternehmen orientieren, fällt der Funktionsumfang in aller Regel überdimensioniert aus. Hier hilft das vom Berliner Unternehmen Planio GmbH speziell für kleinere Infrastrukturen entwickelte SparkleShare, mit dem Sie Ihren eigenen Cloud-Host und die Clients innerhalb weniger Minuten betriebsbereit aufsetzen [1].
Erste Schritte
SparkleShare basiert auf Git, GTK+ und Mono, sodass sich unerwünschte Änderungen an Daten im Nachhinein wieder rückgängig machen lassen. Zudem besteht die Möglichkeit, Github oder Gitorius als extern gehostete Lösung zu integrieren, wobei die Software jedoch auch einen lokal zu installierenden Server bereitstellt.
Der Client von SparkleShare findet sich in den Repositories der meisten gängigen Distributionen, sodass Sie ihn samt aller Abhängigkeiten bequem über die Paketverwaltung installieren. Den Server spielen Sie mithilfe der Flatpak-Paketverwaltung und Curl auf das System.
Dazu gilt es, zunächst Flatpak selbst zu installieren, das Sie ebenfalls in den Software-Archiven der meisten aktuellen Distributionen finden. Zusätzlich stehen eigene Flatpak-Repositories bereit, die Sie in die Paketverwaltung integrieren können. Entsprechende Hinweise dazu finden Sie, nach Distributionen geordnet, auf der Webseite des Flatpak-Projekts [2]. Auch Curl holen Sie in der Regel aus den Paketquellen, oft ist das Programm aber auch schon vorinstalliert.
Haben Sie diese Voraussetzungen erfüllt und die beiden Pakete in das Betriebssystem integriert, dann laden Sie mithilfe von Flatpak die Server-Pakete herunter und richten sie ein. Danach spielen Sie SparkleShare mithilfe eines Installationsskripts ein (Listing 1).
Listing 1
$ sudo -s # apt install curl flatpak openssh-server # flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo # flatpak install flathub org.sparkleshare.SparkleShare # curl https://raw.githubusercontent.com/hbons/Dazzle/master/dazzle.sh --output /usr/bin/dazzle # chmod +x /usr/bin/dazzle # dazzle setup # exit
Anschließend legen Sie mittels des Befehls sudo dazzle create Ordner einen neuen Projektordner an, aus dem heraus SparkleShare in Zukunft Daten zwischen mehreren Rechnern abgleichen soll. SparkleShare zeigt nun im Terminal die SSH-Adresse an, unter der Sie den Server erreichen. Außerdem finden Sie hier den Pfad des Projektordners für die Datenspeicherung und Synchronisation, den Sie immer aus dem Home-Verzeichnis des Computersystems unter /home/storage/ erreichen.
Möchten Sie unterschiedliche Ordner mit verschiedenen Rechnern abgleichen, richten Sie für jeden Client oder jede Client-Gruppe, die auf dasselbe Verzeichnis zugreifen soll, einen eigenen Projektordner an. Dazu wiederholen Sie für die einzelnen Ordner den Befehl sudo dazzle create Ordner.
Die Client-Systeme greifen über eine SSH-Verbindung auf den Server zu, die eigentlichen Daten landen jedoch unverschlüsselt auf dem Server. Alternativ lassen sich auch verschlüsselte Ordner anlegen, in denen Dritte die Daten nicht einsehen können. Dazu legen Sie einen Projektordner mit dem Befehl sudo dazzle create-encrypted Ordner an. SparkleShare verschlüsselt die Daten dann schon auf dem Client mit OpenSSL/AES256-CBC.
Client
Auf den Clients installieren Sie das SparkleShare-Frontend in der Regel über die Paketverwaltung. Danach finden Sie in den Menüs einen entsprechenden Eintrag. Nach einem Klick darauf öffnet sich im System-Tray des Desktops ein kleines, ockergelb eingefärbtes Ordnersymbol. Ein Linksklick darauf öffnet ein Kontextmenü, in dem Sie zunächst die Option SparkleShare anwählen und danach die Einträge Client ID | Copy to Clipboard.
Die nun in die Zwischenablage kopierte Client-ID müssen Sie auf den Server übertragen. Dieser Schritt erfordert etwas Handarbeit. Dabei kann der Befehl ssh-copy-id zum Einsatz kommen, mit dem man üblicherweise SSH-Schlüssel auf einen Server kopiert.
Alternativ lässt sich der Schlüssel auch per E-Mail versenden, wobei diese allerdings unverschlüsselt durchs Netz wandert. Sichern Sie dazu den Schlüssel unformatiert in einem Texteditor, und senden Sie die so generierte Datei auf den Server. Dort kopieren Sie den Key in die Zwischenablage und rufen dann im Terminal den Befehl dazzle link auf. Hier geben Sie den Schlüssel nach der entsprechenden Aufforderung ein (Abbildung 1).
Eine weitere Option, den Schlüssel auf den Server zu transferieren, besteht in der Nutzung eines USB-Sticks. Dabei legen Sie ebenfalls eine Key-Datei mit einem Texteditor an und speichern diese auf dem USB-Stick. Am Server angeschlossen, kopieren Sie die Schlüsseldatei und lesen sie wie bereits beschrieben mit dazzle link ein.
Nun kennt der Server den RSA-Key des Clients. Auf dem Client selbst rufen Sie danach im Kontextmenü von SparkleShare die Option Add Hosted Project… auf, um den Einrichtungsassistenten zu öffnen. Darin klicken Sie zunächst im Bildschirm Where’s your project hosted? auf die Option On my own server. Anschließend geben Sie die SSH-Adresse und den Ordnerpfad des Servers an, die dieser Ihnen nach dem Aufruf des Befehls dazzle create Ordner angezeigt hat (Abbildung 2).
Die Routine gleicht nun den RSA-Key zwischen Server und Client ab und integriert den Ordnerpfad in das Menü im System-Tray. Der Installationsassistent zeigt Ihnen anschließend den erfolgreichen Verbindungsaufbau an. SparkleShare gleicht nun fortwährend die im ausgewählten Ordner gespeicherten Daten zwischen Server und den angebundenen Client-Installationen ab.
Verschlüsselt
Haben Sie für den Projektordner auch die Datenverschlüsselung gewählt, so erscheint auf dem Client bei der Verbindungsaufnahme im Assistenten ein Dialog zur Eingabe des Passworts. Erst danach erhalten Sie Zugriff auf den Ordner. Beachten Sie bitte, dass sich das Passwort nicht wiederherstellen lässt. Geht es beispielsweise durch eine Neuinstallation der Software verloren, geht der Zugriff auf die im Projektordner verschlüsselt gespeicherten Daten verloren (Abbildung 3).
Das Passwort müssen Sie in der Folge nicht bei jedem Systemstart eintippen. Es dient primär dazu, neue Anwender zu authentifizieren, die Zugriff auf den verschlüsselten Ordner erhalten wollen. Die Dateinamen und Unterordner in einem verschlüsselten Projekt erscheinen nach wie vor im Klartext; SparkleShare verschlüsselt ausschließlich die jeweiligen Inhalte.
Zugriff
Um Zugriff auf die Cloud-Daten zu erhalten, öffnen Sie auf dem Client einen Dateimanager und navigieren dort zum Ordner SparkleShare unterhalb des Home-Verzeichnisses. Dort finden Sie alle zuvor konfigurierten Projektordner; der Zugriff funktioniert wie bei normalen lokalen Dateien. Eine weitere Authentifizierung fällt nicht an. Der Hintergrunddienst von SparkleShare sorgt dafür, dass Änderungen umgehend an den Server und weitere Clients durchgereicht werden.
Möchten Sie vorübergehend die Synchronisierung eines Ordners unterbrechen, etwa um Änderungen an den Daten auszutesten, dann klicken Sie im Kontextmenü des betreffenden Ordners im System-Tray auf Pause. Mit einem Resume im selben Menü nehmen Sie den Datenabgleich später wieder auf. An dieser Stelle im Menü sehen Sie außerdem, wann die letzte Synchronisation stattfand.
SparkleShare synchronisiert die Ordner bei jeder Modifikation. Möchten Sie die letzten Aktivitäten prüfen, so klicken Sie dazu im Kontextmenü des SparkleShare-Symbols im System-Tray auf die Option SparkleShare | Recent Changes…. Die Software öffnet nun einen übersichtlichen Bildschirm mit den letzten Änderungen und den dazugehörigen Akteuren. Außerdem verdeutlichen kleine Symbole vor den eigentlichen Dateinamen, ob die Files hinzugefügt oder entfernt wurden (Abbildung 4).
Manueller Sync
SparkleShare beherrscht derzeit noch nicht das manuelle Synchronisieren von Projekten über entsprechende Menüoptionen. Das führt dazu, dass Sie eventuell ein wenig warten müssen, bis Änderungen von anderen Clients auf Ihrem Rechner aufschlagen. Ein sofortiger Abgleich lässt sich allerdings von Hand erzwingen: Dazu starten Sie entweder den Client neu oder stoßen über die Funktionen Pause und Resume (jeweils im Kontextmenü des Programmsymbols im System-Tray) einen Abgleich an.
Versionsverwaltung
Da SparkleShare die Versionsverwaltung Git integriert, lassen sich ältere Versionen einer Datei bei Bedarf recht einfach rekonstruieren. Dazu klicken Sie in der Versionsverwaltung Recent Changes… in der Liste der Veränderungen auf die Uhrzeit vor der gewünschten Datei.
Da SparkleShare alle Modifikationen nach Tagesdatum und Uhrzeit sortiert speichert, können Sie zum gewünschten Tag scrollen und anschließend nach einem Klick auf die Uhrzeit mithilfe der Option Restore die Datei unter einem anderen Namen an einem wahlfreien Ort ablegen.
Die Software zeigt alle Änderungen an, inklusive jener, die von anderen Anwendern kommen. Dadurch bietet sich außerdem die Möglichkeit, Dateien zu rekonstruieren, die von anderen Nutzern des Projektordners stammen. Somit eignet sich SparkleShare auch sehr gut für das kollaborative Bearbeiten von Dateien.
Fazit
SparkleShare positioniert sich als unkomplizierte Lösung für eine Cloud im heimischen Netz oder einem kleinen Intranet. Die Software bietet ähnliche Funktionen wie proprietäre Alternativen, belässt aber alle Daten unter Ihrer Kontrolle. Mithilfe der integrierten Verschlüsselung erschweren Sie zudem Angreifern den Zugriff auf die synchronisierten Daten. SparkleShare lässt sich einfach bedienen, bietet einen ordentlichen Funktionsumfang und arbeitet zuverlässig. Der Assistent mit kleinem Tutorial sorgt dafür, dass der Einstieg leicht gelingt. Nur bei der Installation und beim Übertragen des RSA-Schlüssels wünscht man sich ein wenig mehr Unterstützung.
Infos
-
SparkleShare: https://www.sparkleshare.org
-
Hinweise zu Flatpak: https://flatpak.org/setup









