syncthing als Dropbox/BittorrentSync ersatz...

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 21. Mai 2014, 07:49

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Samstag 24. Mai 2014, 21:59

jens hat geschrieben:Leider ist es in Go programmiert.
Inwiefern ist das ein Nachteil?
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 17. Juni 2014, 16:09

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...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
snafu
User
Beiträge: 5537
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Mittwoch 18. Juni 2014, 08:36

@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. ;)
shcol (Repo | Doc | PyPi)
Benutzeravatar
pika
User
Beiträge: 3
Registriert: Mittwoch 25. Juni 2014, 09:01

Mittwoch 25. Juni 2014, 09:57

Hat es schon wer getestet von euch? Funktioniert es genauso stabil wie btsync?
from pokemon import *
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 25. Juni 2014, 13:51

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...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 26. Juni 2014, 11:23

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.
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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
snafu
User
Beiträge: 5537
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Donnerstag 26. Juni 2014, 13:12

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.
shcol (Repo | Doc | PyPi)
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 16. Juli 2014, 12:47


CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten