Na ja, soweit man sich mit XUL/Javascript auskennt im groben (wobei mein Weg sicherlich nicht schön ist, ich hab mir beides für die Sache quasi neu beibringen müssen):
XUL kennt, ein browser Tag. In dem habe ich ganz normal die Zattooseite geladen.
Nachdem die Zattooseite teilweise anscheinend mit AJAX schafft und ich es nicht wirklich zuverlässig geschafft habe brauchbare Events für die einzelnen Server-Replys zu bekommen (was sicherlich an meinen unterirdischen Kenntnissen von js liegt), habe ich ab XUL window onload per polling auf den Seitenstatus geprüft. Das Login ist relativ einfach, man suche per XPATH nach dem Elementknoten loginform (Das merke man sich zum absenden). In dessen Unterknoten findet sich dann ein Element mit der ID email_main und pw_main die natürlich per setAttribute mit brauchbaren Daten gefüllt werden müssen. Danach natürlich ein submit des Formulars.
Danach erscheint merkwürdigerweise eine Werbe-Zwischenseite, die mir der normale Browser überspringt. Die (variablen) 5-30 Sekunden dreht das Teil Däumchen und wartet auf die erlösende Botschaft den Kanal wählen zu können (HTML Textknoten prüfen). Danach reicht ein einfaches Neuladen der ursprünglichen Zattooseite, man hat den Status eingelogged und findet die Sender wie üblich.
Die Sender kann man auslesen, indem man das Element mit der id ch_group_8 findet (Ich schätze die Zahl symbolisiert das entsprechende Land, mag variieren). Dort findet man in jedem list item den Sendertitel und die entsprechende URL.
Umschalten müsste klar sein.
Größe lässt sich (habe ich aber selbst noch nicht implementiert) verstellen indem man den DOM Baum nach dem entsprechenden Object Tag absucht, alles außenrum auf invisible (bzw. Größe 0) bzw. einfach ganz rauslöschen (was aber insbesondere bei der Werbung auffallen dürfte) und dafür das Objekt auf Panoramavision setzt 😉.
Code möchte ich in der Tat nicht zeigen, da müsste ich den Rest meines Lebens mit ner Tüte über dem Kopf rumlaufen, aber der prinzipielle Weg funktioniert so. Wer auf XUL verzichten möchte (fand das halt eine schöne Gelegenheit mal wieder damit rumzuspielen, und hat den zusätzlichen Vorteil von FF unabhängig startbar zu sein) sollte das eigentlich auch mit GreaseMonkey hinbekommen können.
Nur nochmal als Hinweis, ich bin zwar weder verwand noch verschwägert noch Angestellter der Zattoo-Leute, aber falls das jemand nachbauen/komplett umsetzen sollte, respektiert deren Geschäftsmodell. Ich freue mich zwar jeden Tag wieder was kostenloses ohne nervige Seiteneffekte zu sehen, aber das Geschäftsmodell lebt oder stirbt mit den Werbeeinnahmen. Wenn 30 Varianten von Greaselets rumschwirren, die die Werbung eleminieren, wird entweder der Dienst sterben oder es kommt zu nem unsinnigen Wettrüsten Werbung vs. Werbeblocker/ausblender.