DDNS Updater Entwicklung & Fehlerbereinigung - Development & bugfixing

Status
Für weitere Antworten geschlossen.

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
Hat es denn nun bei dir funktioniert?
 

Lord Schweizer

Benutzer
Mitglied seit
30. Jul 2009
Beiträge
43
Punkte für Reaktionen
0
Punkte
0
Hi QTip,

ich hab leider das Problem das sich dein DDNS-Updater immer von selbst beendet und daher bis dato noch kein erfolgreiches Update durchgeführt werden konnte.

Ich trage meine DyDNS-Adressen ein, welche auch mit Good bestätigt werden. Ebenfalls steht auch dort "DDNS-Updater is running. Next check in xx:xx". In meiner Fritzbox ist eingestellt das eine Zwangstrennung immer zwischen 4-5 Uhr morgens erfolgen soll. Da ich den Intervall auf 10 Minuten gestellt habe, sollte er ja spätestens um 05:10 mitbekommen das sich die IP geändert hat und dann diese an DynDNS übertragen.

Hatte heute bereits den 2 Tag das er auf "DDNS is not running" stand und das Aktualisierungsdatum immer noch das alte war.

Hatte vorher den ddclient in Nutzung welchen man per ipkg bekommen kann. Als Konfig-Datei hatte ich mir über den DynDNS eigenen Konfigurator eine für ddclient erstellen lassen.

Genutzt wird das ganze auf einer DS 209+II mit der FW942


Greetz
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
  1. Hast du deine zuvor selbst erstellte Konfig in den ddnsupdater Ordner kopiert und die vorhandene default config überschrieben? Das solltest besser nicht machen, da die von mir benutzte einen bestimmten Aufbau erwartet und benutzt. Also am besten mit der default config die mit meinem Paket geliefert wird die neuen Einträge auch nur mit der DDNS updater Oberfläche erzeugen.
  2. Wenn du das mit dem DSM mitgelieferte Perl benutzt solltest du SSL deaktivieren. (siehe ein paar Posts weiter oben). Falls du das eingebaute benutzt, fehlt dir vielleicht das Paket perl-io-socket-ssl.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
DDNS updater 1.00 Beta 4

Neu:

  • automatische Erkennung der Perlversion mit Deaktivierung des SSL-Schalters im Options Dialog. Startzeile im Script ddclient wird automatisch an die Perlversion angepasst. Paket perl-io-socket-ssl muss bei Benutzung der IPKG Perl Version allerdings installiert sein, keine Abfrage diesbezüglich.
  • Update von vorheriger Version mit Sicherung und Zurückspielung der ddclient.conf nun ebenfalls möglich.
 
Zuletzt bearbeitet:

s24-asm

Benutzer
Mitglied seit
13. Sep 2009
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Hat es denn nun bei dir funktioniert?
Ja schon, das meinte ich damit. Auch Beta 4 läuft eben mit drei Einträgen in grün. Jetzt muß ich halt sehen, was nach 25 Tagen passiert... :D
 

Lord Schweizer

Benutzer
Mitglied seit
30. Jul 2009
Beiträge
43
Punkte für Reaktionen
0
Punkte
0
  1. Hast du deine zuvor selbst erstellte Konfig in den ddnsupdater Ordner kopiert und die vorhandene default config überschrieben? Das solltest besser nicht machen, da die von mir benutzte einen bestimmten Aufbau erwartet und benutzt. Also am besten mit der default config die mit meinem Paket geliefert wird die neuen Einträge auch nur mit der DDNS updater Oberfläche erzeugen.
  2. Wenn du das mit dem DSM mitgelieferte Perl benutzt solltest du SSL deaktivieren. (siehe ein paar Posts weiter oben). Falls du das eingebaute benutzt, fehlt dir vielleicht das Paket perl-io-socket-ssl.

Nein die Konfig die ich mir von DynDNS direkt hab erstellen lassen hatte ich vorher gelöscht.

Es wird wohl wahrscheinlich doch am SSL-Switch gehangen haben, denn nachdem ich die Beta 3 nochmal neu eingespielt und meine Hosts ohne SSL eingetragen habe, bleibt dein DDNS-Updater stabil. Er hat nun schon 2 x ordnungsgemäß upgedatet. Hatte hierzu extra testweise einen Host nicht eingetragen, welcher auch entsprechend in meinem DynDNS Account nicht upgedatet wurde, die anderen aber ordnungsgemäß schon.

Drücken wir die Daumen das es weiter so bleibt :)

Ansonsten wie gesagt 2 Daumen von mir


Greetz
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
schön zu hören, dass es nun doch funktioniert :)
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Könnte man die max. Länge des Hostnamens (aktuell auf 25) irgendwie vergrössern?

11 Zeichen fallen nur schon beim kurzen .homeip.net weg, es gibt aber noch wesentlich längere Namen.

Ich habe die Werte in ddsnupdater.js auf 40 gesetzt, aber die Begrenzung ist immer noch auf 25. Wo muss ich noch was anpassen?

Den Eintrag für den längeren Hostnamen habe ich jetzt in der ddclient.conf von Hand eingetragen. Das geht, scheint also nur eine Restriktion der Eingabemaske zu sien.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
Die Begrenzung auf 25 Zeichen befindet sich wirklich nur im Add- und Editteil von ddnsupdater.js. Eine Eigenart, die ich selber festgestellt habe ist, dass man manchmal nach einer Änderung den Browser erneut öffnen muss, um das Ergebnis zu sehen. Liegt wohl am Browser Cache bei Javascript oder speziell bei EXTJS. Bei mir ging es grad eben sofort, werde ich in die Final Version einbauen.
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Ah ja, die Seite neu zu laden hats irgendwie nicht gebracht, aber nach Browser schliessen und neu bei der DS anmelden sind die Anpassungen übernommen.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
So, es sind ja fast 30 Tage nach der letzten Beta 4 rum. Nun möchte ich von den Leuten wissen, die sich eine Zwangsaktualisierung nach einstellbarer Zeit gewünscht haben, auch funktioniert. Wenn dann keine weiteren Fehler aufgetaucht sind, würde ich die 1.00 Beta 4 gerne als 1.00 Final freigeben.
Weitere Wünsche können dann, falls realisierbar, in einer zukünftigen Version umgesetzt werden.
 

s24-asm

Benutzer
Mitglied seit
13. Sep 2009
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Jo, perfekt. :cool:

Dyndns Website meldet dieselben Updatedaten.
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Ja funzt tadellos.

Vergiss nicht die Grösse der Eingabefelder für Hostnamen zu vergrössern.

Danke.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
hier nun wie versprochen der DDNS updater 1.00 Final
Die Länge der Eingabefelder für den Hostnamen wurde selbstverständlich auf 40 Zeichen angehoben ;)
Könnte jemand mit den entsprechenden Rechten hier den Titel und die Datei im ersten Post austauschen, Danke
 
Zuletzt bearbeitet:

olympia

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
74
Punkte für Reaktionen
0
Punkte
6
Danke QTip
 

olympia

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
74
Punkte für Reaktionen
0
Punkte
6
bei aufrufen von DDNS Updater erscheint dies hier weis jemand woran es liegen kann bei WebEditor und Webshell und Rootkit Hunter und cronjobs
auch, bei vielen andren3rdparty applications funktioniert alles.Habe eine CS407 mit 942 firmware in der php.ini und in der httpd.conf-sys alles geändert wie beschrieben.

wenn ich mich mit https:// verbinde und dann auf DDNS Updater gehe dann kann ich DDNS Updater.php runter laden.


<?php
// ******************************************************************* //
// * ddnsupdater - 3rdparty DDNS updater (webUI for ddclient) * //
// * Modul: ddnsupdater (main) * //
// * -------------------------------------- * //
// * Version 1.00 - 15/09/2009 - by QTip * //
// * - First public release * //
// ******************************************************************* //
putenv('HTTP_COOKIE='.$_SERVER['HTTP_COOKIE']);
putenv('REMOTE_ADDR='.$_SERVER['REMOTE_ADDR']);
$user = exec('/usr/syno/synoman/webman/modules/authenticate.cgi');
if ($user !== 'admin') {
header("HTTP/1.0 403 Forbidden");
exit;
}
$spkver = "1.00 Beta 3";
include_once("include/config.php");
include_once("include/get_provider.php");
if (file_exists($ddnsconffile)) {
$ddnsconfig = @file($ddnsconffile);
while ($z < count($ddnsconfig)) {
if ($begin == false && strstr($ddnsconfig[$z],"# DDNS Provider Parameters Section")) { // search for start of values
break;
} elseif ($begin == false && !strstr($ddnsconfig[$z],"##") && substr($ddnsconfig[$z],0,1) != chr(10)) {
$global_temp = explode("=",trim($ddnsconfig[$z]));
$conf_global[$global_temp[0]]=$global_temp[1];
}
$z++;
}
} else {
$conf_global['daemon'] = 0;
}
exec('ps | grep ddclient | grep -v grep', $ddnsstatus);
exec($ddnsbin.' --help | tail -n 4 | head -n 1',$ddnsversion);
exec($ddnspath.'/ddnscmd.sh next-check 2>&1',$ddnscheck);
if ($ddnscheck[0] == "" && $ddnsstatus[0] == "") {
$sek = 0;
} elseif (intval($ddnscheck[0]) > 0 && $ddnsstatus != "") {
$checktext = "sleeping";
$sek = intval($ddnscheck[0]);
} elseif (intval($ddnscheck[0]) == 0 && $ddnsstatus != "") {
$checktext = "connecting";
$sek = 15;
}
if (file_exists($ddnsconffile.'.bak')) {
echo "<input type=\"hidden\" id=\"undostate\" name=\"undostate\" value=\"\">";
} else {
echo "<input type=\"hidden\" id=\"undostate\" name=\"undostate\" value=\"disabled\">";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<html><head>
<link rel="stylesheet" type="text/css" href="extjs/ext-3.0.0/resources/css/ext-all.css">
<link rel="stylesheet" type="text/css" href="extjs/ext-3.0.0/resources/css/xtheme-blue.css">
<link rel="stylesheet" type="text/css" href="scripts/ddnsupdater.css">
<script type="text/javascript" src="extjs/ext-3.0.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-3.0.0/ext-all.js"></script>
<script type="text/javascript" src="scripts/ddnsupdater.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>DDNS updater</title>
<meta http-equiv="pragma" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="cache-control" content="no-cache">
</head><body>
<script language="javascript" type="text/javascript">
document.getElementsByTagName("body")[0].style.cursor = 'auto';
var intervaltime=<?php echo $conf_global['daemon'];?>;
var checktext='<?php echo $checktext;?>';
var sek=<?php echo $sek;?>;
var spkver='<?php echo $spkver;?>';
Ext.namespace('Ext.interval');
Ext.interval.values = [
['2592000','30 days'],
['604800','7 days'],
['86400','1 day'],
['43200','12 hours'],
['3600','60 minutes'],
['1800','30 minutes'],
['600','10 minutes'],
['300','5 minutes'],
['240','4 minutes'],
['180','3 minutes'],
['120','2 minutes'],
['60','1 minute']
];
<?php if (count($provider_protocol) == 0) get_provider();
$providerstore = "\nExt.namespace('Ext.provider');\n";
$providerstore .= "Ext.provider.names = [\n";
while(list($protocolname,$providername) = each($provider_name)) {
$providerstore .= "['".$protocolname."','".$providername."','".$provider_server[$protocolname]."'],\n";
}
$providerstore = substr($providerstore,0,-2)."\n";
$providerstore .= "];\n";
print $providerstore;
?>
</script>
<div style="display:none"><div id="spkversionstext">SPK version <?php print $spkver;?></div>
<div id="ddclientversionstext"><?php print $ddnsversion[0];?></div></div>
</body></html>
 
Zuletzt bearbeitet:

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Hast du init_3rdparty installiert? Dann ist das eigentlich die normale Reaktion ...

MfG Matthieu
 

olympia

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
74
Punkte für Reaktionen
0
Punkte
6
das Kamm schon bevor ich init_3rdparty installiert habe und dann als ich init_3rdparty installiert habe Kamm ich nicht mehr in der Web Oberfläche
( Management )
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Eben, du MUSST zuerst das init_3rdparty Paket installieren. Sonst läuft das nicht.

Wenn das WebUI nicht mehr kommt dann hast vermutlich nicht die aktuelle Version genommen und/oder nicht die neuste FW drauf.

Wurde alles irgendwo im Forum ausführlich diksutiert, auch wie du das wieder reparieren kannst.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat