Pred
Aktives Mitglied
- Dabei seit
- 27.08.2005
- Beiträge
- 1.480
- Reaktionspunkte
- 74
Kann man das Script so erweitern, dass Terminal danach automatisch geschlossen wird?
Folgen Sie dem Video unten, um zu sehen, wie Sie unsere Website als Icon auf Ihrem Homescreen erstellen.
Anmerkung: This feature may not be available in some browsers.
Mit FritzReconnect.app hier gehts.
Mit diesem hier gehts.
$ sudo port -d selfupdate
$ sudo port install links p5-libwww-perl
$ cd /opt/local/bin
$ sudo nano whatsmyip
#!/bin/bash
links -dump ip-adress.com | grep "My IP address:" | awk '{ print $4 }'
$ sudo nano fbreset
#!/usr/bin/env perl
use Net::FTP;
use Net::Ping;
use LWP 5.64;
my $browser = LWP::UserAgent->new;
$p = Net::Ping->new("tcp");
use POSIX;
($action)=@ARGV;
my $locale = POSIX::setlocale(&POSIX::LC_ALL, "deu");
my @tm = localtime(time());
$i = 0;
$c = 0;
if ($#ARGV != 0) {
print "usage: ipreset \"password\"\n";
exit;
}
# Hier ggf ein bisschen modifizieren
# Oder anstelle von @ARGV[0] einfach "Passwort" eingeben um nicht jedesmal das
# Passwort mitliefern zu müssen
$boxpasswort = @ARGV[0];
# Zeit die die Fritzbox benötigt um sich zu trennen/den Trennen-Befehl zu
# verarbeiten, einfach höhere Werte verwenden, sollte es zu Problemen kommen
$sleeptime = 5;
# Host zum überprüfen ob die Verbindung bereits wiederhergestellt wurde, kann
# auch google.com oder sonstwas sein, Hauptsache hohe Uptime
$host = "www.jabber.org";
# Zeit zwischen Pings
$maxtimetowait = 1;
# Maximale Anzahl an Pings
$maxpings = 1000;
# Falsch-Schlüsselwort, wird verwendet um das angegebene Passwort zu überprüfen,
# z.b ungültig, vergessen, falsch usw
$keyword = "ungültig";
# die URL zur Fritzbox, sollte so stimmen
my $urlcgi = 'http://fritz.box/cgi-bin/webcm';
# Hier nichts mehr ändern
print "> current ip is: "; system("whatsmyip");
print "> starting reconnect, please wait...\n";
my $response = $browser->post($urlcgi,
[
"getpage" => "../html/de/menus/menu2.html",
"errorpage" => "../html/index.html",
"var:lang" => "de",
"var:pagename" => "home",
"var:menu" => "home",
"login:command/password" => "$boxpasswort"
],
);
if (index($response->content, $keyword) != -1) {
print "error: wrong password\n";
exit;
}
my $response = $browser->post($urlcgi,
[
"connection0:pppoe:settings/idle" => "5",
"connection0:pppoe:settings/mode" => "on_demand"
],
);
my $response = $browser->post($urlcgi,
[
"connection0:pppoe:settings/idle" => "0",
"connection0:pppoe:settings/mode" => "lcp"
],
);
sleep($sleeptime);
while ($i < $maxpings) {
($ret, $duration, $ip) = $p->ping($host);
if ($ret == 1) {
print "> new ip is: "; system("whatsmyip");
exit;
} else {
$timetowait = rand($maxtimetowait) + 1;
sleep($timetowait);
$i++;
}
}
$p->close();
$ sudo chmod +x whatsmyip
$ sudo chmod +x fbreset
$ fbreset "123456"