Dropbox plugin für Synology NAS

Dropbox ist ein beliebter Cloud Storage Anbieter. Synology stellt moderne NAS Systeme her, die vor allem im privaten Umfeld punkten. Die Funktionalität des NAS kann durch Plugins ergänzt werden. Was bisher fehlte war ein Plugin zur Anbindung von Dropbox.

Dem Thema haben sich nun 2 Entwickler angenommen. Jonathan Poland hat das Synology-Plugin Synobox geschrieben, dass aktuell in Version 0.4.6 als Paket zum Download bereitsteht.

Diese noch frühe Version der Software unterstützt noch kein Unicode (also keine Umlaute, etc. in Ordnern und Dateinamen) und synchronisiert nur von Dropbox zu Synology, aber nicht umgekehrt. Auf Nachfrage schrieb mir der Entwickler, dass er beruflich viel zu tun hat und nur begrenzt Resourcen in das Projekt stecken kann. Wenn einmal ein paar Wochen keine Updates kommen, ist aber deshalb noch kein kompletter Stillstand zu befürchten.

Christian Bourgeois hat nun vor kurzem einen Branch erstellt. Er hat die Software deutlich erweitert. Er arbeitet an einer Synchronisierung in beide Richtungen und Unterstützung von Unicode. Zu dieser noch in Entwicklung befindlichen Variante gibt es noch kein fertiges Paket zum Herunterladen. Versierte Anwender mit Erfahrung im Umgang von Versionskontrollsystemen und Python können aber das Paket selbst erstellen.

Wer das Synology Plugin Synobox testen möchte, dem gebe ich hier eine kurze Anleitung…

Zunächst einmal ist natürlich ein Dropbox-Zugang erforderlich. Danach muss man Dropbox-App-Entwickler werden mit Klick auf „create an app“. Dazu erstellt man eine neue Dropbox-App. Bei „app name“ vergibt man einen eindeutigen Namen, z.B. „synobox_user0815“ und kreuzt als access level „app folder“ an. Dann auf „create“ drücken. Im darauf folgenden Fenster kann man noch den Dropbox-Ordner unter „name of app folder“ anpassen. Nachdem man sich die Werte für „App key“ und „App secret“ notiert hat drückt man „update“.

Nun meldet man sich auf der Synology Weboberfläche DSM via Browser an, also etwa http://192.168.x.x:5000/webman/index.cgi (IP-Adresse anpassen!). Dort startet man das Paketzentrum. Unter „verfügbar“ wählt man das Plugin „Python“ aus, installiert und startet es.

Spätestens jetzt lädt man das aktuelle Synobox Paket herunter (Link siehe oben). Wieder im Paketzentreum drückt man „installieren/aktualisieren“ und lädt das Paket hoch. Anschließend installiert man es.

Über Systemsteuerung, gemeinsame Ordner erstellt man einen neuen Ordner, z.B. „dropbox“ und gibt dem Benutzer „guest“ Schreibrechte. Falls noch nicht erfolgt startet man über Systemsteuerung, Terminal den SSH-Dienst.

Über einen SSH-Client, z.B. Putty, meldet man sich nun am NAS als Benutzer root an (Paßwort wie Benutzer admin im DSM). Nun wechselt man mit „cd /usr/syno/synoman/webman/3rdparty/SynoBox“ in den Synobox-Installationsordner. Nun setzt man noch Berechtigungen mittels „chmod 666 cfg.ini“ und „chmod 666 sbx.log“. Nun ist noch die Konfigurationsdatei mit dem Editor vi zu bearbeiten „vi cfg.ini“. Beispiel:

PYTHON=/usr/bin/python
[UI]
UI_FOLDER=/volume1/dropbox
UI_APP_KEY=abcdefghijk
UI_APP_SECRET=abcdefghijk

Es ist der Installationsort der Programmiersprache Python sowie der erstellte, gemeinsame Ordner auf dem NAS anzugeben. Außerdem sind die zuvor bei Dropbox notierten Entwicklerdaten zu hinterlegen.

Danach ist im Browser folgende URL aufzurufen und der „Authorize“ Knopf zu drücken: http://192.168.x.x:5000/webman/3rdparty/SynoBox/index.cgi (IP-Adresse des NAS anpassen!). Daraufhin wird in Dropbox ein Ordner Apps mit einem Unterordner angelegt (der  lautet, wie zuvor vergeben).

Im Anschluß wechselt man im DSM wieder ins Paketzentrum und startet das Synobox-Plugin.

Sobald nun eine eine Datei oder ein Ordner in Dropbox unter /Apps/xxx/… abgelegt wird beginnt die Synchronisierung. Mit der URL http://192.168.x.x:5000/webman/3rdparty/SynoBox/sbx.log kann der Fortschritt im Synobox-Protokoll beobachtet werden.

Ordner oder Dateien, die Zeichen außerhalb des ASCII-Zeichensatzes beinhalten  (z.B. Umlaute), werden z.Z. noch nicht unterstützt. Es führt zu folgendem Fehler:

UnicodeEncodeError: ‚ascii‘ codec can’t encode character u’\xf6′ in position 82: ordinal not in range(128)

Dieser Beitrag wurde unter Storage abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.