Ein paar Tools (27.03.2015)
Ich habe in letzter Zeit wieder einige praktische Scripte in mein Repository
übernommen, die vielleicht praktisch sein könnten. Daher stelle
ich dir mal kurz vor:
- iwebd und den Vorgänger
iftpd hatte ich hier schon erwähnt. Ich habe zwischenzeitlich
beide verworfen und ein großes Rewrite
daraus gemacht. Der neue iwebd kann neben HTTP und FTP auch WebDAV, SSL,
HTTP-Uploads per Drag & Drop in Verzeichnisansichten und kündigt sich
im lokalen Netz per Avahi an. Transparente Kompression, CGI und
Passwortschutz per Digest-Authentifizierung kann er auch. Und er läuft
übrigens auch auf Android einwandfrei, wenn man Python installiert hat.
Also eine kleine eierlegende Wollmichsau, wenn man auf die Schnelle Dateien
austauschen muss ;) HTTP/2 folgt vermutlich irgendwann.
- libprivbind
ist ein Python-Modul, um an priviligierte Ports zu binden. Ich weiß, dass es privbind
und authbind gibt - das Modul verfolgt aber einen anderen Ansatz. Statt zu versuchen, generell
bind()
Aufrufe
abzufangen und damit Prozessen transparent die Möglichkeit zu geben,
priviligierte Ports zu verwenden, bietet es einen eigenen Aufruf, der
Sockets an priviligierte Ports bindet. Das funktioniert, indem der
Dateideskriptor an einen Prozess mit cap_net_bind_service
übergeben wird; im Gegensatz zu den älteren Ansätzen nicht kompliziert per
sendmsg
über ein UNIX-Socket, sondern einfach, indem das
Socket vor dem execv
Aufruf nicht geschlossen wird.
- pydoce öffnet beliebigen Python-Code
im Editor.
pydoce os.path.isfile
öffnet z.B. das path Modul gleich an der richtigen Zeile.
- livereload ist eine Python-Implementierung
des livereload-Standards. Es gibt so etwas massig, aber meistens für Ruby oder mit aberwitzigen Abhängigkeiten. Diese
Version braucht "nur" Tornado.
Schon älter ist, und nichts mit Python zu tun hat, gdo. Ich
benutze das so wahnsinnig viel, dass ich das noch einmal verlinken musste: Das ist ein Tool, das
i.W. find -regextype pcre -iregex "$1" -exec "$2" \;
entspricht.