Alternative zu DynDNS

Kabelboxen haben keine Zwangstrennung und bekommen, selbst bei einer Trennung, die gleiche IP erneut zugewiesen.
der Account wird auch nicht gelöscht, sondern lediglich die "Weiterleitung" wird deaktiviert.
 
Meines erachtens ist diese DDNS Sache nur eine Möglichkeit von vielen wie man von "draussen" seine Geräte erreichen kann.
Wer kommerziell darauf angewiesen ist, wird kein DDNS benutzen.
Und wer nicht, der sucht nach billigen Möglichkeiten, da sind Gratis-EMailadressen, Gratis-Webspace wo PHP drauf läuft oder ganz simple Shellskript-CGIs durchaus legitim.
Und dieser Gratis-Webspace läßt sich "clustern", dass erhöht die Redundanz.
 
Ich setze es immer noch ein (hab's ja auch gechrieben :) ). Allerdings war eine automatische Weiterleitung nie geplant. Das heißt, ich hätte es schon gerne gehabt, aber habe leider keine funktionierende Möglichkeit gefunden.

Man kann doch entweder eine Subdomaine einrichten und in der PHP-Index-Datei die IP aus der Logdatei in den Header includieren und so weiterleiten lassen. Wenn man keine Subdomaine einrichten kann, kann man auch z.B. http://www.xyz.de/ip.php erstellen und in dieser wird dann ebenso per Includ die IP-Adresse aus der Logdatei im Header weiter geleitet. Müsste doch funktionieren ;-)
 
Wie meinste dass denn jetzt? Eine kleine schnelle UDP Anfrage? Oder FTP?
SMTP? - Nuh! - Sag schon!
 
Zuletzt bearbeitet:
FTP, SMTP, POP, IMAP, SSH, SIP, RDP, VNC, VPN, und sicher noch viele andere.

Ich verwende gern SSH oder VPN, da ist das Leben einfacher, wenn man wirklich eine DNS Auflösung hat und nicht nur die Adresse auf einer Webseite steht.
 
Liebe Freunde der Bits und Bytes,
jetzt ist es wegen der Diensteinstellung von Dyndns akut.

Wie im Beitrag 57 geschrieben, funktioniert das auf eigenem webspace basierende Tool hervorragend.
Die Aktualisierung klappt sowohl von der Fritz-Box aus als auch mit dem angesprochenen Windows-Script.

Nur mit einem entfernten Linux-Rechner(Xubuntu12.04) hinter einem blöden Router stelle ich mich etwas doof an.
Ich bekomme das Script in Linux nicht hin.
Code:
#!/bin/bash
PUBIP=`w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'`
http://dyn.meine-domain.tld?n=4&comment=Xubuntu-Rechner&myip=$PUBIP&pw=geheim
Was muss ich vor http fürn Befehl setzen und wie wird die $PUBIP richtig eingebunden?
Im Terminal mit echo $PUBIP wird die aktuelle IP angezeigt.
Gruß
Michael
Edit: es geht um Zeile 3, die Variable $PUBIP wird so auch richtig ermittelt. In Zeile 2 Curl statt w3m ginge natürlich auch(Eh woanders gefunden, kein eigener Mist)
 
Zuletzt bearbeitet:
Nur mit einem entfernten Linux-Rechner(Xubuntu12.04) hinter einem blöden Router stelle ich mich etwas doof an.

Code:
#!/bin/bash
PUBIP=`w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'`
http://dyn.meine-domain.tld?n=4&comment=Xubuntu-Rechner&myip=$PUBIP&pw=geheim
Michael
Wie ist die Ausgabe von:
Code:
w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'
im Vergleich zu
Code:
curl -k -X GET http://www.monip.org/ 2>&1 | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'
, wenn Du curl installiert hast. Wenn gleich, dann versuch mal z. B. mit:
Code:
PUBIP="$(w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }')"
im Script.

EDIT:

OK, dann versuch mal in der Zeile 3, vor http, z. B. mit:
Code:
curl -4skN --no-keepalive -X PUT ...
 
Zuletzt bearbeitet:
Hab jetzt die Lösung.
In die letzte Zeile gehört ein GET rein!
Code:
#!/bin/bash
PUBIP=`w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'`
GET "http://dyn.meine-domain.tld?n=4&comment=Xubuntu-Rechner&myip=$PUBIP&pw=geheim"
Funktioniert bestens. Beim Aufruf im Terminal liest er mir zwar zusätzlich meine Homepage vor, im Autostart gibts keine Rückmeldungen.
Danke fürs Mitdenken.
Kleines Restproblem: der FritzBox-DynDNS-Updater updatet schön meine Homepage, müllt aber das Log voll, da es keine Rückmeldung gibt. "Dynamic DNS-Fehler: Die Dynamic DNS-Aktualisierung war erfolgreich, anschließend trat jedoch ein Fehler bei der DNS-Auflösung auf."
Was ich irgendwo schon las, eigene IP bei Domainname reintippseln, hilft bei fast statischen IPs recht lange - gibts da eine elegantere Lösung? Evtl. mit FBEditor irgendwas verbiegen?
Gruß
Michael

Edit zum Restproblem: einfach in Domainname "http://<ipaddr>" reintippseln ändert nur die Fehlermeldung:"Dynamic DNS-Fehler: Der angegebene Domainname kann trotz erfolgreicher Aktualisierung nicht aufgelöst werden." Das wär zu einfach....
 
Zuletzt bearbeitet:
Was tut den GET bei Dir?

Die DNS Auflösung kann nicht funktionieren, weil das Skript keine DNS Aktualisierung macht und daher nichts mit Dynamic DNS zu tun hat.
 
Das ist sehr wohl eine Alternative zu DynDns. Man hat es komplett in eigener Hand und kostet nix.
Ich zitiere meine Zusammenfassung:
Mal eine kurze Zusammenfassung:
Mit diesem Tool (siehe Beitrag#1) kann man auf seiner eigenen Homepage die öffentliche IP ersehen und auch anklicken. Dieses geht sowohl im ftp-, http- als auch im https-Modus (Für Fernwartung der Fritzbox also direkt anklicken).
Der Updatevorgang kann in der Fritzbox direkt erfolgen.
Wenn man sich dafür eine Subdomain einrichten kann, gehts besonders bequem. Bei Freehostern in ein Unterverzeichnis reinpacken und in index.php umbenennen geht natürlich auch.
Bei Herrn Pierschel habe ich einen schönen Updateclient gefunden, der unter Windows unabhängig von Fritz & Co. funktioniert. Die Update-URL lautet "[FQDN]&myip=[PUBLICIP]&pw=Blubb", wobei bei FQDN der komplette Pfad (http://dyn.mydomain.tld?n=2&comment=Zweitrouter) eingetragen ist. Wegen der Fehlermeldung beim Updaten habe ich als Schlüsselwort für erfolgreiches Updaten ein Komma reingetippselt. -funktioniert perfekt-...
Gruß
Michael
 
Hallo

Ich versuche dein Skript einzusetzen, scheitere aber an den, so glaube ich, etwas unsauber programmierten PHP HTML Header...
Code:
Warning: strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /var/media/ftp/SanDisk-Cruzer-01/pubip/index.php on line 184

Warning: Cannot modify header information - headers already sent by (output started at /var/media/ftp/SanDisk-Cruzer-01/pubip/index.php:184) in /var/media/ftp/SanDisk-Cruzer-01/pubip/index.php on line 156

Warning: Cannot modify header information - headers already sent by (output started at /var/media/ftp/SanDisk-Cruzer-01/pubip/index.php:184) in /var/media/ftp/SanDisk-Cruzer-01/pubip/index.php on line 157
Zugriff verweigert! Werte nicht gespeichert!
...benutze /cgi-bin/php-cgi auf einem busybox httpd Webserver.

Wenn ich es rausdebugt habe, poste ich mal die sauberen header() von dem PHP Code. ;)
 
Das ist sehr wohl eine Alternative zu DynDns. Man hat es komplett in eigener Hand und kostet nix.
Ich zitiere meine Zusammenfassung

Mir ist die Zusammenfassung durchaus bekannt.
Der Teil "kostet nix" stimmt dann, wenn man bereits über einen Webserver verfügt, der PHP unterstützt. Der Teil "komplett in eigener Hand" ist nur bedingt richtig, wenn man von Freehostern ausgeht. Auch DynDNS war mal frei.

Insbesondere ist es aber kein DNS. Schon für das, was funktioniert, braucht man einen zusätzlichen Schritt, und für Email, SSH und andere Dienste ist es nicht geeignet. Es spricht nichts dagegen, das zu nutzen, wenn man die Einschränkungen kennt und mit ihnen leben kann, aber man sollte nicht so tun, als wäre es das Gleiche.
 
@koyaanisqatsi:
Redest Du von Router-tool.zip?
In dem Verzeichnis musste Schreibrechte einräumen, weil er dort ne Datei anlegen und modifizieren muss.
Gruß
Michael
 
Hallo,
nachdem ich jetzt die ganzen Beiträge überflogen habe, bin ich total durcheinander. Gibt es denn eine Ablösung für DynDNS, die auch ich verstehe und umsetzen kann. Mit den ganzen Scripten komme ich nicht klar. Es wäre schön, wenn ein Spezi mal ein WorkAround erstellen könnte. Fakt ist leider, dass DynDNS die kostenlose Variante einstellt und ich mir dort auch kein Jahres-Account anlegen möchte. In dem Bericht von heise.de wurde ja auch erwähnt, dass die Provider (AVM) ev. mit einem Firmware Update z.B. für die FB 7270v2 Abhilfe schaffen könnten.
Bloß ob das etwas wird, wage ich zu bezweifeln.:confused:
 
Hallo,
Die Abhilfe von AVM nennt sich MyFritz, ansonsten nutze ich eine Domain bei Strato, für schmales Geld, ca. 4-6 Euro im Jahr.
 
Frage: "Redest Du von Router-tool.zip?"
Antwort: Ja

UPDATE:

Changelog:
1. WoL auskommentiert (funktionierte nicht)
2. Separate Konfigurationdatei (config.php, Beschreibung als Kommentare in dieser vorhanden)
3. Hilfe kann Online aufgerufen werden
4. Diverse Verbesserungen (keine hardkodierten URLs, W3C konform)

index.php
PHP:
<?php
require_once('./config.php');
require_once('./functions.php');
//error_reporting();
date_default_timezone_set('Europe/Berlin');
$params = 6;
$daten = array();
$daten = loaddata($datei);
$daten = getparameters($daten);
savedata($datei,$daten,$SCHREIBPW);
doaction($daten);
showdata($daten,$LESEPW,$SCHREIBPW);
?>
config.php
PHP:
<?php
// Passwörter zum Lesen/Schreiben in die Datenbank:
$SCHREIBPW = "secret";
$LESEPW = $SCHREIBPW;
// Die Datenbank:
$datei = "pubip.txt";
// Globale Variable für den HTTP Link Präfix:
$HTTP_PRE = "http://";
// Globale Variable für den HTTPS Link Präfix:
$HTTPS_PRE = "https://";
// Globale Variable für den FTP Link Präfix:
$FTP_PRE = "";
// Beispiele: ftp:// ftps:// sftp:// fish://
// Oder leer lassen, dann jeweils in der URL angeben.
// Dann kann/muss er für jeden Eintrag individuell sein.
// Beispiel für DynDNS Eintrag in der Fritz!Box:
// $FTP_PRE = "";
// KonfigURL: index.php?pw=<pass>&n=<username>&ftp=sftp://<ipaddr>
// In Benutzername (<username>)dann die Eintragsnummer angeben, z.B.: 2
?>
functions.php
PHP:
<?php
function wake($ip, $mac, $port)
{
$mac = str_replace("-", "", $mac);
if(strlen($mac)<12) return false;
$mac = chr(hexdec(substr($mac,0,2))).chr(hexdec(substr($mac,2,2))).chr(hexdec(substr($mac,4,2))).chr(hexdec(substr($mac,6,2))).chr(hexdec(substr($mac,8,2))).chr(hexdec(substr($mac,10,2)));
$nic = fsockopen("udp://" . $ip, $port);
if($nic)
{
$packet = chr(0xFF).chr(0xFF).chr(0xFF).chr(0xFF).chr(0xFF).chr(0xFF);
$packet .= $mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac.$mac;
}
$ret = fwrite($nic, $packet);
fclose($nic);
if($ret) return true;
return false;
}
function loaddata($file)
{
if (file_exists($file))
{
$fp = fopen($file, "r");
$inhalt = fread ($fp, filesize($file));
fclose($fp);
$data=explode("\n",$inhalt);
return $data;
}
}
function savedata($file,$data,$password)
{
if (!((count($_GET) == 1) && isset($_GET['pw'])) && (count($_GET) > 0))
{
if (($password == "") || ($_GET['pw'] == $password))
{
if ($fp = fopen($file, "w"))
{
fwrite($fp,implode("\n",$data));
fclose($fp);
return true;
}
else return false;
}
else
{
header('Content-type: text/html; charset="utf-8"');
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
echo '<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Externe IP-Adresse des DSL-Zugangs zuhause</title>
</head>
<body>
<h1>Zugriff verweigert! Werte nicht gespeichert!</h1>
</body>
</html>
';
exit(0);
}
}
}
function getparameters($data)
{
global $params;
if(isset($_GET['n'])) $counter = $_GET['n'];
if($counter == "") $counter = 1;
if($_GET['del']) $counter = $_GET['del'];
for ($i = 0; $i <= ($params-1); $i++ )
{
if(!isset($data[(($counter-1)*$params)+$i])) $data[(($counter-1)*$params)+$i] = "";
}
if(isset($_GET['comment']))
{
$data[(($counter-1)*$params)+0] = $_GET['comment'];
}
if (count($_GET) > 0)
{
$data[(($counter-1)*$params)+1] = strftime('%d.%m.%Y, %H:%M Uhr',time());
}
if (isset($_GET['myip']))
{
$data[(($counter-1)*$params)+2] = $_GET['myip'];
if ($data[(($counter-1)*$params)+2] == "") $data[(($counter-1)*$params)+2] = $_SERVER['REMOTE_ADDR'];
}
if(isset($_GET['ftp']))
{
if($_GET['ftp']) $data[(($counter-1)*$params)+3] = $_GET['ftp'];
}
if(isset($_GET['web']))
{
if($_GET['web']) $data[(($counter-1)*$params)+4] = $_GET['web'];
}
if(isset($_GET['web']))
{
if($_GET['webs']) $data[(($counter-1)*$params)+5] = $_GET['webs'];
}
//if(isset($_GET['wake']))
//{
//if($_GET['wake'])
//{
//$data[(($counter-1)*$params)+5] = $_GET['wake'];
//}
//}
//if(isset($_GET['wakeip']))
//{
//if($_GET['wakeip']) $data[(($counter-1)*$params)+6] = $_GET['wakeip'];
//}
ksort($data);
if(isset($_GET['del']))
{
if($deleteentry) $counter = $deleteentry;
for ($i = ($params-1); $i >= 0; $i-- )
{
unset($data[(($counter-1)*$params)+$i]);
}
}
return explode("\n",implode("\n",$data));
}
function showdata($data,$rpass,$wpass)
{
global $params;
global $FTP_PRE;
global $HTTP_PRE;
global $HTTPS_PRE;
header('Content-type: text/html; charset="utf-8"');
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
echo '<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Externe IP-Adresse des DSL-Zugangs zuhause</title>
<style type="text/css">
';
if (($rpass == "") || ($_GET['pw'] == $rpass))
{
echo 'th{text-align:left;padding:0 0 0 3em;color:#666;vertical-align:top;width:15em;}
td{font-weight:bold;font-family:monospace;padding:0;}
table{width:100%;}
a{text-decoration: none;color:#000;display:block;}
a:hover{color:#00D;background-color:#DDD;}
small a{color:#CCC;display:inline;font-size:0.5em;}
small a:hover{color:#F00;background-color:transparent;font-size:0.8em;}
</style>
</head>
<body>
<small><a href="README.txt">Hilfe</a></small>
';
if(isset($_GET['del'])) print "<h3>Status: Eintrag gel&ouml;scht!</h3><hr \>";
//if(isset($_GET['wake']) && ($_GET['wake'] == "")) print "<h3>Status: Wake-on-LAN Paket verschickt!</h3><hr \>";
$i = 1;
do
{
$ipaddress = $data[(($i-1)*$params)+2];
$ftpaddress = $ipaddress;
$webaddress = $ipaddress;
$httpsaddress = $ipaddress;
//$woladdress = $ipaddress;
echo '<h2>Eintrag '.$i.': <small><a href="'.$_SERVER['PHP_SELF'].'?del='.$i.'&amp;pw='.$wpass.'">L&Ouml;SCHEN</a></small></h2>
<table>
<tr><th>Kommentar:</th><td>'.$data[(($i-1)*$params)+0].'</td></tr>
<tr><th>Stand von:</th><td>'.$data[(($i-1)*$params)+1].'</td></tr>
<tr><th>WAN IP-Adresse:</th><td>'.$ipaddress.'</td></tr>
';
if ($data[(($i-1)*$params)+3] != "") $ftpaddress = $data[(($i-1)*$params)+3];
echo '<tr><th>FTP IP-Adresse:</th><td><a href="'.$FTP_PRE.''.$ftpaddress.'" title="Mit FTP verbinden">'.$FTP_PRE.''.$ftpaddress.'</a></td></tr>
';
if ($data[(($i-1)*$params)+4] != "") $webaddress = $data[(($i-1)*$params)+4];
if ($data[(($i-1)*$params)+5] != "") $httpsaddress = $data[(($i-1)*$params)+5];
//preg_match('@^(?:[a-z]:)?([^:]+)@i',$webaddress, $treffer);
//$httpsaddress = $treffer[1];
echo '<tr><th>Webserver IP-Adresse:</th><td><a href="'.$HTTP_PRE.''.$webaddress.'" title="Mit Webserver verbinden">'.$HTTP_PRE.''.$webaddress.'</a></td></tr>
<tr><th>Gesicherter Webserver:</th><td><a href="'.$HTTPS_PRE.''.$httpsaddress.'" title="Mit gesichertem Webserver verbinden">'.$HTTPS_PRE.''.$httpsaddress.'</a></td></tr>
';
//if ($data[(($i-1)*$params)+6] != "") $woladdress = $data[(($i-1)*$params)+6];
//if ($data[(($i-1)*$params)+5] == "") $woladdress = "";
//echo '<tr><th>Wake-on-LAN MAC-Adresse:</th><td><a href="'.$_SERVER['PHP_SELF'].'?wake&amp;n='.$i.'&amp;pw='.$wpass.'" title="Wake-on-LAN Paket an '.$woladdress.' senden">'.$data[(($i-1)*$params)+5].'</a></td></tr>
//<tr><th>Wake-on-LAN IP-Adresse:</th><td><a href="'.$_SERVER['PHP_SELF'].'?wake&amp;n='.$i.'&amp;pw='.$wpass.'" title="Wake-on-LAN Paket an '.$woladdress.' senden">'.$woladdress.'</a></td></tr>
echo '</table>
';
$i++;
}
while  (($i*$params)<= count($data));
}
else
{
echo '</style>
</head>
<body>
<h1>Zugriff verweigert!</h1>
';
}
echo '</body>
</html>
';
}
function doaction($data)
{
global $params;
if(isset($_GET['n'])) $counter = $_GET['n'];
if($counter == "") $counter = 1;
if(((isset($_GET['ftp']) && (count($_GET) == 1)) || (isset($_GET['ftp']) && isset($_GET['n']) && (count($_GET) == 2))) && ($_GET['ftp'] == ""))
{
header("Location: ftp://".$data[(($counter-1)*$params)+3]);
exit();
}
if(((isset($_GET['web']) && (count($_GET) == 1)) || (isset($_GET['web']) && isset($_GET['n']) && (count($_GET) == 2))) && ($_GET['web'] == ""))
{
header("Location: http://".$data[(($counter-1)*$params)+4]);
exit();
}
//if((isset($_GET['wake']) && (count($_GET) == 1)) || (isset($_GET['wake']) && isset($_GET['n']) && (count($_GET) == 2)) && ($_GET['wake'] == ""))
//{
//wake($data[(($counter-1)*$params)+6], $data[(($counter-1)*$params)+5], 9);
//}
}
?>
README.tx[.gz]
Code:
Version vom 07.01.2013 by Karl Loncarek
Modifiziert 14.04.2014 by koyaanisqatsi
(Skript modularisiert, WoL entfernt b.z.w. auskommentiert und Parameter erweitert/individualisiert)
Bestehend aus:
index.php <--<< Das Hauptprogramm, b.z.w. Skript.
config.php <--<< Individuelle Konfigurationseinstellungen, Beschreibung als Kommentar vorhanden.
functions.php <--<< Enthaelt alle benoetigten Funktionen.
README.txt.gz <--<< Diese Hilfeseite, wird ueber einen Link in der Skriptausgabe geoeffnet.
(Oben Links, "Hilfe", README.txt.gz deshalb, weil es die allermeisten Browser koennen)

Getestet mit einer Fritz!Box 7360SL und KonfigURL Parameter von dieser Seite:
http://service.avm.de/help/de/FRITZ-Box-Fon-WLAN-7360/012/hilfe_dyndns

Dieses Skript dient als Hilfsmittel fuer den Einsatz mit mehreren
Routern. Es koennen z.B. die IP-Adressen uebergeben werden (aehnlich
wie bei dyndns). Die Informationen werden ueber Parameter in der URL
uebergeben. Hierzu muss ein benutzerdefinierter DNS-Anbieter
eingestellt werden.

Beispiel, das mit meiner Fitz!Box funktioniert (Update-URL):
	...../index.php?myip=<ipaddr>&n=2
	
Diese Parameter koennen uebergeben werden (mehrere mit "&" verknuepfen):
myip
	fuer die Uebergabe der dynamischen IP-Adresse gedacht
	Beispiel:	...../index.php?myip=192.168.1.1
n
	fuer Eintraege mehrerer Router; "n" ist die Nummer des Eintrags
	wenn "n" nicht angegeben wird, wird der erste Eintrag bearbeitet
	Beispiel:	...../index.php?myip=192.168.1.1&n=2
comment
	fuer zusaetzlichen Kommentar, der zusammen mit Parametern
	angezeigt wird
	Beispiel:	...../index.php?comment=Router%20zu%20Hause
wakeip	(entfernt)
	fuer die Uebergabe einer eigenen Wake-on-LAN IP-Adresse.
	Mehr zu Wake-on-LAN weiter unten.
	Beispiel:	...../index.php?wakeip=192.168.1.255
wake	(entfernt)
	die fuer Wake-on-LAN notwendige MAC-Adresse.
	Mehr zu Wake-on-LAN weiter unten.
	Beispiel:	...../index.php?wake=00-12-AB-34-CD-56
	wird kein Wert uebergeben, wird das Magic Paket zur
	gespeicherten IP-Adresse verschickt, einziger erlaubter
	zusaetzlicher Parameter ist "n".
ftp
	fuer die Uebergabe einer IP zum FTP-Server (evtl. mit Port)
	Beispiel:	...../index.php?ftp=192.168.1.5:40
	wird kein Wert uebergeben wird direkt zum FTP-Server weiter-
	geleitet, einziger erlaubter zusaetzlicher Parameter ist "n".
web
	fuer die Uebergabe einer IP zum Webserver (evtl. mit Port)
	Beispiel:	...../index.php?web=192.168.1.5:8080
	wird kein Wert uebergeben wird direkt zum Web-Server weiter-
	geleitet, einziger erlaubter zusaetzlicher Parameter ist "n".
webs
	wie web, fuer HTTPS.
	Beispiel:       ...../index.php?webs=192.168.1.5:44333
del
	loescht existierende Eintraege. Zu loeschender Eintrag kann als
	Wert oder mit "n" uebergeben werden. Der Wert wiegt schwerer.
	Beispiel:	...../index.php?del=3
pw
	uebergibt ein Passwort fuer das Schreiben bzw. Anzeigen des/der
	Eintraege. Die Passwoerter werden im Klartext in den Variablen
	$LESEPW und $SCHREIBPW gesetzt (siehe weiter unten).
	Standardmaessig sind Sie leer. Ist einer von beiden leer,
	muss kein Passwort angegeben werden.
	Beispiel:	...../index.php?myip=192.168.1.1&pw=geheim

Um die gespeichertern Parameter anzuzeigen einfach Skript ohne
Parameter aufrufen:
	...../index.php
Falls ein Passwort fuer die Anzeige gesetzt wurde, muss es so aussehen:
	...../index.php?pw=geheim

Wake-on-LAN: (entfernt)
Damit Wake-on-LAN funktionieren kann, muss es im BIOS und unter Windows
aktiviert werden. Eventuell ist auch ein Verbindungskabel von der Netzwerk-
karte zum Mainboard notwendig. Das Wake-on-LAN Paket wird ueblicherweise
an die Broadcast-Adresse, z.B. 192.168.1.255 geschickt. Bei einem Router ist
das normalerweise nicht moeglich. Daher muss beim Router eine Portregel
erstellt werden, die den Port 9 zur internen Brodcast-Adresse umleitet.
(Derzeit bei der Fritz!Box nicht ohne weiteres moeglich!)

Mit einer der letzten Firmwares unterstuetzt die Fritz!Box das Wake-on-LAN
direkt. Hierzu muss man sich aber in die Administartionsflaeche per sicherem
Webzugriff einloggen.

Konfigurationsbeispiel:
Folgende Felder sind unter der DynDNS-Einstellung bei einer Fritz!Box 7170 verfuegbar:
(zu finden unter: Erweiterte Einstellungen -> Freigaben -> Dynamic DNS)
	1. Dynamic DNS-Anbieter
	2. Update-URL (nur verfuegbar, wenn unter 1 "Benutzerdefiniert" gewaehlt wurde)
	3. Domain
	4. Benutzername
	5. Kennwort
	6. Kennwortbestaetigung
Es muss folgendes eingetragen werden:
	Punkt 1: "Benutzerdefiniert"
	Punkt 2: "deinedomain.de/deinpfad/RouterTool.php?myip=<ipaddr>&pw=<pass>  (<ipaddr> und <pass> ist ein Feld, das von der Fritz!Box gefuellt wird)
	Punkt 3: "deinedomain.de" (notwendig, wenn Du auch gleichzeitig Fernwartung machen willst, sonst funktioniert sie nicht)
	Punkt 4: kann leer bleiben, da nicht verwendet. (Fritz!Box DynDNS KonfigURL: n=<username> kann auf Eintragsnummer gesetzt werden)
	Punkt 5: "Passwort" sofern hier im Script eines gesetzt ist (optional)
	Punkt 6: "Passwort" (identisch zu Punkt 5)
Viel Spass...
Die Ausgabe erfolgt in: HTML5
Content-type: text/html; charset="utf-8"
Im Standardkonformen Modus.
Die W3C Prüfung sollte jetzt auch schön grünes HTML5 bestätigen. ;)
Umlautproblem durch Entities gelöst.
Im Code hab ich noch das Hardkodierte RouterTool.php in $_SERVER['PHP_SELF'] geändert.
So kann die *.php dann heissen wie man es möchte, und das Löschen und Verbinden klappt weiterhin.
Wie immer: Feedback wäre toll ;)
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.