Threema Safe mit Nextcloud nutzen

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 4.600 Mitglieder helfen dir weiter. > Frage stellen <
  • Edit: @marc_michalsky@chaos.social hat auf Mastodon ein Videotutorial hierzu gemacht. (englisch)

    Hier mal eine kleine Anleitung, wie man am besten Nextcloud für Threema Safe verwenden kann. Threema Safe benutzt WebDAV und das kann Nextcloud, also kann man auch Nextcloud damit benutzen!

    • Am besten legt man in der Nextcloud einen extra Nutzer an, besonders wenn man den Backupzugriff später auch für andere Nutzer erlauben möchte. Dies erhöht eionfach die Separierung und man kann auch den Speicherplatz für diese Threema-Backups dann begrenzen.
      Außerdem kann man so den Speicherplatz, der von Threema genutzt werden kann, beschränken.
    • Man erstellt beispielsweise einen "threemasafe" Ordner und darin einen "backups" Ordner. Achtung: Groß- und Kleinschreibung beachten! Es muss hier alles klein geschrieben werden.
      Außerdem legt man in dem Ordner noch eine Datei namens "config" (ohne Dateiendung!) mit folgendem Inhalt an: (Tipp: Im Nextcloud-Webinterface kann man einfach "Textdatei" auswählen, das funktioniert.)


      Code
      {
          "maxBackupBytes": 524288,
          "retentionDays": 180
      }
    • Die Konfigurationsdatei sollte eigentlich nur lesbar sein, aber ich habe keinen Weg gefunden, dies mit Nextcloud umzusetzen. Ansonsten folgt sie dem Standard von Threema, erlaubt bei "maxBackupBytes" also z.B. 4MiB und 180 Tage maximale Speicherung.
      Man beachte bitte, dass diese Werte hier natürlich vollkommen "gefälscht" sind, denn diese Anleitung zeigt nicht, wie man so eine Größenbeschränkung und ein Aufräumen eventuell implementieren kann.


      Am Ende sieht das dann so aus:

    • Nun geht man für den "threemasafe"-Ordner auf den Teilen-Knopf und aktiviert rechts einen "Link [zu] teilen". Dort muss man nun (leider) alle Berechtigungen zum Schreiben und Lesen (also "Hochladen und Bearbeiten") geben, da Threema ja die config lesen können muss und in das Backup-Verzeichnis schreiben können muss.
      Dies sieht dann folgendermaßen aus:


      Am besten vergibt man noch ein Passwort, das schadet nicht, auch wenn die Link-ID schon ziemlich zufällig ist.

      Alternativ könnte man das ganze auch mit einem neues App-Passwort machen, allerdings gibt man dann Zugriff auf den gesamten Account, was man eventuell nicht machen möchte.

    • Die Link-URL die ihr erhaltet sieht in etwa so aus:


      Code
      https://<MYSERVER.ORG>/s/<LINKID>
      https://<MYSERVER.ORG>/s/3mFdaQ6QBgXQYPN


      Von dieser ID benötigt ihr eigentlich nur den letzten Teil, die Link-ID.

    • Ist dies erledigt, bastelt ihr euch jetzt eure URL nach folgendem Schema (mit Beispiel) zusammen:


      Code
      https://<LINKID>:<PASSWORT>@<MYSERVER.ORG>/public.php/webdav/
      https://3mFdaQ6QBgXQYPN:meinPasswort88980878@<myserver.org>/public.php/webdav/


      Habt ihr kein Passwort gesetzt, lasst dies oben einfach leer. Soweit ich weiß, müsst ihr aber trotzdem den "Doppelpunkt" vorher mitschreiben! Es folgt dann auf ihn gleich das @-Zeichen.Tipp: Ihr könnt in vielen Linux-Dateimanagern oder mit extra Programmen ebendiese URL testen. Oft muss dazu "https" nur mit "davs" o.ä. ersetzt werden.
      Edit: Seit einer neueren Threema-Version könnt ihr stattdessen auch den Username/Passwort in der App direkt eingeben. Dazu <LINKID> als Benutzername eintragen und <PASSWORT> als Passwort. (siehe nächsten Schritt)

    • Geht in der App auf Backups, aktiviert "ThreemaSAFE" und gebt diese URL in den "Experten-Einstellungen" an ("Threema-Server verwenden" muss man natürlich vorher deaktivieren).


    Am Ende sollte das ganze funktionieren, und ihr seht, dass eine Datei (mit kryptischen Namen ;) ) im "backup"-Ordner gespeichert wird.
    Hinweis: Natürlich müsst ihr sicherstellen, dass ihr im Falle des Falls, Zugriff auf euren Backupserver habt. Also die Zugangsdaten dafür sicher abspeichern!

    Edit: Danke an Magrathea für den freundlichen Hinweis, dass man auch den Link teilen kann. Ich habe die Anleitung demnach umgeschrieben.
    Wer dennoch App-Passwörter verwenden will: Das Schema am Ende lautet:

    Code
    https://<username>:<devicepassword>@<myserver.org>/remote.php/dav/files/<username>/threemasafe
    https://mysafeuser:W6ENp-meA5s-afBZB-KMwt6-kXjrm@nextcloudserver.com/remote.php/dav/files/mysafeuser/threemasafe

    Nach uwes (Danke auch hierfür), muss bei Owncloud die URL etwas angepasst werden. Statt "remote.php/dav/" muss man hier "remote.php/webdav/" schreiben.
    Die Link-Methode hat übrigens auch den Vorteil, dass man den Haupt-Ordner beliebig umbenennen kann.

    Edit: Alternativ kann man auch eine inoffizielle extra Software, die in Rust von einem Threema-Entwickler geschrieben wurde, selbst hosten und verwenden.

  • Ich habe es mit ownCloud eingerichtet. Der Server wird mir von der App auch bestätigt und Threema holt sich die Daten aus der Config-Datei. Wenn ich allerdings auf "Jetzt sichern" drücke, passiert nichts mehr. In meinem Backup-Ordner auf dem Server ändert sich nichts.

    Einmal editiert, zuletzt von uwes (14. Dezember 2018 um 13:51)


  • Ich habe es mit ownCloud eingerichtet. Der Server wird mir von der App auch bestätigt und Threema holt sich die Daten aus der Config-Datei. Wenn ich allerdings auf "Jetzt sichern" drücke, passiert nichts mehr. In meinem Backup-Ordner auf dem Server ändert sich nichts.

    Dann ist der backups-Ordner vermutlich nicht schreibbar.
    Beachte auch: Unix ist case sensitive. Der Ordner muss also "backups" heissen und nicht "Backup" oder "Backups".

  • Der Ordner ist für Eigentümer und Gruppe beschreibbar. Das sollte doch wohl reichen...
    Und wenn der Name falsch geschrieben wäre, könnte die App die Konfigurationsdatei nicht finden.
    [hr]
    Was ich auch noch komisch finde: Der Knopf "Jetzt sichern" ist zu klein. Bei mir steht "JETZT S...HERN". Ist das niemandem aufgefallen?
    [hr]
    Ich habe jetzt noch Strato HiDrive getestet. Gleiches Ergebnis: Konfigurationsdatei wird gefunden, "Jetzt sichern" fügt aber keine Dateien hinzu.
    Bei GMX habe ich es nicht geschafft, die Serveradresse so einzugeben, daß die Konfigurationsdatei gefunden wird.

    Einmal editiert, zuletzt von uwes (14. Dezember 2018 um 14:36)

  • Erstmal danke an das Entwicklerteam für diese äußerst sinnvolle Funktion!
    Leider schlägt auch bei mir die Einrichtung des Backups fehl. Threema zeigt die Fehlermeldung "Test fehlgeschlagen: HTTPS IO Exception:" dann folgt die webdav-URL zur Config-Datei...
    Woran kann das liegen? Ich verwende Nextcloud in Version 15; die aktuelle Android-Nextcloud App funktioniert tadellos.

    Anregung: Eine Benutzername-Passwort-Abfrage, um die manuella URL-Bastelei zu umgehen.

  • Habe es gerade auch mit Nextcloud 14.04 erstellt.

    Mein Ordner heißt aber nur threema.

    Über eine webdav Serververbindung von Linux/Ubuntu nach meinem Nextcloud Konto habe ich gesehen, dass der threema Ordner normale 755 Berechtigung hat.

    also:
    drwxr-xr-x 3 user user 128 Dez 14 16:09 threema/

    Mein Link (Beipiel) sieht aber so aus:

    Code
    https://user:password@nextcloudserver.com/remote.php/webdav/threema

    Ich denke, dass dieser Link (Beispiel) auch geht, habe ich aber nicht probiert:

    Code
    https://mysafeuser:W6ENp-meA5s-afBZB-KMwt6-kXjrm@nextcloudserver.com/remote.php/dav/files/mysafeuser/threemasafe


    Danke an Threema für die tolle Funktion. Ich habe erst vor ein paar Tagen eine neue Lizenz gekauft, weil an meinen Smartphone ein Komplett-Reset nötig war und ich kein Backup gemacht hatte ... :weinen:

    kkarsten62

  • Dann stimmt was mit deiner Ordnerstruktur nicht. Die Konfigurationsdatei gehört nämlich gar nicht in den "backups"-Ordner...

    Da war sie auch nicht. Threema hat sie ja gefunden.

    Aber warum kann Threema den backups-Ordner nicht selbst erstellen? Das ist wirklich nicht anwenderfreundlich.

    Es geht jetzt. Bei ownCloud ../remote.php/webdav/...

    Einmal editiert, zuletzt von uwes (14. Dezember 2018 um 18:01)

  • Moin

    Danke für die Anleitung @"rugk" .

    Ich würde da allerdings nicht mit einem App-Passwort arbeiten.
    Auch wenn ich Threema grundsätzlich vertraue, halte ich es für sinnvoller, den Zugriff über eine Linkfreigabe zu regeln. So erhält Threema nur die erforderlichen Rechte und keinen Zugriff auf alle Dateien.

    Also in der Anleitung aus Beitrag #1 die Punkte 3. und 4. folgendermaßen ausführen.

    Linkfreigabe erstellen:

    Das Passwort (nicht das selbe Passwort, wie für den Safe verwenden!) in das Feld eintragen und mit der Eingabetaste speichern.

    Die generierte URL:

    Code
    https://cloud.domain.de/s/LINKKID

    so umschreiben:

    Code
    https://LINKKID:PASSWORT@cloud.domain.de/public.php/webdav/


    und als Server-URL bei der Threema-Safe Einrichtung verwenden.

    So hat Threema nur Zugriff auf das Sicherungsverzeichnis.

    Sollte die URL doch mal in falsche Hände gelangen, erhält derjenige nur Zugriff auf die verschlüsselten Threema-Backups und nicht auf die ganze Cloud.

  • Verwende Nextcloud 14.04 mit der ganzen Familie.
    Nun funktioniert die Sicherung mit Samsung S8 wunderbar. Android 8.0
    Mach ich das Gleiche mit einem Samsung A6 Tab funktioniert der Test noch, aber Threema Safe bleibt auf dem Schirm Threema Safe stehen und der Button "jetzt sichern" macht nichts.
    Dann hab ich das noch mit einem Samsung A5 Smartphone versucht, hier tritt das gleiche Problem wie bei dem Tab auf. Beide Geräte auf Android 8.0 bzw 8.1.

    Hat jemand eine Idee, wo das Problem liegen könnte?

    gelöst! bin zu doof zu lesen gewesen. Verzeichnis backups und nicht backup und schon geht es.

    Einmal editiert, zuletzt von AnBu (14. Dezember 2018 um 21:11)

  • Moin

    Der Test überprüft Lesbarkeit und Inhalt der Datei config. Grundsätzlich ist der Zugriff auf den Server bei Dir also möglich.

    Wenn dein Unterverzeichnis "backups" nicht beschreibbar oder nicht vorhanden, passiert anschließend genau das, was Du beschreibst.

    Einmal editiert, zuletzt von Magrathea (14. Dezember 2018 um 20:25)


  • Ich würde da allerdings nicht mit einem App-Passwort arbeiten.
    Auch wenn ich Threema grundsätzlich vertraue, halte ich es für sinnvoller, den Zugriff über eine Linkfreigabe zu regeln. So erhält Threema nur die erforderlichen Rechte und keinen Zugriff auf alle Dateien.


    Laut Anleitung bekommt Threema keinen Vollzugriff. In der Anleitung wird ja empfohlen, einen neuen Benutzer anzulegen.

  • Magrathea Hast du das mal ausprobiert?
    Ich denke nämlich, das wird nicht funktionieren, weil Threema ja WebDAV-Zugriff benötigt. Der Link, den du da erstellst, hat aber nur Zugriff über die Web-Oberfläche, sprich der ist zum Teilen gedacht, so dass du den an andere Menschen senden kannst, und die diese Dateien dann downloaden können.

    Um Threema nicht Vollzugriff zu geben, empfehle ich ja einen neuen Nextcloud-Nutzer zu erstellen. Wenn man natürlich nicht der Admin der Instanz ist, kann das schwer werden, klar…
    Alternativ könnte man z.B. aber auch einen dezidierten Dienst seperat hosten, z.B. Sekurŝranko, ein kleiner Threema-Safe-Server, geschrieben in Rust.

  • Moin


    Laut Anleitung bekommt Threema keinen Vollzugriff. In der Anleitung wird ja empfohlen, einen neuen Benutzer anzulegen.


    Wenn Du mit App-Passwort arbeitest, bekommt Threema Vollzugriff auf den Account. Das ist zwangsläufig so.

    Du kannst natürlich für jede Threema Installation einen eigenen Nextcloud-User anlegen, so wie von rugk vorgeschlagen. Das halte ich aber für unnötig.

    Über die Linkfreigabe lassen sich beliebig viele Threema Installationen mit dem selben Nextcloud-Account verwenden (Ich habe mehrere), und jede Installation hat nur Zugriff auf die eigenen Daten.


    Magrathea Hast du das mal ausprobiert?


    Ja. Ich nutze das Verfahren schon länger in anderen Kontexten.



    Ich denke nämlich, das wird nicht funktionieren, weil Threema ja WebDAV-Zugriff benötigt. Der Link, den du da erstellst, hat aber nur Zugriff über die Web-Oberfläche, ...


    Deshalb verwende ich den generierten Link nicht, sondern nutze die Link-ID für die Server-URL und greife damit über das webdav-Interface von Nextcloud zu.

  • @"rugk"


    Nach uwes (Danke auch hierfür), muss bei Owncloud die URL etwas angepasst werden. Statt "remote.php/dav/" muss man hier "remote.php/webdav/" schreiben.
    Die Link-Methode hat übrigens auch den Vorteil, dass man den Haupt-Ordner beliebig umbenennen kann.


    Die URL https://benutzer:kennwort/remote.php/webdav/unterordner... funktioniert auch bei Nextcloud.


  • Moin
    Wenn Du mit App-Passwort arbeitest, bekommt Threema Vollzugriff auf den Account. Das ist zwangsläufig so.

    Das spielt aber keine Rolle, wenn der Benutzer nur für das Threema-Safe-Backup verwendet wird. Andere Dateien sind dann ja nicht da drin.
    [hr]


    Moin

    Der Test überprüft Lesbarkeit und Inhalt der Datei config. Grundsätzlich ist der Zugriff auf den Server bei Dir also möglich.

    Wenn dein Unterverzeichnis "backups" nicht beschreibbar oder nicht vorhanden, passiert anschließend genau das, was Du beschreibst.

    So was ist nicht benutzerfreundlich. Es sollte eine Fehlermeldung geben, die beschreibt, woran sich Threema stört.

    "Das Verzeichnis backups ist nicht vorhanden." (warum dann nicht gleich anlegen...)
    "Das Verzeichnis backups ist nicht beschreibbar."

    Einmal editiert, zuletzt von uwes (15. Dezember 2018 um 12:25)