@Copiegeil Im Prinzip loggst du dich ein, gehst auf WLAN -> Funknetz und öffnest die Developer Tools. Ich habe es im Firefox gemacht. F12 oder Ctrl+Shift+I. Dann gehst du auf den Reiter Konsole und führst das Schnipsel aus. Wie gut es funktioniert, wird sich wohl noch herausstellen. Die Seite lädt sofort neu und man schickt scheinbar direkt den nächsten Request an die Box. Kleiner Denial of Service. Das ging jetzt 20 Minuten so bis ich wegen Inaktivität ausgeloggt wurde. Wenn es funktioniert hat, bekommst du die Popups, ob du es wirklich löschen willst.
Code:
$$('[name=delete]').filter(e => e.className.indexOf("hidden") < 0).slice(0, 10).forEach(e => e.click())
Etwas optimiert, so dass er nur 10 Requests schickt, aber auch das ist wirklich trääääge und bricht gefühlt ab. Ich beseitige gerade diverse iPhone Einträge, aber mal schauen
Ursprünglich habe ich das Skript aus diesem [URL='https://www.reddit.com/r/fritzbox/comments/je7y2f/comment/mmjrsjm/]Reddit Post[/url]. Der hat sich eine Liste in JSON ausgeben lassen und packt das in ein bash Skript. Aber da sehe ich noch den Parameter sid, den man sich noch extrahieren muss. Das machst du indem du den Netzwerkanalyse Tab aufmachst, nach XHR filterst, dir einen Request gegen data.lua auswählst und steht er unter "Anfrage"
Code für die Konsole im Browser:
Code:
"device_list=(\n\t" + $$('[name=delete]').map(e => e.value).join("\n\t") + "\n)"
Code ein bash Skript. Die Ausgabe des vorherigen Commands nehmen und die Device List ersetzen. Alles in z.B. fritzboxcleanup.sh abspeichern und mit
bash fritzboxcleanup.sh ausführen. Wenn ein Command durch ist, bekommst du eine riesige Menge an Output.
Code:
# List of devices to remove
device_list=(
"landevice1277"
"landevice9992"
[ other id's from the list ]
)
sid=29d1c901920d39f0
routerip="192.168.178.1"
# Loop through each device and remove it
for device in "${device_list[@]}"; do
echo "Removing device: $device"
curl "http://$routerip/data.lua" \
-H 'Accept: */*' \
-H 'Accept-Language: nl;q=0.7' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Pragma: no-cache' \
-H 'Sec-GPC: 1' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36' \
--data-raw "xhr=1&device=$device&delete=&sid=$sid&lang=en&page=wSet"
echo "------------------------"
done
Ich teste es gerade, aber das mit dem "Grab a coffee" ist schon richtig. Die Box braucht halt wirklich 30 Sekunden oder pro Request. Aber die Liste der Geräte scheint sich zu leeren.
Wie du dir unter Windows eine Bash Shell organisierst, googlest du am besten. Da gibt es verschiedene Varianten z.B. über die WSL, Cygwin oder MingGW. Git bringt auch eine "git bash" mit. Die tut es auch.
Ich habe übrigens FritzOS 07.31 auf der Box. Die ist schon sehr betagt. Funktioniert noch, aber eben lahm. Ma gucken, ob das Aufräumen hilft.
⚠️ Obligatorischer Warnhinweis: Bitte fügt nicht einfach Codesnipsel in die Konsole eures Browsers ein. Damit kann man Accounts übernehmen und was weiß ich noch alles machen. Möge mich jemand steinigen, wenn er mein Schnipsel für schädlich hält.
