Skip to content

Instantly share code, notes, and snippets.

@rolfn
Last active June 26, 2025 10:32
Show Gist options
  • Save rolfn/4e9d373bb690adc7b1a8717d853190c1 to your computer and use it in GitHub Desktop.
Save rolfn/4e9d373bb690adc7b1a8717d853190c1 to your computer and use it in GitHub Desktop.
Zugriff auf Online-Speicher per »Rclone«

Zugriff auf Online-Speicher per »Rclone«

Das Programm »Rclone« ist geeignet, auf eine Vielzahl von Online-Speicher (»Dropbox«, »Onedrive«, »S3«, diverse WebDav-Zugänge u.v.a.) zuzugreifen. Gelingt es, diese Online-Speicher beim Einloggen in einen Linux-Rechner automatisch zu mounten, ergeben sich viele bequeme Möglichkeiten, eigene Dateien zu sichern oder auf sie von anderen Orten aus zuzugreifen. Man kann den gesamten Online-Speicher oder Teile davon von »Rclone« verschlüsseln lassen, womit man auch sensible Daten an wenig verlässlichen Speicherorten unterbringen kann. Hervorzuheben ist, dass die Dokumentation von »Rclone« gut verständlich geschrieben ist. Auch lässt sich die Konfiguration sehr einfach durchführen.

Im Folgenden wird beschrieben, wie man den Zugriff auf ausgewählte Online-Speicher einrichtet. Es wird dabei von Möglichkeiten des Linux-Dienstes »systemd« Gebrauch gemacht. »Rclone« ist unter »openSUSE« im Standard-Repositorium enthalten. Für andere Linux-Distributionen, »MacOS« und »Windows« wird das Programm ebenfalls angeboten.

Mounten eines Online-Speichers

Konfiguration des Zugriffs

Die Zugriffs-Konfiguration startet man mit

rclone config

Die zu beantwortenden Fragen sind weitgehend selbsterklärend und führen am Ende zu einer Konfigurationsdatei $HOME/.config/rclone/rclone.conf, die z.B. für den Online-Speichers »gmx.de« (»WebDav«) einen Bereich enthält, der dem folgenden ähnlich sieht:

[gmx]
type = webdav
url = https://mediacenter.gmx.net
vendor = other
user = [email protected]
pass = ???????????????????????????????????

Mit

rclone ls gmx:

kann man den Inhalt des Wurzelverzeichnisses des Online-Speichers auflisten und z.B. mit

rclone copy MeineDatei.txt gmx:

eine Datei dorthin kopieren. Näheres siehe Dokumentation von »Rclone«.

Automatisches Mounten des Online-Speichers

Der durch gmx: symbolisierte Online-Speichers kann testweise folgendermaßen ins Dateisystem eingebunden werden:

rclone --vfs-cache-mode writes mount gmx: $HOME/mnt/gmx

Über den vorher zu erzeugenden Mount-Punkt $HOME/mnt/gmx hat man Zugriff auf den Online-Speicher, solange der gezeigte Befehlsaufruf nicht beendet wird. Um diesen Zustand automatisch zu erreichen, sobald sich der betreffende Nutzer eingeloggt hat, kann man wie folgt vorgehen.

Anlegen der Datei $HOME/.config/systemd/user/[email protected]:

[Unit]
Description=rclone: Remote FUSE filesystem for cloud storage config %i
# see: https://gist.github.com/kabili207/2cd2d637e5c7617411a666d8d7e97101
#      https://github.com/nilreml/rclone-mount-systemd 
Documentation=man:rclone(1)
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
ExecStartPre=-/usr/bin/mkdir -p %h/mnt/%i
ExecStart= \
   /usr/bin/rclone mount \
    --config=%E/rclone/rclone.conf \
    --vfs-cache-mode writes \
    --vfs-cache-max-size 100M \
    --log-level INFO \
    --log-systemd \
    --umask 022 \
    %i: %h/mnt/%i
ExecStop=/usr/bin/fusermount -zu %h/mnt/%i

[Install]
WantedBy=default.target

Anmelden des Services zum späteren automatischen Start sowie der sofortige Start geschieht folgendermaßen:

systemctl --user enable --now [email protected]

Test:

systemctl --user status [email protected]
journalctl --user-unit [email protected] 

In gleicher Weise geht man beim Mounten anderer für »Rclone« definierte Online-Speicher vor. Allgemein gilt:

systemctl --user enable --now [email protected]

Mit den folgenden Funktionen (z.B. innerhalb von ~/.bashrc definiert) hat man zusätzlich zum automatischen Einbinden noch die Möglichkeit des einfachen Mountens und Unmountens:

function __mnt_online () {
  local mp="$HOME/mnt/$1"
  if $(mountpoint -q ${mp}); then
    systemctl --user stop rclone@$1.service
    echo "\"$mp\" unmounted"
  else
    systemctl --user start rclone@$1.service
    echo "\"$mp\" mounted"
  fi
}

function mountGMX () {
  __mnt_online "gmx"
}

function mountGMXcrypt () {
  __mnt_online "gmx.crypt"
}

Ein erster Aufruf von mountGMX bindet den Online-Speicher »gmx« unter ~/mnt/gmx ein. Wiederholt man denselben Aufruf, wird er wieder ausgehangen.

Verschlüsseln eines Online-Speichers

Es soll erreicht werden, dass ein einzelnes Verzeichnis in dem schon existierenden Online-Speicher »gmx« nur verschlüsselte Dateien enthält. Zuerst muss der grundsätzliche Zugang zu »gmx« eingerichtet werden (siehe oben). Danach erzeugt man das Verzeichnis, beispielsweise unter dem Namen enigma:

rclone mkdir gmx:enigma

Im nächsten Schritt muss eine weitere Rclone-Zugangsdefinition per rclone config erzeugt werden (Typ: »Encrypt/Decrypt a remote«). Sie muss einem bereits existierenden Online-Zugang zugeordnet werden. Es soll in diesem Beispiel das zuvor auf »gmx« angelegte Verzeichnis enigma benutzt werden. Für die später automatisch durchgeführte Ver- und Entschlüsselung kann angegeben werden, ob außer dem Dateiinhalt auch Datei- und Verzeichnisnamen verschlüsselt werden sollen. Zu weiteren Angaben wie z.B. die Stärke der Verschlüsselung findet man in der Dokumentation Hinweise. Es entsteht also ein weiterer Eintrag in $HOME/.config/rclone/rclone.conf der folgenden Art:

[gmx.crypt]
type = crypt
remote = gmx:enigma
filename_encryption = standard
directory_name_encryption = false
password = ???????????????????????????????????
password2 = 

Bindet man so wie oben erläutert gmx: und gmx.crypt: ins Dateisystem ein, erreicht man über den Crypt-Zugang ($HOME/mnt/gmx.crypt) das transparente Ver- und Entschlüsseln beim Hin- und Herkopieren. Über den direkten Zugang ($HOME/mnt/gmx/enigma) sieht man nur verschlüsselte Dateien.

Anders als in diesem Beispiel kann auch ein kompletter Online-Zugang verschlüsselt werden.

Grafische Oberfläche »Rclone Browser«

Einige Funktionen des Programms »Rclone« lassen sich auch über die grafische Oberfläche »Rclone Browser« ausführen. Die Entwicklung des »Rclone Browsers« begann hier und wird derzeit hier weitergeführt.

Installation unter OpenSUSE

Die neueste Version als Debian-Paket von hier herunter laden und ins rpm-Format wandeln

alien --to-rpm rclone-browser_x.y.z-amd64.deb

und installieren:

zypper install rclone-browser-x.y.z.x86_64.rpm

Installation unter Ubuntu

Die neueste Version als Debian-Paket von hier herunter laden und installieren:

apt install ./rclone-browser_x.y.z-amd64.deb

Grafische Oberfläche für Android

Über den freien App-Store »F-Droid« lässt sich die App »RCX Rclone« installieren (siehe auch hier). Wenn man die bereits auf dem PC existierende Datei rclone.conf auf das Smartphone kopiert und der App »RCX Rclone« bekannt macht, hat man auch unter Android Zugriff auf dieselben Online-Speicher.


Erfolgreich getestet wurden auch der Zugang zu »GoogleDrive«, »S3«, »Onedrive« und »Mega«.

Die Konfigurationsdatei $HOME/.config/rclone/rclone.conf kann leicht auf einem anderen Rechner verwendet werden, um exakt dieselben Zugangsmöglichkeiten auch dort nutzen zu können.

Rolf (2025/06)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment