Alternative zu DynDNS

Danke für die Mühe.
Ich hatte das php-Script von Klonk umbenannt in index.php, hatte kurioserweise auch geklappt.
Bei http://validator.w3.org kommen bei ihm mehr Fehlermeldungen, als bei Dir(weil der Validator abbricht).
Der LÖSCHEN-Button hat bei Dir Umlautprobleme. Den hab ich eh rausgehauen, weil ich ohne Lesepasswort arbeite und dann beim Mouse-over das Schreibpasswort angezeigt wird.
Sauberer siehts aber schon aus...
Entweder schreibste die zu ändernnden Variablen und Verzeichnisrechte innen Quelltext als Kommentar rein oder machst ne separate readme.txt.. Die meisten werden das sonst nicht hinbekommen....
Gruß
Michael
 
Perfekt, denke ich, wäre der Parameter: ?help
Dann könnte die komplette Hilfe wohlgeformt als HTML ausgegeben werden.
Die README quasi #inkludieren.

Die W3C Prüfung hab ich garnicht gemacht, es fehlt aber nurnoch das META-Tag:
HTML:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

Überall wo es im PHP Skript vorkommen muss, z.B...
PHP:
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");
print "<!DOCTYPE html>\n";
print "<html>\n<head>\n<title>Externe IP-Adresse des DSL-Zugangs zuhause</title>\n";
print '<meta http-equiv="content-type" content="text/html; charset=UTF-8">\n</head>\n<body>\n';
print "<h1>Zugriff verweigert! Werte nicht gespeichert!</h1>\n";
print "</body>\n";
exit();
...zu beachten ist dabei das richtige Maskieren der Gänsefüsschen im print String.
Am Einfachsten finde ich die Hochkommata, aber die können schnell mal übersehen werden,
deswegen weise ich extra daraufhin: print 'Achtung: "Gänsefüsschen" in Hochkommata gesetz!'
 
Zuletzt bearbeitet:
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.
MyFritz habe ich aktiviert, aber für die Zugriffe (ftp; http) für einen Server nicht unbedingt geeignet. Ich muss also auch noch eine Alternative zu DynDNS finden. Ich habe ja eine eigene Domain, bloß wie ich das anstellen soll, ist mir noch nicht klar.
 
Hi Gerd,
Du legst auf Deinem webspace ein Unterverzeichnis, z.B. dyn an. Diesem erteilst Du Schreibrechte. Da kopierste die php-Datei aus Beitrag #1 rein. Alternativ kannste auch die verbesserte Version aus Beitrag #80 nehmen. Wenn Du diese php-Datei in index.php umbenennst, kannste die aufrufen mit http://Gerd99.de/dyn
Du gibst in der php drin nen eigenes Schreibpasswort an, Lesepasswort sollteste leer lassen(bzw. beim php aus #80 leeren).
Nun kannste schon im Browser einen Testaufruf machen: http :// gerd99. de/dyn?comment=Testauf ruf_interne_IP&myip=192.168.178.22&pw=ge heim-Schreibpasswort (Natürlich ohne Leerzeichen, hier der Forumssoftware geschuldet)
Wenn das klappt, kannste dasselbe in der Fritzbox bei Dyndns generieren: Benutzerdefiniert: http://gerd99.de/dyn?comment=Testaufruf_interne_IP&myip=<ipaddr>&pw=geheim-Schreibpasswort. (< und > jetzt korrigiert!)
Wo liegt jetzt das Problem?
Gruß
Michael

Edit:
@koyaanisqatsi
Da Du offenbar sattelfest bist und Klonk keine Featuritis mag, geht sowas:?
Eigenen dyndns-Server daraus basteln...
Ich stelle mir das so vor, dass er eine Datei macht, die lediglich die IP ausspuckt, um z.B. registrarlos zu telefonieren, ENUM weiter nutzen zu können...
Das Ziel sollte sein, dass z.B. statt bisher [email protected] der jetzt z.B. zu [email protected] wird, dann [email protected]/ermittelte-IP_No1.txt denselben Effekt hat.
Geht das?
Ich würde mich freuen, wenn Du Deine fertige php-Datei hier einstellen könntest.
 
Zuletzt bearbeitet:
Hallo,

ich habe mit meinen schwachen Kenntnissen einmal versucht das Script auf meine Homepage zu platzieren.

Vorher habe ich folgende Änderungen im Script durchgeführt:

Script-Datei: index.php
---------------------------------
<?php
error_reporting(0);
date_default_timezone_set('Europe/Berlin');
$LESEPW = "";
$SCHREIBPW = "jxxxx9";
$datei = "pubip.txt";
$daten = array();
$params = 7;

Ist denn das Weglassen des Lesepasswortes im Script von mir so richtig eingegeben?

Nach dem Start des Scripts mit der Tes-Eingabe in den Chromebrowser ist in dem Web-Ordner "dyn" eine Textdatei (pubip.txt) erstellt worden.

Der Inhalt der TXT Datei:

Testaufruf_interne_IP
10.04.2014, 12:08 Uhr
>ipaddr<

Auf dem Chrome Screen wurde das Bild dargestellt (siehe Anhang).

Nur sehe ich nichts von einer IP Nummer oder ähnliches.:(
Und weiß auch nicht wie die Funktion jetzt weiter geht. Vielleicht kann mir jemand noch etwas unter die Arme greifen. Das war mein Wunsch von einem WorkAround.
 

Anhänge

  • DynDNS Test.jpg
    DynDNS Test.jpg
    41 KB · Aufrufe: 22
Es gibt nichts weiteres, nur die Seite, auf der die Adressen dargestellt werden.
Es sei denn, Du hast den Aufruf aus [POST=2001969]#84[/POST] unverändert übernommen. In dem Fall solltest Du Deine aktuelle IP-Adresse eintragen und nicht den Text ">ipaddr<".

Das Ziel sollte sein, dass z.B. statt bisher [email protected] der jetzt z.B. zu [email protected] wird, dann [email protected]/ermittelte-IP_No1.txt denselben Effekt hat.
Geht das?
Nein, das geht nicht. Das ist genau das, was ich oben gemeint habe, als ich geschrieben habe, dass es kein DNS ist.
 
Beide Passwörter müssen identisch sein!
Ist eines von beiden nicht gesetzt, braucht man keins.
Klingt komisch, iss aber so.

/index.php?pw=secret <-- Lesepasswort
/index.php?myip=127.0.0.1&pw=secret <-- Schreibpasswort
/index.php?myip=169.254.1.1&n=2&pw=secret <-- Schreibpasswort f. 2. Eintrag
index.php?del=1&pw=secret <-- Schreibpasswort zum Löschen des 1. Eintrags
u.s.w.
Es gehen aber auch Namen.
Zum Beispiel: index.php?myip=mygoogle.de&pw=secret
..oder..
index.php?myip=mytube.de&pw=secret
...jetzt brauchen wir aber einen DNS im Internet, der das auflösen kann.
Vielleicht einen manuell eingetragenen sekundären DNS als Bindung am Netzwerkgerät,
oder einen Proxy, der den DNS nimmt, auf den er läuft.

Ich hab das Skript modularisiert.
Also kein Spaghettikode mehr. :mrgreen:
Es besteht jetzt aus: index.php config.php, functions.php und README.txt.
Werde es im laufe des Abends in #80 aktuallisieren.
Die index.php ist jetzt schön schlank geworden.
Alle individuellen Einstellungen werden in der config.php eingetragen.
index.php
PHP:
<?php
//error_reporting();
require_once('./config.php');
require_once('./functions.php');
date_default_timezone_set('Europe/Berlin');
$params = 7;
$daten = array();
$daten = loaddata($datei);
$daten = getparameters($daten);
savedata($datei,$daten,$SCHREIBPW);
doaction($daten);
showdata($daten,$LESEPW,$SCHREIBPW);
?>
Eine komplette URL würde dann so aussehen:
?myip=62.226.240.180&web=busybox&wake=00-24-1D-FF-FF-FF&wakeip=192.168.178.193&pw=secret&n=3
Wobei ich gerne wake und wakeip "entfeaturen" würde, da es eh nicht funktioniert.
 
Zuletzt bearbeitet:
@Gerd
Tschulligung, hab falsch rumme spitze Klammern angegeben.
Wenn Du in der FritzBox die Hilfe bei dyndns aufrufst, kommt folgendes:
Angabe Bezeichnung für den Platzhalter
IP-Adresse <ipaddr>
Benutzername <username>
Kennwort <pass>
Domänenname <domain>
Wenn Du per Fritzbox aktualisiertest, dann nur die Spitzklammern vorn und hinten vertauschen.
Gruß
Michael
 
Es gibt nichts weiteres, nur die Seite, auf der die Adressen dargestellt werden.
Es sei denn, Du hast den Aufruf aus [POST=2001969]#84[/POST] unverändert übernommen. In dem Fall solltest Du Deine aktuelle IP-Adresse eintragen und nicht den Text ">ipaddr<".

Wenn ich dort meine IP eintragen muss, ist das natürlich keine Lösung als Ersatz für DynDNS. Ich habe zwar einen Kabelzugang zum Internet, aber ab und zu wird die IP auch mal, wenn auch selten, geändert. Ich hatte angenommen, dass die momentane eigene IP übernommen wird und in die TXT Datei eingetragen wird. So wie ich es jetzt machen soll, erkenne ich die ganze Aufgabe des Scripts leider nicht. Wie schon erwähnt, mein Wissen in der Richtung ist nicht berauschend.:(
 
Code:
http://busybox/pubip/index.php?n=1&myip=<ip6addr>&ftp=<ipaddr>&web=<domain>:4711&comment=Fritz%21Box%20Fon%20WLAN%207360SL&pw=<pass>
...funktioniert schonmal ordentlich als UpdateURL in der Fritz!Box, hm, damit läßt sich bestimmt was hübsches basteln.
Sogar ohne Fehlermeldung im Ereignislog (2x hintereinander, aktualisiert).
"Dienst" in der Fritz!Box meldet:
Dynamic DNS aktiviert, deepbase, IPv4-Status: angemeldet, IPv6-Status: angemeldet
Jetzt stört mich noch, dass der Inhalt von web 1x1 nach https übernommen wird.
Also Name oder IP plus HTTP Portnummer, das geht garnicht.
Das muss ein separater Parameter werden.
Hab erstmal alles nach und inklusive des Doppelpunktes abgeschnitten, was in web an https übergeben wird.
PHP:
<?php
preg_match('@^(?:[a-z]:)?([^:]+)@i',$webaddress, $treffer);
$httpsaddress = $treffer[1];
?>
So kann wenigstens der Standardport 443 genutzt werden, wenn der HTTP nicht auf Standardport laufen sollte.
Wenns eine reine IPv6 ist, dann haut das aber auch nicht mehr hin.
Würde in meinen Fall so aussehen: https://[2003
 
Zuletzt bearbeitet:
Oh, Oh
ich verstehe immer weniger :confused:
 
Ist Dir zumindest klar, was der Unterschied zwischen Dynamischem DNS (unabhängig von der Firma DynDNS) und diesem Skript ist?
Angeblich gibt es noch einige Anbieter, die Dynamisches DNS kostenlos anbieten. AVMs MyFritz gehört auch dazu, sofern man eine Fritz Box hat. Bis Du sicher, dass Du nicht lieber so etwas verwenden willst?
 
Finde das hier beschriebene Script ganz spannend. Habe es installiert und es läuft auch problemlos. Nun greife ich aber nicht über HTTP oder FTP auf die Fritzbox zu, sondern überwiegend per FTPS. Dazu nutze ich im Firefox das Plugin FireFTP. Das läuft mit der Fritzbox besonders stabil. Eingestellt habe ich in FireFTP eine TLS-Authentifizierung und auf der Fritzbox "Nur sichere FTP-Verbindungen zulassen (FTPS)".

Das Script selbst habe ich als Index.php auf einer speziellen SubDomain.

Mein Ziel wäre es nun in FireFTP direkt das PHP-Script aufzurufen und somit auf die FritzBox zu kommen. Leider bekomme ich in FireFTP nur die Fehlermeldung "500 AUTH not understood".

Hat jemand dazu evtl. eine Idee?

Grüße
Stefan
 
Moin

Dem Skript kannst du mit dem Parameter ftp=<ipaddr> mitteilen wie die lautet.
Auch nachträgliche Änderungen, dann die Eintragsnummer mit angeben: index.php?n=1&pw=secret&ftp=<ipaddr>

FireFTP:
Geht das nicht, dass du einfach das Plugin so konfigurierst, dass FTP Links in Firefox automatisch mit/in FireFTP geöffnet werden?

Dann den FTP Link anklicken, es kommt dann zu der Fehlermeldung die du beschreibst, den Edit Button drücken, bei Connection Auth TLS (best) auswählen und Save temporary Account klicken.
Diesen kannst du dann solange behalten und benutzen wie die IP gültig ist.
 
Zuletzt bearbeitet:
1. Dem Skript kannst du mit dem Parameter ftp=<ipaddr> mitteilen wie die lautet.
Auch nachträgliche Änderungen, dann die Eintragsnummer mit angeben: index.php?n=1&pw=secret&ftp=<ipaddr>

2. FireFTP:
Geht das nicht, dass du einfach das Plugin so konfigurierst, dass FTP Links in Firefox automatisch mit/in FireFTP geöffnet werden?

Dann den FTP Link anklicken, es kommt dann zu der Fehlermeldung die du beschreibst, den Edit Button drücken, bei Connection Auth TLS (best) auswählen und Save temporary Account klicken.
Diesen kannst du dann solange behalten und benutzen wie die IP gültig ist.

Zu 1. Ja das ist schon klar. Den Umgang mit dem Script habe ich schon begriffen. Dennoch DANKE

Zu 2. Das ist nicht ganz so einfach. Im Prinzip könnte man in das Script einen Link kontruieren der so aussieht:

ftp://bob:mycrazypassword@meine_IP_Adresse/

Da das Script ja die aktuelle FTP-Adresse kennt, kann man dass problemlos nach ftp://bob:[email protected]/ auflösen.

Das hätte aber den Nachteil, dass ich den Usernamen und das Passwort im Script speichern müsste. Das will ich aber aus Sicherheitsgründen nicht machen. Dazu kommt noch, dass mir keine Linkkonstruktion bekannt ist, aus der man FTPS-Verbindungen machen kann und dabei gleichzeitig eine TLS-Authentifizierung erzwingen kann.

Also muss man mit den im FireFTP vorgesehenen Konten arbeiten. Dort steht zur Zeit als Host "xxxxxxyyyyyyzzzzzz.myfritz.net". Es gilt nun dort als Host "meineSubdomain.meineDomain.de" einzutragen. Ruft FireFTP dann den Host mit unserem PHP-Script als Index.php an, so muss die Weiterleitung erfolgen.

Bin aber für weitere Vorschläge offen.
 
Dann den FTP Link anklicken, es kommt dann zu der Fehlermeldung die du beschreibst, den Edit Button drücken, bei Connection Auth TLS (best) auswählen und Save temporary Account klicken.
Diesen kannst du dann solange behalten und benutzen wie die IP gültig ist.

Sorry, das bekomme ich nicht gebacken. Rufe ich "ftp://meineSubDomain/meineDomain.de" auf, will mein Browser eine FTP-Verbindung zu meiner Domain herstellen und nicht zu der Fritzbox. Offensichtlich habe ich noch nicht verstanden wie man das Script aufruft um eine FTP-Verbindung zu starten.
 
OK; ich habs hinbekommen mit dem Umweg über das temporäre Konto. Das ist mir aber einfach zu umständlich. Username eingeben, Passwort eingeben und TLS auswählen. Dennoch DANK an "koyaanisqatsi"

Wäre also für weitere Ideen offen. ;-)
 
Zuletzt bearbeitet:
1. Du solltest mal ftps:// probieren, dann wird das richtige Protokoll genommen.
2. Das Skript nimmt nur ftp:// und deshalb ists auch ohne Verschlüsselung.
3. Für deine Bedürfnisse: Im Skript die Ausgabe für den FTP Link suchen und ftp:// in ftps:// ändern ;)
 
Ja, danke! Hatte auch schon zwischenzeitlich Zeile 259 von:

print "<tr><th>FTP IP-Adresse:</th><td><a href='ftp://".$ftpaddress."' title='Mit FTP verbinden'>ftp://".$ftpaddress."</a></td></tr>\n";

in

print "<tr><th>FTP IP-Adresse:</th><td><a href='ftps://".$ftpaddress."' title='Mit FTP verbinden'>ftps://".$ftpaddress."</a></td></tr>\n";

geändert. Zumindest muss man nun nicht mehr TLS vorgeben. FireFTP macht das nun automatisch. Mit der User und der Passwortabfrage kann man leben!

Nochmals Danke für die kontruktive Hilfe!!
 
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.