8. März 2021

Maaßen und Schwierigkeiten mit wget

Nachdem Merkel Maaßen entlassen hat, fordert der nun Revanche und Merkel zum Heimgang auf.

Sie sollte die Verantwortung für ihr persönliches Versagen und das ihrer Regierung übernehmen und einfach zurücktreten.

Eigentlich habe ich es nicht mehr nötig, mich der verfickten Computerei zu widmen. Mein neuer PC bescherte mir keinen Daten- und Zeitverlust, denn der ward von den zuständigen Organen perfekt vorbereitet worden, so daß ich mich gleich in das Rechenvergnügen stürzen konnte. Nur Firefox habe ich sofort wieder runtergeschmissen.

Für die Datensicherung hatte ich vorab gesorgt. Die Altlasten konnte ich dann peu a peu auf die Kiste kloppen.

Nun kam ich dieser Tage auf die Idee, mich dem AK NSU zu widmen und den Blog auf die Festplatte zu kupfern, um aus den geklauten Dateien später mal ein Buch drucken zu lassen, Klopapier herzustellen, Tapeten für ein Arthouse oder was weiß ich, sprich das gesammelte Wissen an einem Ort zu bündeln, damit es nicht verloren geht. Es sind ja auch richtig schicke Merksätze drin, in dem, was in den Jahren auf dem Blog angesammelt wurde.

Über Schwierigkeiten mit dem Russenserver und die Komunikation mit Putins Server-Beauftagten sei der Mantel des Stillschweigens gedeckt, der nichts verschweigt, da es der gleiche ist wie bei deutschen, amerikanischen oder niederländischen Serverbetreibern. Backups sind schwierig, wenn man keinen eigenen Server mit Vollzugang auf alles in Betrieb hat. Sie sind deswegen schwierig, weil die Daten heutzutage aus Effizienzgründen in fetten MySQL-Datenbanken und artverwandten Monstern gespeichert und diese nicht ausgehändigt werden. Ein Dump für alle bedürftigen Kunden wäre viel zu aufwändig. Es werden nur Einzelkunden des Staates bedient, die ein berechtigtes Interesse nachweisen können. Aber nicht vom Russen. Von Google und kleineren Rechennetzbetreibern schon.

Insofern habe ich seit Jahren die Steinzeitsoftware "wget" genutzt, denn die ist für ein Backup von Servern sehr gut geeignet, sofern man sie an die Zügel nimmt. Sonst lutscht die das ganze Internet in die Wohnung.

Wget’s recursive retrieval normally refuses to visit hosts different than the one you specified on the command line. This is a reasonable default; without it, every retrieval would have the potential to turn your Wget into a small version of google.

Die Software hat sich als "worst get" erwiesen, so daß ich mich frage, in welchem Jahr wir eigentlich leben, und wann diese angekündigte Digitalisierung endlich mal begonnen wird.

An einem simplen Beispiel sei es erklärt. Das Einzelbeispiel darf man per vollständiger Induktion ruhigen Gewissens auf dem Gesamtprozeß der Datensicherung (Backup eines Webservers) mit wget auswalzen, sofern die hier beschriebene Besonderheiten mit den Zeichen zutrifft.

Es geht um den post Merkel: Die Erde ist eine Scheibe.

Da ist eine Bildreferenz drin, in der Maaßen korrekterweise mit "ß" geschrieben wird. Ganz nebenbei, die neue Parteivorsitzende wird ja auch mit "ß" geschrieben. Die Schwierigkeiten, die Janine Wißler damit hat, hatte ich mal in einem umfangreichen Artikel zum "ẞ" beschrieben.

Lasse ich die Bildadresse per Browser kopieren, dann ergibt sich für den Russenserver diese Schreibweise, für den Googleserver die zweite.

210212_hallo_Meinung_weber_maa%25C3%259Fen.jpg
210212_hallo_Meinung_weber_maa%C3%9Fen.jpg

Im Quelltext sieht es so aus:

<img src="http://arbeitskreis-n.su/blog/wp-content/uploads/2021/03/210212_hallo_Meinung_weber_maaßen.jpg" />

Google hingegen maskiert das wie oben dargestellt, damit das von jeder Browesergurke korrekt interpretiert wird, obwohl das nicht nötig wäre, denn die Internetseite html ist als UTF-8-codiert ausgewiesen.

Lange Rede, kurzer Sinn. Hole ich die Seite beim Russen ab, dann weiß wget, daß es auch die Bilder holen soll, parst den Quelltext nach Bilderlinks und holt die dann auch noch. Das passiert bei dem Bild mit Maaßen und Weber aber nicht, denn dieses wird auch beim Russen im Quelltet in Wirklichkeit als #C3#9F codiert und erst in der Browserdarstellung in das korrekte "ß" gewandelt.

Beim Fetchen des Bildes läuft wget in einen Fehler, denn im Dateisystem beim Russen ist es mit mit seinem original deutschen Namen abgespeichert. wget will eine Datei mit #C3#9F im Namen abholen, die es dort nicht gibt.

Wir haben vier Fehlerqullen vorliegen, die in Kombination zuschlagen können, da ja jeweils das Zwischenglied des Dolmetschers wget, Browser (diverse Webengines) oder ftp oder ein anderes Programm dazu kommt.

1. Kodierung der remote-Seite.
2. Kodierung der lokalen Seite.
3. Umwandlung der download-Datei in den lokalen Dateinamen.
4. Parsen der Seite nach Links und Wandlung dieser in eine Download-Adresse (remote-Dateinamen). Zwischen Quelle und Ziel sitzen die o.g. Programme, die ihres zur Verwirrung beitragen.

wget -N --page-requisites http://arbeitskreis-n.su/blog/

Das wäre die einfachste Befehlszeile. Die geht schief. Denn damit werden die deutschen Sonderzeichen nicht bedient. Auch wenn keine Seitenname angegeben ist, wget setzt automatisch index.html voraus, wenn keiner vom Server her erforderlich ist. Das --page-requisites ist der Schalter, der dafür sorgt, daß die Seite nebst den für die Darstellung notwendigen Dateien gedownloaded wird, in meinem Fall dem Bild mit "ß" im Namen.

Ich begab mich also auf die spannende Tortour (sic!), wie das Problem mit wget zu lösen wäre, denn mit dem Programm kenne ich mich aus. Curl, Aria2 usw. kenne ich, habe die aber nie benutzt.

Ich bin ja immer der letzte, der diese Probleme hat und bekam so schnell heraus, daß das mit wget unlösbar bzw. nicht zufriedenstellend lösbar ist. In einer Konstellation ging es wohl schlußendlich, führte aber zu verwirrten Namen im lokalen Dateisystem.

Auch weitere Schalter wie

--remote-encoding=UTF-8
--local-encoding=UTF-8
--restrict-file-names=nocontrol

führten zu keinem befriedigendem Ergebnis bzw. in schrägen lokalen Dateinamen.

Wir leben im Jahr 2021, so viel sei verraten, und wget ist nicht in der Lage, mit diversen Zeichensätzen umzugehen, obwohl Diversität die Forderung unserer Zeit schlechthin ist. Da ist man zu Pferd deutlich schneller, setzt sich gemütlich auf seinen Sattel, als in den Computersessel, ruft die Seiten im Browser auf und klickt auf "speichern unter komplett", nächste Seite usw. usf.. Das funktioniert immer und liefert die für den gewünschten Fall gewünschten Ergebnisse. Mit dem Pferd ist man immer schneller. Aber wer will schon wochenlang reiten? Dazu gäbe es ja Versager wie "wget", daß man das genau nicht machen muß. Muß man aber, weil wget an dieser simplen Aufgabe scheitert, sprich, die Programmierer.

Die Lösung war dann simpel. Es gibt Leute, die die Schnauze auch voll haben und an einem wget2 hacken. Das ist im Dezember als Version 1.99.2 veröffentlicht worden.

Das hackt insofern, indem es den Betrieb irgendwann aus unerfindlichen Gründen und ohne Angabe von Gründen (Fehlermeldung) verweigert. Es macht aber genau das, was es machen soll, und wo ich wollte, daß es das genau so und nicht anders macht, eine Internetseite vom Russenserver lutschen, Bilderlinks extrahieren, die Bilder abholen und lokal mit korrektem Namen abspeichern. Wenn Maaßen mit "ß" geschrieben wird, dann hat er auch den Anspruch, so abgespeichert zu werden.

wget2 -N --page-requisites --restrict-file-names=nocontrol http://arbeitskreis-n.su/blog/

Hier ist nur der Schalter mit den Namensrestriktionen wichtig. wget kümmert sich nicht darum, sondern reicht die Daten einfach ans Betriebssytem durch. Das weiß, was zu tun ist. Und schwupps heißt Maaßen auch Maaßen.

Ich äußere mich lieber nicht zu dieser Branche von Programmierverbrechern.