Raspberry Pi – DropBox benutzen

DropBox ist ein Dateisynchronisationsdienst den bestimmt jeder schon mal genutzt bzw. davon gehört hat. Diesen kann man über Umwege auch auf dem Rasperry Pi nutzen.

Die versuchte Installation

Zunächst versuchte ich den Sourcecode des DropBox-Clients zu kompilieren. Das funktionierte auch einwandfrei. Wer dies nachmachen möchte:

mkdir ~/dropbox
cd ~/dropbox
sudo apt-get install libnautilus-extension-dev python2.7-dev python-gobject-2-dev python-gtk2 python-docutils
wget "https://www.dropbox.com/download?dl=packages/nautilus-dropbox-1.4.0.tar.bz2"
tar xfv [Datei]
cd nautilus-dropbox-1.4.0/
./configure
make
sudo make install

Danach könnt ihr zwar „dropbox“ aufrufen, aber um es benutzen zu können, muss man erst den DropBox-Daemon installieren. Hier ist der Knackpunkt: Der Daemon ist proprietär und steht für ARM-Systeme leider nicht zur Verfügung, sodass ein Aufruf von „dropbox start -i“ mit der Fehlermeldung scheitert:

Error: Platform not supported

DropBoxl lässt sich über diesen Weg nicht nutzen. In diesem Fall müssen wir warten, bis DropBox einen Daemon für die entsprechende Architektur bereitstellt.

Der Lösungsweg über die API

DropBox bietet eine API an, sodass man auf gewisse Funktionen des Dienstes zugreifen kann. Ein schlauer Kopf hat damit einen Bash DropBox Client geschrieben. Damit kann man zwar nur grundlegende Funktionen, wie z.B. das Hochladen, Herunterladen, Löschen von einzelnen Dateien nutzen, doch das kann bereits ausreichen.

Installation und Konfiguration des DropBox Uploaders

Wir erstellen uns einen Ordner, klonen das Repository und führen das Script aus:

mkdir ~/dropbox
cd ~/dropbox
rm -rf *
git clone git@github.com:andreafabrizi/Dropbox-Uploader.git
./dropbox_uploader.sh

Nun müssen wir nur noch den Zugriff einrichten. Die Schritte dazu werden vom Script deutlich erklärt. Zusammengefasst müsst ihr auf die App-Developer Seite von Dropbox, um eine neue App zu erstellen. Die generierten Schlüssel müssen dann eingegeben werden. Zuletzt muss man noch den Oauth-Link bestätigen. Damit sollte die Konfiguration abgeschlossen werden.

Die Nutzung des DropBox Uploaders

Einmal den DropBox Uploader ausgeführt und man sieht, was man alles machen kann:

pi@raspberrypi ~/dropbox  ./dropbox_uploader.sh
Andrea Fabrizi - andrea.fabrizi@gmail.com
Usage: ./dropbox_uploader.sh COMMAND [PARAMETERS]...
Commands:
	 upload   [LOCAL_FILE]  <REMOTE_FILE>
	 download [REMOTE_FILE] <LOCAL_FILE>
	 delete   [REMOTE_FILE/REMOTE_DIR]
	 mkdir    [REMOTE_DIR]
	 list     <REMOTE_DIR>
	 share    [REMOTE_FILE]
	 info
	 unlink

For more info and examples, please see the README file.

Demnach kann man nur einzelne Dateien hoch- bzw. herunterladen. Ein Upload von Ordnern könnte man jedoch rekursiv durchführen. Man sollte jedoch beachten, dass in den Developer-ToS, welchen man zugestimmt hat, folgendes steht (1.3):

(b) We may limit the number of calls accepted by the API if we believe that the number of calls to the Dropbox API may negatively impact the Dropbox API or Dropbox service.

Demnach sollte man nicht zu viele API Aufrufe in einer geringen Zeit durchführen. Für die Synchronisation von einigen wichtigen Dateien reicht das Script jedoch vollkommen aus.

~Sebastian