Ich habe heute wieder etwas an meinem
server-full-Fork
weave-minimal gebastelt und habe es
geschafft, die Registrierung direkt im Firefox zu ermöglichen. Der
alternative Weg über die CLI mit erweitertem Nutzernamen-Spektrum existiert
natürlich weiterhin. Änderungskatalog:
/misc/1.0/captcha_html-Support (d.h. ohne reellen Nutzen)ENABLE_REGISTER auf False
setzenUnter https://posativ.org/weave/ läuft ein Sync-Server mit einer offenen
Registrierung; wer mir also vertraut (Passwort wird gesalzen als truncated
sha1-Hash gespeichert) oder einfach nur Testen will, ob mein Server was
taugt – benötigt allerdings CAcert-Vertrauen, ist hier gerne willkommen.
start-stop-daemon
– ein Debian/Ubuntu-Tool, um das Schreiben von eigenen Dämonen deutlich zu
erleichten (Beispiel).The first time I tried to get a custom Firefox Sync server running, I used
server-full and even though
I know python (the server is written in python), the configuration was highly
difficult. There’s no click & install. You have to choose between Redis,
MySQL, PostgreSQL and Sqlite3. For most people, sqlite3 is quite fine. Sqlite
and sync-server config files have summed up almost 80 LoC. And you still don’t
know how to authenticate unless you have already a LDAP server running.
There are some alternatives:
ffpyweave, django sync
server and formerly
weave-minimal
too, written in PHP but not supported anymore. But I’ve forked the official
server-full (well I
completely rewrote) to a more easier installation without multiple backends
but completely relying on a simple sqlite database.
$ easy_install -U werkzeug
$ wget https://github.com/posativ/weave-minimal/tarball/master -O weave-minimal.tar.gz
$ tar xfz weave-minimal.tar.gz
$ cd posativ-weave-minimal
Currently, Firefox does not you create a user account on your own server. I filed a bug …weiterlesen.
Vor gut zwei Wochen habe ich festgestellt, dass es irgendwie unmöglich ist, einen eigenen Server für Firefox Sync zu nehmen. Aber so unmöglich ist es dann gar nicht. Wenn man weiß, wie behindert das Setup ist, dann ist das kinderleicht.
Was nicht geht: ein neues Konto auf dem eigenen Server anlegen. Warum? Weil
Mozilla diese Service-URL auth.services.mozilla.com fest in den
Firefox kodiert hat. Die API, um sich zu registrieren, hängt aber an obiger
URL + /user, genauer gesagt PUT /user/1.0/mein_username. Da sich die URL
für den Registrierungsserver (der Server ist in zwei Teilprojekte unterteilt,
server-reg und server-full) nicht einmal in der about:config einstellen
lässt, wird dieser Workaround genutzt. Wir wissen ja, 89 people have this
problem. I have this problem, too!
Anstatt sich ein neues Nutzerkonto zu klicken, wählt man stattdessen aus, dass man bereits ein Konto hat. Dafür wird allerdings wirklich ein Konto benötigt, was zu einem unschönen Weg in die Kommandozeile führt (oder ins Webinterface, sofern der Server derartiges anbietet). Nachdem man sich auf seinem Server einen Nutzer registriert hat, geht’s weiter. Anstatt das Gerät mit dem drei-stelligen Code zu aktivieren …weiterlesen.
So habe ich heute Firefox Weave Sync kennengelernt. Ich dacht mir,
hey ich hab’ ‘nen Server, oh und hey, der Sync-Server ist in Python
geschrieben, das wird bestimmt kinderleicht!1 Aber die Community Policy, die
Mozilla da seit geraumer Zeit fährt, macht jegliche Offenheit des Source Codes
sinnlos, weil es einfach nicht für den kleinen Mann dokumentiert ist. Das
ist so miserabel dokumentiert, dass ich ohne Studieren des Source Codes nicht
weiß, ob der server-full
überhaupt dafür konzipiert ist, geschlossen für einen, oder maximal auch zwei
Nutzer zu laufen. Denn ganz sicher werde ich für einen Single-User-Betrieb
keine LDAP-Authentifizierung aufsetzen.
Früher™ gab es ja mal diesen diesem Minimal Server. Der scheint aufgrund von API-Änderungen nicht mehr ganz zu funktionieren bzw. ist sowieso deprecated (ist ja logisch, warum sowas kleines weiterführen, wenn man mit LDAP gleich die ganze Welt verwalten kann). Von einem Server in PHP hab’ auch ich gehört. Ein (älteres) single-file CGI-Skript in python gibt’s ebenfalls. Ob das funktioniert, weiß ich nicht. Einen Django-Klon gibt’s auch, das ist aber die erste genannte Variante mit denselben Zielen, Millionen von Nutzern zu verwalten, nur mit Django. Nicht …weiterlesen.