- Die offizielle syncthing-android-App wird eingestellt; das letzte Release auf GitHub und F-Droid soll zusammen mit der Syncthing-Version vom Dezember 2024 erscheinen
- Hintergrund der Einstellung ist eine Kombination daraus, dass die Verteilung über Google Play „schwierig bis unmöglich“ geworden ist, und dem Fehlen aktiver Wartung
- Die Blockade von Play-Store-Releases ist nicht der einzige Grund; um die App wiederzubeleben oder weiterzuführen, müsste jemand die langfristige Wartung übernehmen
- Syncthing selbst verschwindet nicht von Android; als Alternativen werden die weitere Nutzung der bestehenden App, Syncthing Fork und der Betrieb über Termux diskutiert
- Die letzte offizielle App wird vermutlich noch eine Zeit lang funktionieren; wer neuere Syncthing-Versionen benötigt, sollte erwägen, die Konfiguration zu exportieren und zu einem Fork zu wechseln
Ende der offiziellen syncthing-android-App
- Die Einstellung der offiziellen syncthing-android-App ist beschlossen; das letzte Release auf GitHub und F-Droid soll zusammen mit der Syncthing-Version vom Dezember 2024 erfolgen
- Der Hintergrund ist das Zusammentreffen zweier Faktoren
- Google habe die Verteilung über Play „schwierig bis unmöglich“ gemacht
- Für die App fehlt aktive Wartung
- An der App gab es lange keine nennenswerte Entwicklung mehr, und da auch Play-Releases schwieriger wurden, nahmen Nutzen und Motivation für fortlaufende Wartung ab
- Den Mitwirkenden der App wurde gedankt, und auch mehrere Nutzer äußerten Dank für die Wartung sowie Bedauern über die Einstellung
Probleme mit der Play-Store-Verteilung und Grenzen der Wartung
- In der Community gab es Reaktionen, dass die Play-Store-Richtlinien legitime Apps mit erweiterten Berechtigungen benachteiligen
- Apps, die erweiterte Berechtigungen benötigen, lassen sich schwerer in den Store bringen
- Kritisiert wird auch, dass Apps, die Nutzerdaten sammeln oder Spyware nahekommen, ohne größere Sanktionen im Store bleiben
- Es wurde vorgeschlagen, auf F-Droid noch einige weitere Releases bereitzustellen und Hinweise oder Dokumentation für den Umstieg anzubieten
- Das Projekt stellt klar, dass die fehlende Möglichkeit, über allgemeine Vertriebskanäle zu releasen, nur ein zusätzlicher Demotivationsfaktor ist, aber nicht der einzige Grund
- Eine Wiederbelebung oder Fortführung der App wäre nur möglich, wenn jemand langfristigen Aufwand investiert; die App befand sich schon lange im „life support“-Zustand
Syncthing auf Android weiter nutzen
- Die Entscheidung betrifft nur die Einstellung der offiziellen Android-App, die seit Langem nahezu im Ruhezustand war
- Syncthing selbst wird dadurch auf Android nicht unbenutzbar; andere können weiterhin Syncthing-Apps für Android verbreiten
- Es gibt zwar die Sorge, dass Android zunehmend in eine iOS-ähnliche Richtung geht und dadurch schwieriger werden könnte, zugleich wurde aber erwähnt, dass kürzlich sogar eine neue Open-Source-Syncthing-App für iOS entstanden ist
- Der offizielle Ankündigende sagte, er nutze Syncthing selbst auf Android und hoffe persönlich, dass es dort noch lange nutzbar bleibt
Diskutierte Alternativen: Fork und Termux
- Als direkte Alternative wurde Catfriend1/syncthing-android genannt
- Die letzte Version der bisherigen offiziellen App wird nicht mehr aktualisiert, dürfte aber noch eine Zeit lang gut funktionieren
- Wer eine neuere Syncthing-Version benötigt, kann zu Syncthing Fork wechseln
- Die aktuelle Konfiguration lässt sich in den Einstellungen der offiziellen App exportieren
- Sie kann in den Fork importiert werden
- Aus Sicht von Syncthing sind beide Apps miteinander kompatibel
- Auch der Betrieb von Syncthing in Termux wurde als Alternative diskutiert
- Wenn man Dateien exportiert oder kopiert und einige Einstellungen anpasst, funktioniert es
- Ein Nachteil ist, dass man es manuell starten und stoppen muss, wenn das Telefon nicht dauerhaft wachgehalten werden soll
- Es wurde auch angemerkt, dass Android die App im Doze-Modus zwangsweise in den Sleep-Zustand versetzen kann, wenn in den Android-Einstellungen die Akku-Optimierung für Termux aktiviert ist
- Das Web-GUI ist im lokalen Browser unter
http://127.0.0.1:8384 erreichbar; das ist auch bei Nutzung der bisherigen Syncthing-App möglich
Beispielkonfiguration mit Termux + Tasker
- Ein Nutzer bestätigte, dass die Kombination Syncthing + Tasker + Termux als Alternative funktioniert
- Die Installation sieht wie folgt aus
- Tasker aus dem Play Store installieren
- Termux und
termux:tasker aus F-Droid installieren
- Die zusätzlichen Berechtigungen sind folgende
- Tasker:
additional → run commands in termux environment
- Termux:
Appear on top
- Der Befehl zur Installation von Syncthing in Termux lautet
termux-setup-storage
apt install syncthing
- Die Datei
~/.termux/tasker/start-syncthing-for-5minutes.sh erstellen und so konfigurieren, dass Syncthing 5 Minuten lang läuft
#!/usr/bin/bash
timeout -s KILL 5m syncthing
- In Tasker wird eingerichtet, dass dieses Skript von 00:00 bis 23:59 alle 1 Stunde über
Plugin→Termux:Tasker ausgeführt wird
start-syncthing-for-5minutes.sh
- terminal session:
X
- Wenn man im GUI die Option Start browser deaktiviert, öffnet sich beim Start nicht automatisch der Browser
- Exportiert man die Einstellungen aus der bisherigen Android-App und kopiert sie nach
~/.local/state/syncthing, kann man statt einer neuen Installation die bestehende Konfiguration weiterverwenden
- Anschließend kann man in
config.xml username/password für den GUI-Zugriff löschen und sie bei Bedarf neu setzen
2 Kommentare
Syncthing – Open Source für kontinuierliche Dateisynchronisierung
Meinungen auf Hacker News
Die Gespräche mit Google haben nichts gebracht. Die von Google geforderten Änderungen, um die Berechtigung zu erhalten, waren vage, sodass es schwer war herauszufinden, wie man darauf reagieren sollte, und unklar blieb, ob irgendetwas davon Erfolg haben würde.
Danach kamen noch separate Aufgaben hinzu, um bei Play bleiben zu können, etwa die Entwicklerverifizierung und das Ziel-API-Level. Am Ende habe man erkannt, dass man nicht mehr die Motivation und Zeit habe, dieses Spiel weiter mitzuspielen.
Das wirkt ähnlich wie jemand im Unternehmen, der explodiert und behauptet, sein eigener Weg sei besser, statt PR-Kommentare zu beheben. Auch Apple erlaubt nicht einfach das Schreiben in beliebige Verzeichnisse, nur weil ObjC-/Swift-APIs schwer zu benutzen sind.
Früher habe ich in den 2010ern bei Dropbox professionell Android entwickelt und kannte mich auch ein Stück weit mit den alten Android-Dateisystem-APIs aus, bin aber bewusst in Richtung Developer Experience/Backend gewechselt und habe Android verlassen. Den meisten meiner früheren Android-Kollegen ging es ähnlich.
Die endlosen Verfahren und API-Änderungen, die man durchlaufen musste, damit Apps weiter funktionieren, waren extrem schmerzhaft. Als 2014 das neue „sichere“ Storage Access Framework erschien, fand ich eine triviale Directory-Traversal-Schwachstelle, bei der man nur
"../../"im Dateinamen übergeben musste, um in das private Verzeichnis beliebiger Apps zu schreiben. Beim Durchsehen des AOSP-Quellcodes, um SAF zu verstehen, sprang sie mir sofort ins Auge.Android setzte lange Zeit auch ein globales Execute-Bit auf App-Ordner, sodass eine bösartige App Hardlinks auf Dateien anderer Apps per Namen anlegen und diese dann wieder an die jeweilige App übergeben konnte, um über einen Confused-Deputy-Angriff auf Dateiinhalte zuzugreifen.
Es ist erfreulich, dass Android die Sicherheit verbessert hat, aber es wurde auf einem viel zu lockeren Fundament gebaut. Weil unzählige Apps dieses Fundament genutzt oder missbraucht haben, dürften die immer größeren Kompatibilitätsbrüche, die mit stärkeren Sperren einhergehen, Entwickler dazu bringen, das Ökosystem zu verlassen.
[0] Bug 18512473 fixed in https://android.googlesource.com/platform/frameworks/base/+/...
[1] Proof of concept video: https://www.dropbox.com/s/8dpd8visrttqbfo/poc.mp4?dl=0
Ich vermisse die Vision von webOS. Das heißt nicht, dass ich die konkrete webOS-Implementierung von vor 14 Jahren vermisse.
Es gibt einen aktiv gepflegten Syncthing-Fork für Android, und auch wenn es nur eine separate Kennzahl ist, hat er 1,3K Sterne bekommen.
[1] https://github.com/Catfriend1/syncthing-android
Im ursprünglichen Thread sagt der Autor, dass die Veröffentlichung bei Google Play sehr schwierig sei.
Er schreibt: „Der Grund ist, dass Google die Veröffentlichung bei Play schwierig bis unmöglich macht.“ Kann jemand genauer erklären, was hier vor sich geht?
[1]: https://forum.syncthing.net/t/discontinuing-syncthing-androi...
Diese API ist Java-only, und der Kern von Syncthing ist nicht in Java geschrieben. Um beim Lesen und Schreiben von Dateien Android aufzurufen, hätte man also JNI-Glue-Code schreiben müssen. SAF weist jeder Datei eine URI zu und erfordert, die Ordnerstruktur ständig abzufragen; man kann also nicht einfach Pfade wie bei normalen Dateien zusammenfügen, was ziemlich umständlich ist.
Der Autor wollte diese Arbeit nicht machen und versuchte, Google davon zu überzeugen, weiterhin direkten Zugriff auf alle Dateien, Fotos und Dokumente zu erlauben, aber Google lehnte ab. Die „Schwierigkeit“ hier scheint zu bedeuten, dass es wirklich schwer ist, bei Play zu veröffentlichen, wenn man die Richtlinien nicht befolgt. Wie im App Store.
Meine App bekam in einem Minor-Release eine Berechtigung genehmigt, wurde aber in der folgenden Woche abgelehnt, obwohl es nur eine kleine Änderung an der App gab. Wenn man den Google-Play-Support kontaktiert, sind die Antworten immer vage, standardisiert und repetitiv. Man weiß nie, ob ein App-Update genehmigt wird; das ist eine schreckliche Grundlage, um irgendetwas zu entwickeln.
Am Ende bestraft diese Struktur nur kleine Entwickler mit wenig Budget und wenig Zeit und fördert die Konsolidierung zugunsten großer Anbieter. Große Anbieter können in gewissem Maß Einfluss ausüben, genießen grundlegendes Vertrauen und haben Budget und Zeit, absurde und manchmal belastende Anforderungen umzusetzen. Im Ergebnis wirkt es, als wolle man ihre Marktposition festigen und klebrige Teilnehmer schaffen, die den Play Store über Jahrzehnte stützen.
Ich habe damit meine KeePass-Datenbank auf dem Telefon abgelegt, das ist unangenehm. Gibt es andere in derselben Lage?
Ich empfehle, per SFTP auf einen Rechner zuzugreifen und auf diesem Rechner Syncthing mit den übrigen Geräten laufen zu lassen.
Wenn Nutzer Syncthing kennen und nutzen wollen, scheint es mir durchaus machbar, sich für APKs auf F-Droid zu verlassen. Reicht es nicht, das als Vertriebskanal zu nutzen?
Ich hasse Mobile Computing so sehr.
Ich werde die APK zusammen mit meinen Turbo-Pascal-Disketten an einem sicheren Ort aufbewahren. Syncthing für Android war für die Verwaltung meiner Notensammlung unverzichtbar.
Weiß jemand, wie lange die aktuelle Syncthing-Android-App künftig noch funktionieren wird?