Weiß nicht ob hier jemand schon "syncthing" kennt. Kann man als OpenSource Ersatz für Dropbox/Bittorrent Sync ansehen.
Ich finde es sehr interessant und wollte es nur mal kurz erwähnen.
Sourcen sind hier: https://github.com/calmh/syncthing/
Homepage: http://syncthing.net/
Forum: http://discourse.syncthing.net/
Download: https://github.com/calmh/syncthing/releases/latest
Leider ist es in Go programmiert. Ist eigentlich nur ein Kommandozeilen-Tool, hat allerdings eine WebGUI.
Das ganze gibt es für Linux, Windows, MacOS...
An einem Android Client wird auch gearbeitet:
Links:
* https://play.google.com/store/apps/deta ... ingandroid
* https://github.com/Nutomic/syncthing-android/
* Forums-Thread: http://discourse.syncthing.net/t/syncth ... leased/154
Auf meiner Homepage habe ich auch ein wenig was dazu geschrieben: http://www.jensdiemer.de/permalink/464/syncthing
syncthing als Dropbox/BittorrentSync ersatz...
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ich kann keinen Code beisteuern
Ne, ich hab keine Lust auf Go 
Hab allerdings "Angedacht" Test in Python zu schreiben: https://github.com/jedie/syncthing-pytest
Weiß nicht ob das so eine gute Idee ist... Aber Tests wären echt nicht schlecht.
Die Idee: Man startet mehrere Instance von Syncthing lokal, wie das geht steht hier: https://discourse.syncthing.net/t/how-t ... nments/406
Dann packt man halt in den Test eine Datei bei Instance 1 rein und schaut ob sie bei Instance 2 ankommt. Dann modifizieren und schauen ob es richtig synchronisiert wird usw...


Hab allerdings "Angedacht" Test in Python zu schreiben: https://github.com/jedie/syncthing-pytest
Weiß nicht ob das so eine gute Idee ist... Aber Tests wären echt nicht schlecht.
Die Idee: Man startet mehrere Instance von Syncthing lokal, wie das geht steht hier: https://discourse.syncthing.net/t/how-t ... nments/406
Dann packt man halt in den Test eine Datei bei Instance 1 rein und schaut ob sie bei Instance 2 ankommt. Dann modifizieren und schauen ob es richtig synchronisiert wird usw...
@jens: Go ist IMHO in vielerlei Hinsicht gar nicht mal so weit von "Skriptsprachen" wie Python oder Ruby entfernt - auch wenn es auf dem ersten Blick vielleicht so aussieht. Ich würde dir ja empfehlen, ein bißchen Zeit zum Lernen von Go zu investieren und die Tests dann direkt in Go zu schreiben. Dass man einen Python-Interpreter anschmeißen soll, um das Verhalten von syncthing umständlich über den Aufruf als Prozess testen zu können, halte ich für wenig hilfreich. Sieh es doch einfach als Möglichkeit an, mal ein bißchen über den Tellerrand blicken zu können. 

- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ich nutzte es schon. Nodes auf Windows, Linux und Android Basis syncen...
Ich hab allerdings das Gefühl, das nicht alles 1A synchronisiert wird. Nachvollziehen kann ich es allerdings nicht.
Der Hauptentwickler ist recht engagiert und haut oft neue Versionen raus. Das Forum und der github Bug Tracker wird auch recht aktiv genutzt.
Ich denke halt, man müßte Tests aufbauen, um wirklich alle Eventualitäten durch zu gehen. Aber ich hab halt kein Lust auf Go...
Ich hab allerdings das Gefühl, das nicht alles 1A synchronisiert wird. Nachvollziehen kann ich es allerdings nicht.
Der Hauptentwickler ist recht engagiert und haut oft neue Versionen raus. Das Forum und der github Bug Tracker wird auch recht aktiv genutzt.
Ich denke halt, man müßte Tests aufbauen, um wirklich alle Eventualitäten durch zu gehen. Aber ich hab halt kein Lust auf Go...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das finde ich auch. Auf Teufel komm raus Python da in ein bestehendes Projekt reinzuzwingen finde ich eher wenig nützlich, weil man sich da auch ne Reihe von Komplikationen einhandelt die nicht hätten sein müssen. Und das sage ich als jemand der von Go so gar nicht begeistert ist.snafu hat geschrieben:Dass man einen Python-Interpreter anschmeißen soll, um das Verhalten von syncthing umständlich über den Aufruf als Prozess testen zu können, halte ich für wenig hilfreich.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Zumindest ist Go nicht übelst kompliziert. Ein halbwegs erfahrener Programmierer sollte da IMHO keine großen Schwierigkeit haben, einige Tests zu schreiben - selbst wenn er bisher noch nicht in Go programmiert hat. Das schwierigste ist wahrscheinlich die Einarbeitung in die Funktionsweise der Bibliothek / des Programms. Wenn man aber hier nur das Verhalten für den Zugriff außerhalb von Go (also Kommandozeile und ggf Konfigurationsdateien) testen will, dann ist ja auch der abzudeckende Bereich schonmal entsprechend eingeschränkt. Zumal man das für Python-Tests genau so machen müsste.