Dienstag, 22. September 2009

jDownloader Reconnect Script für tomato Router

Ich habe gerade meinen Linksys WRT54GL von HyperWRT Thibor15c auf eine andere Firmware geupdatet. Genauer gesagt werkelt hier jetzt "tomato" in der Version 1.25.

Allerdings hatte ich vorher nicht bedacht, dass jDownloader ja auf den Router bzw. dessen Firmware und Webinterface abgestimmte Reconnect-Scripte für die automatische Wiedereinwahl (zwecks IP-Änderung) verwendet. Also schnell mal nachgesehen, ob "tomato" beim Reconnect auch unterstützt wird. Nun...wird es, aber leider nicht in meiner Version.

Glücklicherweise bietet jDownloader ja an, ein eigenes Reconnect-Script aufzuzeichnen. Das habe ich dann auch mal getan:

[[[HSRC]]]
    [[[STEP]]]
        [[[REQUEST]]]
        GET / HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        POST /service.cgi HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%

_service=wan-stop&_redirect=status-overview.asp&_sleep=2&_http_id=###hier-eigenen-wert-eintragen###
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        POST /service.cgi HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%

_service=wan-restart&_redirect=status-overview.asp&_sleep=5&_http_id=###hier-eigenen-wert-eintragen###
        [[[/REQUEST]]]
    [[[/STEP]]]
[[[/HSRC]]]

Im Grunde könnt Ihr das so direkt übernehmen. Es gibt aber nur einen Haken: da wird an zwei Stellen ein Wert "_http_id" mitgegeben. Ich weiß nicht genau, was der bedeutet. Daher habe ich den Wert aus Sicherheitsgründen entfernt.

Was müsst Ihr also tun, um in den Genuss eines Reconnect-Scripts für jDownloader und tomato zu kommen? Ganz einfach: jDownloader anschmeißen und ein eigenes Reconnect-Script aufzeichnen. Dabei öffnet sich die Weboberfläche des Routers. Einfach im Overview einmal auf "Disconnect" und einmal auf "Connect" klicken und fertig.

Jetzt müsste jDownloader melden, dass der Reconnect erfolgreich war. Ihr könnt das Ergebnis jetzt speichern. Theoretisch ist das Ergebnis lauffähig. Aber halt auch optimierbar. Es befinden sich i.d.R. einige Requests oder Steps darin, die unnötig sind. Mein Script da oben ist bereits optimiert und enthält nur die notwendigsten Schritte.

Alles, was jetzt noch zu tun ist, ist folgendes: in dem gerade frisch aufgezeichneten Script befindet sich Euer Wert für "_http_id". Ersetzt einfach das "###hier-eigenen-wert-eintragen###" in meinem Script durch Euren Wert und tragt mein Script in jDownloader ein. Ein Klick auf "Ändere  IP" sollte jetzt auch einen erfolgreichen Reconnect erzeugen.

Update 2009-10-04:
Die http_id scheint ein sehr wichtiger Part des Ganzen zu sein. Gerade hatte ich das Problem, dass kein Reconnect mehr funktionierte. Nicht einmal mehr über das Webinterface vom Router. Nachdem ich das Ding auf Werkseinstellungen zurückgesetzt und neu eingestellt hatte, hatte ich auf einmal eine neue ID. Mit der funktioniert es jetzt wieder.

Könnte mir vorstellen, dass das auch mit einem einfachen Kaltstart (also den Router aus/an, nicht nur ein Reboot) funktioniert, was ich allerdings nicht getestet habe. Möglicherweise ist diese _http_id ein temporärer Wert, der nach einer Weile ungültig wird. Werde das mal im Auge behalten und würde mich in der Zwischenzeit über Feedback freuen.

Keine Kommentare: