Wanted to thank you for posting these instructions. I modified them and got DNS Made Easy working. For anyone who is trying to do this, here's what I did. Keep in mind, this is my first try, so I'm sure there is a better way.
First, edit /usr/local/www/services_dyndns.php
Add the entries in bold below.
$types = explode(",", "DynDNS (dynamic),DynDNS (static),DynDNS (custom),DHS,DyNS,easyDNS,No-IP,ODS.org,ZoneEdit,Loopia,freeDNS, DNS Made Easy");
$vals = explode(" ", "dyndns dyndns-static dyndns-custom dhs dyns easydns noip ods zoneedit loopia freedns dnsmadeeasy");
Next, edit /etc/inc/dyndns.class and add some entries (bolded)
if ($this->_dnsService == 'dyndns' ||
$this->_dnsService == 'dyndns-static' ||
$this->_dnsService == 'dyndns-custom' ||
$this->_dnsService == 'dhs' ||
$this->_dnsService == 'noip' ||
$this->_dnsService == 'easydns' ||
$this->_dnsService == 'hn' ||
$this->_dnsService == 'zoneedit' ||
$this->_dnsService == 'dyns' ||
$this->_dnsService == 'ods' ||
$this->_dnsService == 'freedns' ||
$this->_dnsService == 'loopia' ||
$this->_dnsService == 'dnsmadeeasy' ||
$this->_dnsService == 'staticcling')
Also make this change (same file). I inserted it under the loopia entry.
case 'loopia':
$needsIP = TRUE;
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_USERPWD, $this->_dnsUser.':'.$this->_dnsPass);
curl_setopt($ch, CURLOPT_URL, 'https://dns.loopia.se/XDynDNSServer/XDynDNS.php?hostname='.$this->_dnsHost.'&myip='.$this->_dnsIP);
$data = curl_exec($ch);
if (@curl_error($ch)) log_error("Curl error occurred: " . curl_error($ch));
curl_close($ch);
$this->_checkStatus($data);
break;
** case 'dnsmadeeasy':
$needsIP = TRUE;
$server = "https://www.dnsmadeeasy.com/servlet/updateip?";
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_USERPWD, $this->_dnsUser.':'.$this->_dnsPass);
curl_setopt($ch, CURLOPT_URL, $server.'username='.$this->_dnsUser.'&password='.$this->_dnsPass.'&id='.$this->_dnsHost.'&ip='.$this->_dnsIP);
$data = curl_exec($ch);
if (@curl_error($ch)) log_error("Curl error occurred: " . curl_error($ch));
curl_close($ch);
$this->_checkStatus($data);
break;**
And this change (same file). I put it under loopia again
case 'loopia':
if (preg_match("/nochg/i", $data)) {
$status = "phpDynDNS: (Success) No Change In IP Address";
$successful_update = true;
} else if (preg_match("/good/i", $data)) {
$status = "phpDynDNS: (Success) IP Address Changed Successfully!";
$successful_update = true;
} else if (preg_match('/badauth/i', $data)) {
$status = "phpDynDNS: (Error) User Authorization Failed";
} else {
$status = "phpDynDNS: (Unknown Response)";
log_error("phpDynDNS: PAYLOAD: {$data}");
$this->_debug($data);
}
break;
case 'dnsmadeeasy':
if (preg_match("/nochg/i", $data)) {
$status = "phpDynDNS: (Success) No Change In IP Address";
$successful_update = true;
} else if (preg_match("/good/i", $data)) {
$status = "phpDynDNS: (Success) IP Address Changed Successfully!";
$successful_update = true;
} else if (preg_match('/badauth/i', $data)) {
$status = "phpDynDNS: (Error) User Authorization Failed";
} else {
$status = "phpDynDNS: (Unknown Response)";
log_error("phpDynDNS: PAYLOAD: {$data}");
$this->_debug($data);
}
break;
Reload the web configurator and DNS Made Easy will now be listed. In the hostname, put your Record ID in the HostName field for the particular record you want updated. Mine is a 7 digit number, so I suspect that is the standard for them.
Put in your username and password in the corresponding fields and you should be good.