diff -urN smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration smeserver-ddclient-1.3.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration --- smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration 2024-04-07 08:54:01.988517181 +0100 +++ smeserver-ddclient-1.3.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration 2024-04-07 08:56:01.023013221 +0100 @@ -5,7 +5,54 @@ my $ddb = esmith::DomainsDB->open_ro(); - for my $edom ( $ddb->domains ) + my $edb; + + $edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient') + or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient'); + + #------------------------------------------------------------ + # Look up domains and domain descriptions + #------------------------------------------------------------ + + + my %DDNS = ( + DYNDNS1=> dyndns2, + DYNDNS2=>dyndns2, + DYNDNS3=>dyndns2, + ZONEDIT=>zoneedit1, + EASYDNS=>easydns, + HAMMER=>hammernode1, + DSLREPORTS=>dslreports1, + EURODYNDNS=>namecheap, + DTDNS=>dtdns, + LOOPIA=>dyndns2, + DNSPARK=>dyndns2, + DYNHOST=>dyndns2, + NOIP=>noip, + CHANGEIP=>dyndns2, + NAMECHEAP=>namecheap, + SPDNS=>dyndns2, + ); + my %DDSERV= ( + DYNDNS1=> 'members.dyndns.org', + DYNDNS2=>'members.dyndns.org', + DYNDNS3=>'members.dyndns.org', + ZONEDIT=>'dynamic.zoneedit.com', + EASYDNS=>'members.easydns.com', + HAMMER=>'dup.hn.org', + DSLREPORTS=>'members.dslreports.com', + EURODYNDNS=>'eurodyndns.org', + DTDNS=>'www.dtdns.com', + LOOPIA=>'dns.loopia.se', + DNSPARK=>'www.dnspark.com', + DYNHOST=>'www.ovh.com', + NOIP=>'dynupdate.no-ip.com', + CHANGEIP=>'nic.changeip.com', + NAMECHEAP=>'dynamicdns.park-your-domain.com', + SPDNS=>'update.spdyn.de', + ); + + for my $edom ( $ddb->domains , $edb->get_all_by_prop(type=>'ddhost') ) { { @@ -18,7 +65,9 @@ my $customdns = $edom->prop('customdns') || ''; my $customprotocol = $edom->prop('customprotocol') || ''; - # my $pubserv=''; #nbot needed for v3.11.1 + my $pubserv=""; + $pubserv= $DDSERV{$dns} if exists $DDSERV{$dns}; #not needed for v3.11.1 => yes it is + $pubserv= $customdns if( $dns eq 'CUSTOMDNS' ); # Not sure if wee need these either! my $static=$edom->prop('static') || ''; my $custom=$edom->prop('custom') || ''; @@ -27,128 +76,15 @@ my $mx=$edom->prop('mx') || ''; my $protocol=$dns; + $protocol = $DDNS{$dns} if exists $DDNS{$dns}; my $explain='## '.$edom->prop('dns').' dynamic address'; - #if( $dns eq 'DYNDNS1') - #{ - #$explain='## dyndns.org dynamic addresses'; - #$pubserv ='members.dyndns.org'; - #$protocol='dyndns2'; - #$static='no'; - #$custom='no'; - #$wildcard='yes'; - #} - #elsif( $dns eq 'DYNDNS2') - #{ - #$explain='## dyndns.org static addresses'; - #$pubserv ='members.dyndns.org'; - #$protocol='dyndns2'; - #$static ='yes'; - #$custom ='no'; - #$wildcard='yes'; - #} - #elsif( $dns eq 'DYNDNS3') - #{ - #$explain='## dyndns.org static2 addresses'; - #$pubserv='members.dyndns.org'; - #$custom ='yes'; - #$protocol='dyndns2'; - #$static =''; - #$wildcard='yes'; - #} - #elsif( $dns eq 'ZONEDIT') - #{ - #$explain='## zoneedit dynamic addresses'; - #$pubserv='dynamic.zoneedit.com'; - #$protocol='zoneedit1'; - #} - #elsif( $dns eq 'EASYDNS') - #{ - #$explain='## easydns.com dynamic addresses'; - #$pubserv='members.easydns.com'; - #$protocol='easydns'; - #} - #elsif( $dns eq 'HAMMER') - #{ - #$explain='## hammer dup.hn.org dynamic addresses'; - #$pubserv='dup.hn.org'; - #$protocol='hammernode1'; - #} - #elsif( $dns eq 'DSLREPORTS' ) - #{ - #$explain='## dslreports.org dynamic addresses'; - #$pubserv='members.dslreports.com'; - #$protocol='dslreports1'; - #} - #elsif( $dns eq 'EURODYNDNS' ) - #{ - #$explain='## euroddyndns.org dynamic addresses'; - #$pubserv='eurodyndns.org'; - #$protocol='namecheap'; - #} - #elsif( $dns eq 'DTDNS' ) - #{ - #$explain='## DtDNS (www.dtdns.com) dynamic addresses'; - #$pubserv='www.dtdns.com'; - #$protocol='dtdns'; - #} - #elsif( $dns eq 'LOOPIA' ) - #{ - #$explain='## Loopia (loopia.se) dynamic addresses'; - #$pubserv='dns.loopia.se'; - #$protocol='dyndns2'; - #} - #elsif( $dns eq 'DNSPARK' ) - #{ - #$explain='## dnspark.com dynamic addresses'; - #$pubserv='www.dnspark.com'; - #$protocol='dnspark'; - #} - #elsif( $dns eq 'DYNHOST' ) - #{ - #$explain='## DynHost (ovh.com) dynamic addresses'; - #$pubserv='www.ovh.com'; - #$protocol='dyndns2'; - #} - #elsif( $dns eq 'NOIP' ) - #{ - #$explain='## Noip (noip.com) dynamic addresses'; - #$pubserv='dynupdate.no-ip.com'; - #$protocol='noip'; - #} - #elsif( $dns eq 'CHANGEIP' ) - #{ - #$explain='## ChangeIP (changeip.com) dynamic addresses'; - #$pubserv='nic.changeip.com'; - #$protocol='dyndns2'; - #} - - #elsif( $dns eq 'NAMECHEAP' ) - #{ - #$explain='## NAMECHEAP (namecheap.com) dynamic addresses'; - #$pubserv='dynamicdns.park-your-domain.com'; - #$protocol='namecheap'; - #} - - #elsif( $dns eq 'SPDNS' ) - #{ - #$explain='## SPDNS (spdyn.de FORMER spdns.de) dynamic addresses'; - #$pubserv='update.spdyn.de'; # update.spdyn.de (IPv4 + IPv6) update4.spdyn.de (IPv4 only) update6.spdyn.de (IPv6 only) - #$protocol='dyndns2'; - #} - #elsif( $dns eq 'CUSTOMDNS' ) - #{ - #$explain='## CUSTOMDNS PROVIDER dynamic addresses'; - #$pubserv= $customdns; - #$protocol= $customprotocol; - #} - if($dns ne '') { $OUT .="##\n"; $OUT .=$explain."\n"; $OUT .="##\n"; - # $OUT .="server=".$pubserv.", \\\n"; # not needed for v3.11.1 + $OUT .="server=".$pubserv.", \\\n"; # not needed for v3.11.1; is needed $OUT .="protocol=".$protocol.", \\\n"; #if( $dns eq 'DTDNS' ) { #$OUT .="client=ddclient, \\\n"; @@ -177,12 +113,13 @@ $OUT .="login=".$login.", \\\n"; $OUT .="password=".$password." \\\n"; - # $OUT .="\@\n" if ( $dns eq 'NAMECHEAP' ); - $OUT .=$edom->key()."\n"; # if ( $dns ne 'NAMECHEAP' ); + $OUT .= ( $dns ne 'NAMECHEAP' ) ? "\@\n": $edom->key()."\n"; $OUT .="##\n"; $OUT .="##\n"; + $OUT .="\n"; } } } } + diff -urN smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts smeserver-ddclient-1.3.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts --- smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts 2024-04-07 08:54:01.996517416 +0100 +++ smeserver-ddclient-1.3.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts 1970-01-01 01:00:00.000000000 +0100 @@ -1,101 +0,0 @@ -{ - use strict; - use esmith::util; - use esmith::ConfigDB; - use esmith::AccountsDB; - - $OUT=''; - - my $conf = esmith::ConfigDB->open() - or die "Unable to open configuration db"; - - my $edb; - - $edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient') - or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient'); - - #------------------------------------------------------------ - # Look up domains and domain descriptions - #------------------------------------------------------------ - - my $key; - my @virtualDomains = (); - foreach my $domain ($edb->get_all_by_prop(type=>'ddhost')) - { - $key = $domain->key; - push (@virtualDomains, $key); - } - - my $numDomains = @virtualDomains; - if ($numDomains > 0) { - foreach my $dom (sort @virtualDomains) - { - my $edom=$edb->get($dom); - - if( defined $edom ) - { - my $dns = $edom->prop('dns'); - $dns =~ tr/a-z/A-Z/; - my $login = $edom->prop('login'); - my $password = $edom->prop('password'); - my $customdns = $edom->prop('customdns') || ''; - my $customprotocol = $edom->prop('customprotocol') || ''; - - # Not sure if wee need these either! - my $static=$edom->prop('static') || ''; - my $custom=$edom->prop('custom') || ''; - my $wildcard=$edom->prop('wildcard') || ''; - my $backupmx=$edom->prop('backupmx') || ''; - - my $mx=$edom->prop('mx') || ''; - my $protocol=$dns; - my $explain='## '.$edom->prop('dns').' dynamic address'; - - if($dns ne '') - { - $OUT .="##\n"; - $OUT .=$explain."\n"; - $OUT .="##\n"; - # $OUT .="server=".$pubserv.", \\\n"; # not needed for v3.11.1 - $OUT .="protocol=".$protocol.", \\\n"; - #if( $dns eq 'DTDNS' ) { - #$OUT .="client=ddclient, \\\n"; - #} - #if( $dns eq 'LOOPIA' ) { - #$OUT .="use=web, \\\n"; - #$OUT .="web=loopia, \\\n"; - #$OUT .="script=/XDynDNSServer/XDynDNS.php, \\\n"; - #} - if($static ne '') { - $OUT .="static=".$static.", \\\n"; - } - - if($wildcard ne '') { - $OUT .="wildcard=".$wildcard.", \\\n"; - } - - if($custom ne '') { - $OUT .="custom=".$custom.", \\\n"; - } - - if ($mx ne '') { - $OUT .="mx=".$mx.", \\\n"; - } - - $OUT .="login=".$login.", \\\n"; - $OUT .="password=".$password." \\\n"; - - # $OUT .="\@\n" if ( $dns eq 'NAMECHEAP' ); - $OUT .=$edom->key()."\n"; # if ( $dns ne 'NAMECHEAP' ); - $OUT .="##\n"; - $OUT .="##\n"; - } - } - } - } - my $file = '/var/cache/ddclient/ddclient.cache'; - # Execute the shell command to clear the file - system("rm -f '' > $file"); - -} - diff -urN smeserver-ddclient-1.3.0.old/root/etc/e-smith/web/functions/ddclient smeserver-ddclient-1.3.0/root/etc/e-smith/web/functions/ddclient --- smeserver-ddclient-1.3.0.old/root/etc/e-smith/web/functions/ddclient 2024-04-07 08:54:01.893514391 +0100 +++ smeserver-ddclient-1.3.0/root/etc/e-smith/web/functions/ddclient 2024-04-07 08:58:41.524727154 +0100 @@ -472,7 +472,7 @@ foreach my $domain (sort @FreeDomains) { my $vals = $edb->get($domain); my $content = $vals->prop('desc'); - my $publish = $vals->prop('dns'); + my $publish = $fm->localise($vals->prop('dns')); print $q->Tr (esmith::cgi::genSmallCell ($q, $domain), esmith::cgi::genSmallCell ($q, $content), esmith::cgi::genSmallCell ($q, $publish),