ubuntuusers.de

Reconnect Script für Speedport W921v

Status: Gelöst | Ubuntu-Version: Server 12.04 (Precise Pangolin)
Antworten |

Iceman81

Anmeldungsdatum:
29. Juni 2012

Beiträge: 65

Kennt einer ein Reconnect Script am besten eins was ich mit PHP einbinden könnte mit dem man mit dem "tollen" Telekomrouter nen DSL Reconnect auslösen kann?

gerdkolano

Anmeldungsdatum:
17. Dezember 2013

Beiträge: Zähle...

#!/bin/sh
GEHEIM=12345678
REFERER="https://speedport.ip/html/login/"

REFEREE="https://speedport.ip/data/Login.json"
curl "$REFEREE" --referer "$REFERER" --cookie-jar "cookie01.txt" --data "password=$GEHEIM&showpw=0"
REFERER=$REFEREE

REFEREE="https://speedport.ip/data/Connect.json"
curl "$REFEREE" --referer "$REFERER" --cookie "cookie01.txt" --data "req_connect=offline"
REFERER=$REFEREE
sleep 1
REFEREE="https://speedport.ip/data/Connect.json"
curl "$REFEREE" --referer "$REFERER" --cookie "cookie01.txt" --data "req_connect=online"
REFERER=$REFEREE

REFEREE="https://speedport.ip/data/Login.json"
curl "$REFEREE" --referer "$REFERER" --cookie "cookie01.txt" --data "logout=byby"

rm "cookie01.txt"

#### oder brutal reset

#!/bin/bash
# Veranlasse den Provider. eine neue IP-Adresse zu generieren
# Brutale Methode: Reset
# Usage : ./reset.sh | tee output-reset 

# W921V
# curl --help
# -k, --insecure      Allow connections to SSL sites without certs (H)
# -d, --data DATA     HTTP POST data (H)
# -c, --cookie-jar FILE  Write cookies to this file after operation (H)
# -b, --cookie     FILE  use cookies
# -e, --referer <URL>
# -H, --header <header>

geheim=12345678

curl https://speedport.ip/data/Login.json --referer "https://speedport.ip/html/login/" --data "password=$geheim&showpw=0"  --cookie-jar "cookies.txt"

nanos=`date +%s%N`;

curl "https://speedport.ip/data/Reboot.json?_time=${nanos:0:13}&_rand=741" --referer "https://speedport.ip/html/content/config/problem_handling.html?lang=de" --data "reboot_device=true" --cookie "cookies.txt"

exit 0

Bearbeitet von praseodym:

"#!/bin/bash" oben eingefügt und Zeilennummern entfernt. Achtung: ❗ Syntax wurde nicht überprüft.

gerdkolano

Anmeldungsdatum:
17. Dezember 2013

Beiträge: 4

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
// 2013.13.18 Reconnect Telekom-Speedport W921V
$GEHEIM="12345678";

// Login
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL,        "https://speedport.ip/data/Login.json");
curl_setopt( $ch, CURLOPT_REFERER,    "https://speedport.ip");
curl_setopt( $ch, CURLOPT_COOKIEFILE, "/tmp/speedport.cookie");
curl_setopt( $ch, CURLOPT_COOKIEJAR,  "/tmp/speedport.cookie"); # SAME cookiefile.
curl_setopt( $ch, CURLOPT_POST,        1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, "password=$GEHEIM&showpw=0");
curl_setopt( $ch, CURLOPT_HEADER,      1); # Show headers.  May be set to 0.
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1); # Don't write returned data to stdout, store them in $data.
$data = curl_exec( $ch);

// offline
curl_setopt( $ch, CURLOPT_URL,        "https://speedport.ip/data/Connect.json");
curl_setopt( $ch, CURLOPT_POSTFIELDS, "req_connect=offline");
$data .= curl_exec( $ch);

// online
curl_setopt( $ch, CURLOPT_POSTFIELDS, "req_connect=online");
$data .= curl_exec( $ch);

// Logout
curl_setopt( $ch, CURLOPT_URL,        "https://speedport.ip/data/Login.json");
curl_setopt( $ch, CURLOPT_POSTFIELDS, "logout=byby");
$data .= curl_exec( $ch);
curl_close( $ch);

echo  str_replace( "\n", "<br />\n", $data) . "<br>\n";  # may be omitted.
?>

gerdkolano

Anmeldungsdatum:
17. Dezember 2013

Beiträge: 4

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/sh
# 2013.13.18 Reconnect Telekom-Speedport W921V
# W921V login
GEHEIM="12345678"
curl "https://speedport.ip/data/Login.json"   --data "password=$GEHEIM&showpw=0" --referer "https://speedport.ip" --cookie-jar "speedport.cookie"
# W921V offline
curl "https://speedport.ip/data/Connect.json" --data "req_connect=offline" --referer "https://speedport.ip" --cookie "speedport.cookie" --cookie-jar "speedport.cookie"
# W921V online
curl "https://speedport.ip/data/Connect.json" --data "req_connect=online" --referer "https://speedport.ip" --cookie "speedport.cookie" --cookie-jar "speedport.cookie"
# W921V logout
curl "https://speedport.ip/data/Login.json"   --data "logout=byby" --referer "https://speedport.ip" --cookie-jar "speedport.cookie"
exit 0

Iceman81

(Themenstarter)

Anmeldungsdatum:
29. Juni 2012

Beiträge: 65

HEy danke ist zwar schon ne Weile her mit der Anfrage aber habe in der Zwischenzeit nix gefunden, also mit dem PHP Script bin ich mehr als zufrieden funktioniert Bombe.

Studdi23

Anmeldungsdatum:
17. Juni 2014

Beiträge: Zähle...

Hallo zusammen,

auf der Suche nach einem Reconnect PHP Script für besagten Router bin ich auf diese Seite gestossen. Allerdings funktioniert das von gerdkolano gepostete Script auf meinem Windows 7 Rechner nicht. Liegt das vielleicht an den Optionen CURLOPT_COOKIEFILE und CURLOPT_COOKIEJAR? Der eingetragene Pfad scheint auf ein Linux Verzeichnis zu verweisen. Eine Änderung des Pfades auf den Windows Temp Ordner hat aber leider auch nichts gebracht. Könnte bitte jemand eine modifizierte Version des Scripts posten, damit es auch auf Windows Systemen ausgeführt werden kann?

Gruß Studdi23

gerdkolano

Anmeldungsdatum:
17. Dezember 2013

Beiträge: 4

Hängt nicht von der Ubuntu-Version ab.

#!/bin/bash
# Veranlasse den Provider. eine neue IP-Adresse zu generieren

# W921V
# curl --help
# -k, --insecure      Allow connections to SSL sites without certs (H)
# -d, --data DATA     HTTP POST data (H)
# -c, --cookie-jar FILE  Write cookies to this file after operation (H)

# Eventuell besser mit http statt https

GEHEIM=12345678
REFERER="https://speedport.ip/html/login/"
OPT="--insecure --silent"
JAR=`tempfile -p w921-`

REFEREE="https://speedport.ip/data/Login.json"
KOMMANDO="curl $REFEREE $OPT --referer $REFERER --cookie-jar $JAR --data password=$GEHEIM&showpw=0"
echo ${KOMMANDO//password=*&/password=********&}; exec $KOMMANDO | /usr/local/bin/json-analyse.pl

REFEREE="https://speedport.ip/data/Connect.json"
KOMMANDO="curl $REFEREE $OPT --referer $REFERER --cookie $JAR --data req_connect=offline"
echo $KOMMANDO; exec $KOMMANDO | /usr/local/bin/json-analyse.pl
sleep 1

REFEREE="https://speedport.ip/data/Connect.json"
KOMMANDO="curl $REFEREE $OPT --referer $REFERER --cookie $JAR --data req_connect=online"
echo $KOMMANDO; exec $KOMMANDO | /usr/local/bin/json-analyse.pl

REFEREE="https://speedport.ip/data/Login.json"
KOMMANDO="curl $REFEREE $OPT --referer $REFERER --cookie $JAR --data logout=byby"
echo $KOMMANDO; exec $KOMMANDO | /usr/local/bin/json-analyse.pl

# rm "$JAR"

exit 0

Ende des Shell-Scripts
Beginn von "json-analyse.pl"
#!/usr/bin/perl

#use LWP::Simple;                # From CPAN
#use Data::Dumper;               # Perl core module
use Try::Tiny;
use JSON qw( decode_json );     # From CPAN
use strict;                     # Good practice
use warnings;                   # Good practice

local $/; #enable slurp

my $jsons = <>;

# while(m#(\[[^]]*\])#g){print "$1\n"}
#  perl -e '$aa=qw/[{"vartype":"status","varid":"status","varvalue":"ok"}][{"vartype":"status","varid":"status","varvalue":"ok"}]/; while($aa=~m#(\[[^]]*\])#g){print "$1\n"}'
#
my $json ="";

while ($jsons=~m#(\[[^]]*\])#g) {
  $json = $1;

  # Decode the entire JSON
  my $decoded_json;
  
  try {
    $decoded_json = decode_json( $json );
    #print Dumper $decoded_json;
    my $key;
    my $templ;
    foreach $key ( keys $decoded_json) {
      #printf "%02d ", $key;
      printf "%s ", $key;
      printf "%s ", $decoded_json->[$key]{'vartype'};
      printf "%s ", $decoded_json->[$key]{'varid'};
      printf "%s ", $decoded_json->[$key]{'varvalue'};
      printf "\n";
      if ("template" eq $decoded_json->[$key]{'vartype'}) {
        foreach $templ ( keys $decoded_json->[$key]{'varvalue'}) {
          printf "   %02d ", $templ;
          printf "   %s ", $decoded_json->[$key]{'varvalue'}->[$templ]{'vartype'};
          printf "   %s ", $decoded_json->[$key]{'varvalue'}->[$templ]{'varid'};
          printf "   %s ", $decoded_json->[$key]{'varvalue'}->[$templ]{'varvalue'};
          printf "\n";
        }
      }
    }
  } catch {
    printf "%s", $json;
  };
  print "\n";
}

Superbony_the_Cat

Anmeldungsdatum:
19. Februar 2021

Beiträge: Zähle...

jetzt gehts damit wieder +" --ciphers 'DEFAULT:!DH' --insecure " https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#!/bin/sh
# 2013.13.18 Reconnect Telekom-Speedport W921V
# W921V login
GEHEIM="12345678"
curl "https://speedport.ip/data/Login.json"   --data "password=$GEHEIM&showpw=0" --referer "https://speedport.ip" --cookie-jar "speedport.cookie" --insecure --ciphers 'DEFAULT:!DH'
# W921V offline
curl "https://speedport.ip/data/Connect.json" --data "req_connect=offline" --referer "https://speedport.ip" --cookie "speedport.cookie" --cookie-jar "speedport.cookie" --insecure --ciphers 'DEFAULT:!DH'
# W921V online
curl "https://speedport.ip/data/Connect.json" --data "req_connect=online" --referer "https://speedport.ip" --cookie "speedport.cookie" --cookie-jar "speedport.cookie" --insecure --ciphers 'DEFAULT:!DH'
# W921V logout
curl "https://speedport.ip/data/Login.json"   --data "logout=byby" --referer "https://speedport.ip" --cookie-jar "speedport.cookie" --insecure --ciphers 'DEFAULT:!DH'
exit 0


Superbony_the_Cat

Anmeldungsdatum:
19. Februar 2021

Beiträge: 2

Kontrolle damit

1
curl ifconfig.me
Antworten |