blog · git · desktop · images · contact


webdump: Temporär Daten veröffentlichen

2015-05-24

Manchmal will man jemandem eine Datei schicken. Ein Bild, ein Stück Code, einen Auszug einer Logfile, … Manchmal auch mehreren Leuten gleichzeitig. Wenn man könnte, würde man das den Leuten direkt schicken – per IRC, Jabber oder was auch immer –, aber hin und wieder geht das aus verschiedenen Gründen nicht: Vielleicht unterstützt der gewählte Kommunikationskanal keine Dateitransfers, vielleicht ist die Zielperson gerade nicht am Platz oder vielleicht sind es einfach zu viele Empfänger auf einmal für einen direkten Transfer.

Was macht man da? Man lädt die Datei irgendwo ins Web hoch.

Es gibt diverse kostenfreie Dienste für derlei Aktivitäten. Wenn man einen eigenen Server hat, möchte man das aber vielleicht lieber dort ablegen. Dabei bekommt man aber zwangsläufig ein Problem: Es sammelt sich Müll an. Viele Daten sind schlichtweg nur für ganz kurze Zeit interessant und danach völlig wertlos. Im Jahre 2015 kann man natürlich argumentieren, dass das keine Rolle mehr spielt, weil man eh genug Platz auf den Platten hat. Einen Mehrwert sehe ich darin, jeden Mist aufzuheben, allerdings auch nicht. Was weg kann, kann weg.

Einige der kostenfreien Dienste bieten da die Option, den Daten ein Ablaufdatum zu geben. Danach werden sie automatisch gelöscht. Wenn man die Daten selbst hosten möchte, dann muss man das natürlich selbst programmieren. Hier kommt nun webdump ins Spiel.

webdump nimmt zwar an, dass man ssh-Zugang zu seinem Webspace hat, denn die Daten werden via rsync/ssh übertragen, darüberhinaus wird der Webspace aber als „dumm“ angenommen. Sprich, man braucht weder ein PHP-/Python-/Whatever-Skript noch eine Datenbank noch einen Cronjob auf dem Server. (Das würde es auch prinzipiell möglich machen, rsync durch ein einfacheres Protokoll wie FTP zu ersetzen und damit Kompatibilität mit Standard-FTP-Webhostern zu gewinnen, aus Effizienzgründen habe ich das aber gelassen. Abgesehen davon läuft auf meinem eigenen Server kein FTP-Daemon.) Die komplette Verwaltung der Daten findet also auf den Clients statt.

„Die Clients“? Ja, mehrere. Ich will dieselbe „dump area“ auf meinem Desktop-Rechner und auf meinem Notebook verwenden können. Oder vielleicht noch auf weiteren Rechnern.

Wie funktioniert webdump?

Die Löschung der abgelaufenen Daten findet also nicht automatisch statt, sondern erst beim nächsten Aufruf von webdump. Wenn man das Tool aber einigermaßen regelmäßig benutzt und keine hochsensiblen Daten verteilt, dann ist das kein Problem.

So sieht das dann aus:

$ webdump -m 2015-05-24--10-36-53--32765--1.png 
‘2015-05-24--10-36-53--32765--1.png’ -> ‘/home/void/www/web/meine.domain.example.com/Cicc-Fearr-12/2015-05-24--10-36-53--32765--1.png’
receiving incremental file list
./

sent 35 bytes  received 1,082 bytes  2,234.00 bytes/sec
total size is 15,516,044  speedup is 13,890.82
removed ‘/home/void/www/web/meine.domain.example.com/Lieck-Pes-28.expiry’
removed ‘/home/void/www/web/meine.domain.example.com/Lieck-Pes-28/hi’
removed directory: ‘/home/void/www/web/meine.domain.example.com/Lieck-Pes-28’
sending incremental file list
deleting Lieck-Pes-28/hi
deleting Lieck-Pes-28/
deleting Lieck-Pes-28.expiry
./
Cicc-Fearr-12.expiry
Cicc-Fearr-12/
Cicc-Fearr-12/2015-05-24--10-36-53--32765--1.png

sent 3,642 bytes  received 127 bytes  2,512.67 bytes/sec
total size is 15,521,403  speedup is 4,118.18


Local:
/home/void/www/web/meine.domain.example.com/Cicc-Fearr-12/2015-05-24--10-36-53--32765--1.png

Public:
https://meine.domain.example.com/Cicc-Fearr-12/2015-05-24--10-36-53--32765--1.png

Expiry: Sun, 2015-05-24, 11:19:27
        1 minute(s)

Zu Demo-Zwecken ist das „Mindesthaltbarkeitsdatum“ nur eine Minute. Der Standard beträgt eine Woche.

Was ich auch sehr oft mache, ist, mit GIMP einen Screenshot zu machen, kurz zu bearbeiten – meistens Zuschnitt auf den gewünschten Bereich – und das soll dann ins Internet kommen. Damit das möglichst reibungslos vonstattengehen kann, habe ich noch schnell ein GIMP-Plugin zusammengestöpselt, das man unter „~/.gimp-2.8/plug-ins/“ ablegen kann. Über das „Filters“-Menü erreicht man das Plugin und kann damit ein Bild direkt hochladen, ohne es vorher explizit irgendwo speichern zu müssen.

Erwähnenswert sind noch folgende Punkte:

Comments?