[S/E] Reconnect Skript & mehr für Speedport 5314 bzw. Netconnect Deluxe

S

s3bish

Gast
Guten Abend Computerbase Community:),

Netcologne hat einen 12h Disconnect. Da ich beinahe täglich damit zu kämpfen habe, möchte ich ein Skript für meinen Router schreiben, das auf Windows 7 x64 ausgeführt wird und welches mir Folgendes ermöglicht:

Teil 1:
  1. Router anwählen + Einloggen
  2. Anzeigen der Verbindungszeit seit dem letzten Reconnect (0-13h)
  3. Anfrage, ob ich Reconnecten möchte oder nicht
  4. Bei "Nein" soll es sich schließen

Teil 2:
  1. Bei "Ja" soll es:
  2. Die Internetverbindung trennen
  3. 15 Sekunden warten
  4. Die Internetverbindung herstellen
  5. Es soll sich schließen

Daten:
Router ist ein Netconnect Deluxe von Netcologne bzw. Speedlink 5314
Betriebssystem ist Windows 7 Pro x64

Anforderungen:
Das Skript sollte einfach per Klick ausführbar sein. Idealerweise eine Batch-Datei. Bin aber für vieles offen.

Progress:
Ich habe es bisher mit cURL und wget versucht und verzweifle langsam. Ich glaube mittlerweile den Fehler gefunden zu haben.
Der JDownloader macht das Gleiche, wie mein Skript, aber da funktioniert es. Im Browser funktioniert es auch nur dann,
wenn man die Links nacheinander einfügt.

Ich gehe daher davon aus, dass der Client eine Verbindung aufbauen und Schritt für Schritt vorgehen muss (deckt sich mit JDownloader Skript). Der Browser macht das wahrscheinlich automatisch. Scheinbar können das cURL und wget nicht. Was kann ich jetzt noch tun?

Das aktuelle Skript (Nicht funktionsfähig):

  1. //Aktuell
  2. curl "http://192.168.0.1/web.cgi?controller=Overview&action=IndexOverview&id=0"
  3. curl "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"
  4. curl "http://192.168.0.1/js/prototype.js"
  5. curl "http://192.168.0.1/js/effects.js"
  6. curl "http://192.168.0.1/js/common.js"
  7. curl "http://192.168.0.1/js/language.js"
  8. curl "http://192.168.0.1/js/help.js"
  9. curl "http://192.168.0.1/web.cgi?controller=Internet&action=StopPppoe&id=0"
  10. curl "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"
  11. TIMEOUT /T 12
  12. curl "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"
  13. curl "http://192.168.0.1/web.cgi?controller=Internet&action=StartPppoe&id=0"
  14. curl "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"

Hier der Link zum besagten JDownloader Skript, das funktioniert: Link.


Ich bin für jeden konstruktiven Input dankbar!

Schönen Abend,
Sebish

PS: Aktuell habe ich mich auf Verbindung trennen und herstellen reduziert. Wie man die Verbindungszeit abgreifen kann, bleibt mir ein Rätsel.
 
Hallo,

mein "konstruktiver Input" ist folgender:

Schau mal nach ob man auf dem Speedlink nicht OpenWRT o.ä. installieren kann (oder investiere die paar € in Gerät welches man flashen kann).

Danach ist es kein Problem mehr die Sache zu skripten. Ein einfacher 2 Zeiler macht dir den reconnect, den du dann nachts automatisiert laufen lassen kannst. ("ifdown wan1 / ifup wan1" oder sowas in der Art). Ich bin mir sicher das du dann deinem Ziel die Uptime auszulesen auch schon viel näher bist.

Just my 2 cents.
 
Danke Humaer, aber das Gerät hat eine Netcologne Firmware und ich gehe davon aus, dass diese geschlossen ist. Einfach ersetzen ist da wohl nicht, da man auch keine Daten bekommt. Das Gerät zu ersetzen ist auch schlecht, da teuer und nur wenige Router schaffen die vollen 11-12 MB/S einer 100Mbit Leitung bei aktiver Firewall (Die Fritzboxen zu schaffen nur 60 - 90 Mbit/s).

Ich habe mich jetzt mit folgendem Script für mein Speedport 5314 aka Netconnect Deluxe abgefunden:

Script zum Reconnecten eines Netconnect Deluxe unter Windows 7:

  • @echo off
  • start /MIN iexplore "http://192.168.0.1/web.cgi?controller=Internet&action=Index"
  • TIMEOUT /T 3
  • start /MIN iexplore "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"
  • TIMEOUT /T 3
  • start /MIN iexplore "http://192.168.0.1/web.cgi?controller=Internet&action=StopPppoe&id=0"
  • TIMEOUT /T 12
  • start /MIN iexplore "http://192.168.0.1/web.cgi?controller=Internet&action=StartPppoe&id=0"
  • TIMEOUT /T 12
  • tskill iexplore
  • exit

Da cURL und Konsorten die Geschichte nicht hinbekommen, ist das mit Bordmitteln wohl das Sinnvollste.
Leider startet er das dritte Fenster im Vordergrund, trotz /MIN, aber dafür dauert das Ganze nur 30 Sekunden.
Den Internet Explorer habe ich gewählt, weil ich ihn nicht nutze. Sollte jemand den IE als Default Browser nutzen, kann er die Stelle einfach mit dem entsprechenden Browser ersetzen.

Kreativer Input war wohl zu hoch gegriffen, was!? :D

PS: Vielleicht könnte das ein Mod in Heimnetzwerke und Internethardware verschieben? Wer weiss, vielleicht hilft es jemandem oder wird weiterentwickelt.
 
Nach ein wenig reinlesen in curl habe ich dein Script jetzt vervollständigt :)

curl -c "D:\ cookie.txt" "http://192.168.0.1/web.cgi"
curl -b "D:\ cookie.txt" "http://192.168.0.1/web.cgi" --data "controller=Overview&action=Login&id=0&idTextPassword=***hier das Passwort des Routers rein***"
curl -b "D:\ cookie.txt" "http://192.168.0.1/web.cgi?controller=Overview&action=IndexOverview&id=0"
curl -b "D:\ cookie.txt" "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"
curl -b "D:\ cookie.txt" "http://192.168.0.1/web.cgi?controller=Internet&action=StopPppoe&id=0"
curl -b "D: cookie.txt" "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"
TIMEOUT /T 12
curl -b "D:\ cookie.txt" "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"
curl -b "D:\ cookie.txt" "http://192.168.0.1/web.cgi?controller=Internet&action=StartPppoe&id=0"
curl -b "D:\ cookie.txt" "http://192.168.0.1/web.cgi?controller=Internet&action=Index&id=0"
curl -b "D:\ cookie.txt" "http://192.168.0.1/web.cgi?controller=Overview&action=Logout"


Die Javascripte braucht man nicht laden das einzige was man ergänzen musste war eigentlich, dass er die SessionID immer weiter verwendet was mit dem schalter -c gemacht wird. Die SessionID wird dann einfach in einer angegebenen Textdatei gespeichert und kann dann von den folgenden Aufrufen über den Schalter -b wieder eingelesen werden.

Außerdem habe ich noch den Logout hinzugefügt , da man nach einem einmaligen ausführen des Scripts nicht mehr auf den Router connecten konnte. Der Router denkt dann einfach der Lletzte Benutzer ist noch im System und lässt keine weiteren Verbindungen zu.
 
Zurück
Oben