|
#1
|
|||
|
|||
![]()
Hallo, bin ganz neu hier, daher erst einmal ein freundliches Hallo von mir.
![]() Ja, und ich habe gleich ein Problem. Bei mir wurde vor kurzem der Netzzugang auf VDSL umgestellt und dafür habe ich natürlich auch einen neuen Router bekommen. Und zwar die Homebox 6641. Dafür hatte ich hier im Forum auch ein Script gefunden, das lief. Leider funktionierte aber mein DECT-Telefon mit diesem Router nicht. o2 hatte mir dann angeboten, es mal mit der 6441 zu versuchen und damit klappt es auch sehr gut. Nur leider..... der Reconnect will nicht mehr. Ich suche jetzt also ein Script für die o2 Homebox 6441 von Astoria. Wäre toll, wenn mir jemand helfen könnte. Last edited by Hober Mallow; 03.06.2016 at 00:04. |
#2
|
|||
|
|||
![]()
Hmmmm....
Niemand eine Idee? |
#3
|
|||
|
|||
![]()
Niemand da, der dieses Teil kennt? Oder mir einen Tipp geben kann, was ich machen kann?
|
#4
|
|||
|
|||
![]()
ich dachte die 6441?
Dank Upgrade auf VDSL habe ich auch diesen Router (o2 Homebox 6441) bekommen. Im internet habe ich kein Reconnect-Script gefunden, daher habe ich mir eins gebaut. Leider lässt sich der Reconnect nicht über LiveHeaders realisieren, da diverse Funktionen benötigt werden (md5 und aes512 hashing, base64). Dies ist ein AutoIt-Script. Es kann als Standalone-EXE kompiliert werden und dann als externer Restart in JD eingestellt werden. Benötigt wird AutoIt und die WinHttp-AutoIt UDF. Kurzanleitung:
Hinweis: Falls Du ein Router-Passwort eingerichtet hast, braucht das Script es. Dieses kann per Parameter an die .exe-Datei übergeben werden oder Du kannst es direkt in die Datei mit einkompilieren. Dazu diese Variable Quote:
Quote:
Quote:
PHP Code:
ich habe auch eine PHP-Version erstellt (zum zeitgesteuerten Reboot/Reconnect per Cronjob/Remote) die ich bei Interesse posten kann.. Viele Grüße rbybbl Last edited by rbybbl; 05.07.2016 at 18:54. |
#5
|
|||
|
|||
![]()
Sorry, da habe ich mich vielleicht etwas unklar ausgedrückt.
Zuerst hatte ich eine Homebox 6641. Dafür hatte ich hier auch ein Skript gefunden. Mit diesem Router funktionierte aber mein Telefon nicht. Deshalb hat o2 ihn gegen eine Homebox 6441 getauscht. Damit funktioniert zwar das Telefon aber der Reconnect nicht. Also, mein jetziger Router ist tatsächlich eine Homebox 6441. Leider kann ich mit deiner Lösung nichts anfangen, da ich kein Windows benutze, sondern Linux. Ich wage nicht zu offen, dass du auch dafür eine Lösung hast. ![]() Last edited by Hober Mallow; 28.05.2016 at 21:27. |
#6
|
|||
|
|||
![]() Quote:
![]() Aber extra einen Webserver nur für einen Router-Reconnect aufzusetzen ist vielleicht etwas übertrieben.. Bin mir nicht sicher, aber ich denke es sollte in Linux per Shellscript leicht zu lösen sein. Leider hab ich aber sehr wenig Linux-Erfahrung. Eventuell könnte man doch ein Live-Headers-Script für JD schreiben (dazu müsste man das den Hashwert des Login-Passworts aber als Variable anlegen). Ich versuche es mal bei Gelegenheit! Edit: Mit Live-Headers-Script geht es leider nicht, da JD keine Möglichkeit bietet eine base64-Zeichenkette zu entschlüsseln :( Edit 2: Ok, habe ein Shell-Script erstellt. Es gibt bestimmt elegantere Wege das zu realisieren, hab praktisch keine Linux-Erfahrung, aber es funktioniert bei mir. Die Variable ROUTER_HOST erklärt sich von selbst, das Passwort muss als Hash-Wert vorliegen. Einen Hashwert kannst Du z.B. auf **External links are only visible to Support Staff**www.hashgenerator.de/ (hashgenerator punkt de) erstellen. Gib Dein Klartext-Passwort ein und erstelle einen MD5-Hash. Kopiere diesen (ohne Leerzeichen am Anfang und Ende) und benutze ihn als Input für ein SHA512-Hash. Das Ergebnis dann in die Variable ROUTER_PASS kopieren. PHP Code:
Last edited by rbybbl; 01.06.2016 at 22:06. |
#7
|
|||
|
|||
![]()
rbybbl... Du bist super!
![]() Das Skript funktioniert einwandfrei. Der Reconnect ist sogar überraschend schnell, gerade mal so um die 13 Sekunden. Vielen, vielen Dank für deine Mühe! ![]() |
#8
|
|||
|
|||
![]()
Gerne, schön das es funktioniert!
Kannst den Thread auch als [Reconnect funktioniert] markieren, nützlich für andere User! Viele Grüße |
#9
|
|||
|
|||
![]()
Hm....
... irgendwie bin ich zu blöd, den Thread-Titel zu ändern. |
#10
|
|||
|
|||
![]() Quote:
![]() egal :D |
#11
|
|||
|
|||
![]()
Hallo,
ich habe jetzt auch die O2 Homebox 6641. Möchte nun mit dem jDownloader den Router auch Reconnecten. Wollte das nun mit der Anleitung von rbybbl umsetzen. Aber leider scheitere ich schon am runter laden von WinHttp-AutoIt UDF. Wo kann ich das runter laden? Habe leider keine Erfahrung mit Scripts. @rbybbl Du hast geschrieben du hast auch eine PHP Version erstellt. Ist diese Version leichter für mich zum benutzen? Ich benutze Windows. Danke BEWEWA |
#12
|
|||
|
|||
![]()
Hallo,
danke für die super Anleitung! Die WinHttp-AutoIt UDF gibt es übrigens hier: **External links are only visible to Support Staff****External links are only visible to Support Staff** Habe nun die EXE kompiliert. Da ich kein Router-Passwort benutze, habe ich nix geändert. Im JD kommt dann aber beim Starten des Scripts die Meldung "no router password set". Also hab ich ein Passwort eingestellt und dieses im Script ergänzt, aber es kommt wieder die Fehlermeldung. Was nun? |
#13
|
|||
|
|||
![]() Quote:
Habe mein Script aktualisiert (s. alten Beitrag), jetzt sollte es auch bei Routern ohne Passwort funktionieren.. Die UDF-Dateien gibt es hier: github.com/dragana-r/autoit-winhttp/releases/download/1.6.3.9/1.6.3.9.zip Last edited by rbybbl; 07.07.2016 at 13:06. |
#14
|
|||
|
|||
![]()
Leider wird mir der Link für WinHttp-AutoIt UDF nicht angezeigt. Kannst du mir den Link als Private Nachricht schicken?Danke
|
#15
|
|||
|
|||
![]()
leider komme ich damit gar nicht klar,
bräuchte ausführlicher Hilfe - danke Gruß Boerny |
#16
|
|||
|
|||
![]()
Hallo,
leider komme ich auch nicht so recht mit der Anleitung zu recht. Habe eine Homebox 2 6441 mit der Fimware 1.01.30w Hatte vorher für den alten Router eine *.bat Datei. Ich habe das Ganze mit dem reconnect Assistenten versucht, da mir der Rest eher wie bömische Dörfer vorkommt, was leider nicht geklappt hat. Wenn ich es denn richtig verstanden habe, wird bei dem Shellskript von Teorax das Passwort erst in md5 und das Ergebnis in sha512 umgewandelt und im Skript "PASSWORD_HASH" durch das Ergebnis ersetzt. Das macht man alles im Texteditor und Speicher es dann einfach als *.sh Datei ab? Und wie sag ich dann JD, dass es beim reconnect darauf zugreifen soll? Denn bei Auswahl der *.sh Datei über Drittanwender-Reconnect kommt die Meldung mit welchem Programm die Datei ausgeführt werden soll. Wie ihr seht bin ich da eher der Typ ratlos und überfordert. Hilfe wäre klasse EDIT: Habe die Methode von rbybbl jetzt in verwendung und es klappt klasse :-) Danke an der Stelle Last edited by Haustür; 25.10.2017 at 04:30. Reason: Frage erledigt |
#17
|
|||
|
|||
![]()
Thanks to rbybbl and others before, I wrapped the knowledge into a Perl script (reconnect_6441.pl).
On most systems Perl is either readily available or it can be easily installed.
https: //pastebin.com/0ctzg1FY Last edited by raztoki; 09.04.2018 at 01:33. |
#18
|
|||
|
|||
![]()
Wird bei euch auch für jeden reconnet die*.exe neu geladen, so dass man dann irgend wann die Taskleist mit x-mal *.exe voll hat?
Bei mir führt das auch immer wieder zu dem Problem, dass der reconnet dann irgendwann nicht mehr geht und eine token Fehlermeldung auftritt. Last edited by Haustür; 29.10.2017 at 17:20. Reason: Leider findet die Telefonverbindung an der Box nach dem reconnet sich nicht mehr, bedeutet, dass das Telefon tot ist und nur |
#19
|
|||
|
|||
![]()
Leider findet die Telefonverbindung an der Box nach dem reconnet sich nicht mehr, bedeutet, dass das Telefon tot ist und nur durch Stromlosschaltung wieder eien Telefonverbindung herstellbar ist.
|
#20
|
|||
|
|||
![]()
Hier findest du meine verbesserte Version von rbybbls Skript:
Here's my improved version of rbybbl's script:
Code:
#!/bin/bash # O2 Homebox 6441 reconnect script for Linux and macOS ### Anleitung - Instructions ### # Speicher als Textdatei ab, z.B.: # Home->Documents->JDownloader->reconnect-6441.sh # Ausführbar in Terminal machen: # cd ~/Documents/JDownloader # chmod 755 reconnect-6441.sh # Test mit: # ./reconnect-6441.sh 'routerpasswort' # JDownloader: # Einstellungen->Reconnect->Reconnect Methode: Drittanwender-Reconnect # "Auswählen" Button anclicken, reconnect-6441.sh finden und auswählen. # Router admin Passwort in die Parameter box einstellen. # "Test" Button anclicken. # Save as text file, for example: # Home->Documents->JDownloader: reconnect-6441.sh # Make executable in Terminal: # cd ~/Documents/JDownloader # chmod 755 reconnect-6441.sh # Test with: # ./reconnect-6441.sh 'routerpassword' # JDownloader: # Settings->Reconnect->Reconnect Method: External Tool Reconnect # Click "Select" button, navigate to reconnect-6441.sh and select. # Enter the router admin password in the Parameter box. # Click the "Test" button. ### History ### # original author: rbybbl 2016-06-01 # https://board.jdownloader.org/showpost.php?p=372164&postcount=6 # # modified by sumyungguy 2017-12-02: # made macOS compatible # working shell commands to generate hash, for Linux and macOS # no user configuration of script necessary: # use "o2.box" as router address # calculate password hash from argument # change for firmware 1.01.30, thanks to Teorax # added instructions # prints status information during reconnect print_status () { # report current connection status and IP address echo "status:" ROUTER_STATUS=$(curl -s "$ROUTER_HOST/cgi/cgi_diagnostic.js?_tn=$ROUTER_TOKEN" | grep -o -e '"WANConnectStatus0.*"' -e '"WAN_IP4_Addr0.*"') echo "$ROUTER_STATUS" } if [ "$#" -gt 1 ]; then echo "Reconnect O2 Homebox - usage: reconnect-6441.sh 'routerpass'" exit fi ROUTER_HOST="o2.box" CLEARPASS="$1" if [ -n "$CLEARPASS" ]; then UNAMESTR=$(uname) if [ "$UNAMESTR" = "Darwin" ]; then ROUTER_PASS=$(printf "$CLEARPASS" | md5 | tr -d '\n' | shasum -a 512 | tr -d ' -') else ROUTER_PASS=$(printf "$CLEARPASS" | md5sum | tr -d '\n -' | shasum -a 512 | tr -d ' -') fi echo "Router Pass Hash: \n$ROUTER_PASS" echo "einloggen - logging in" if [ $(curl -s -d "pws=$ROUTER_PASS" "$ROUTER_HOST/login.cgi" | wc -c) -eq 0 ]; then echo "login gescheitert: falsches Passwort oder mit Webbrowser noch eingeloggt?" echo "login failed: wrong password or logged in with web browser?" exit 1 fi else echo "Warnung: kein Passwort - warning: no password" fi # get the token from index page and save as var ROUTER_TOKEN=$(curl -s "$ROUTER_HOST/" | perl -nle 'print $& if m{data:image/gif;base64,[A-Za-z0-9+/]+///[A-Za-z0-9+/]{31}\K([^"]+)}' | base64 --decode) echo "router token: $ROUTER_TOKEN" print_status # send disconnect post request echo "WAN stop" curl -s -d "action=wan_stop&httoken=$ROUTER_TOKEN" "$ROUTER_HOST/apply_abstract.cgi" > /dev/null sleep 6 print_status # send connect post request echo "WAN start" curl -s -d "action=wan_start&httoken=$ROUTER_TOKEN" "$ROUTER_HOST/apply_abstract.cgi" > /dev/null sleep 6 print_status # wait for connected state while true do if echo "$ROUTER_STATUS" | grep -Eqi '"WANConnectStatus0", "[0-9]+", "Connected"'; then break fi sleep 6 print_status done if [ -n "$CLEARPASS" ]; then # send logout request echo "logout" sleep 2 curl -s -d "" "$ROUTER_HOST/logout.cgi" > /dev/null fi Last edited by sumyungguy; 04.12.2017 at 02:33. |
![]() |
Thread Tools | |
Display Modes | |
|
|