1 |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm |
2 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm 2023-11-10 16:11:05.915271983 +0000 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm 2023-11-10 16:11:05.915271983 +0000 |
3 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm 2023-11-18 10:41:00.000000000 +0000 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm 2023-12-01 17:16:00.000000000 +0000 |
4 |
@@ -114,57 +114,167 @@ |
@@ -114,57 +114,168 @@ |
5 |
|
|
6 |
my %ddc_datas = (); |
my %ddc_datas = (); |
7 |
|
|
10 |
+ # Router devices from which it can get ip address |
+ # Router devices from which it can get ip address |
11 |
+ # |
+ # |
12 |
+ my $devices = ( [ |
+ my $devices = ( [ |
13 |
+ ['2Wire 1701HG Gateway', '2wire'], |
+ [ '2wire' => '2Wire 1701HG Gateway' ], |
14 |
+ ['3com 3c886a 56k Lan Modem', '3com-3c886a'], |
+ [ '3com-3c886a' => '3com 3c886a 56k Lan Modem' ], |
15 |
+ ['3com OfficeConnect Remote 812', '3com-oc-remote812'], |
+ [ '3com-oc-remote812' => '3com OfficeConnect Remote 812' ], |
16 |
+ ['Alcatel Speed Touch 510', 'alcatel-510'], |
+ [ 'alcatel-510' => 'Alcatel Speed Touch 510' ], |
17 |
+ ['Alcatel/Thomson SpeedTouch 530', 'alcatel-530'], |
+ [ 'alcatel-530' => 'Alcatel/Thomson SpeedTouch 530' ], |
18 |
+ ['Alcatel Speed Touch Pro', 'alcatel-stp'], |
+ [ 'alcatel-stp' => 'Alcatel Speed Touch Pro' ], |
19 |
+ ['Allnet 1298', 'allnet-1298'], |
+ [ 'allnet-1298' => 'Allnet 1298' ], |
20 |
+ ['Cayman 3220-H DSL', 'cayman-3220h'], |
+ [ 'cayman-3220h' => 'Cayman 3220-H DSL' ], |
21 |
+ ['D-Link DI-524', 'dlink-524'], |
+ [ 'dlink-524' => 'D-Link DI-524' ], |
22 |
+ ['D-Link DI-604', 'dlink-604'], |
+ [ 'dlink-604' => 'D-Link DI-604' ], |
23 |
+ ['D-Link DI-614+', 'dlink-614'], |
+ [ 'dlink-614' => 'D-Link DI-614+' ], |
24 |
+ ['E-tech Router', 'e-tech'], |
+ [ 'e-tech' => 'E-tech Router' ], |
25 |
+ ['ELSA LanCom DSL/10 DSL FW', 'elsa-lancom-dsl10'], |
+ [ 'elsa-lancom-dsl10' => 'ELSA LanCom DSL/10 DSL FW' ], |
26 |
+ ['ELSA LanCom DSL/10 DSL FW (isdn ch01)', 'elsa-lancom-dsl10-ch01'], |
+ [ 'elsa-lancom-dsl10-ch01' => 'ELSA LanCom DSL/10 DSL FW (isdn ch01)' ], |
27 |
+ ['ELSA LanCom DSL/10 DSL FW (isdn ch01)', 'elsa-lancom-dsl10-ch02'], |
+ [ 'elsa-lancom-dsl10-ch02' => 'ELSA LanCom DSL/10 DSL FW (isdn ch01)' ], |
28 |
+ ['Linksys FW', 'linksys'], |
+ [ 'linksys' => 'Linksys FW' ], |
29 |
+ ['Linksys RV042 Dual Homed Router WAN Port 2', 'linksys-rv042-wan1'], |
+ [ 'linksys-rv042-wan1' => 'Linksys RV042 Dual Homed Router WAN Port 2' ], |
30 |
+ ['Linksys RV042 Dual Homed Router WAN Port 2', 'linksys-rv042-wan2'], |
+ [ 'linksys-rv042-wan2' => 'Linksys RV042 Dual Homed Router WAN Port 2' ], |
31 |
+ ['Linksys FW version 2', 'linksys-ver2'], |
+ [ 'linksys-ver2' => 'Linksys FW version 2' ], |
32 |
+ ['Linksys FW version 3', 'linksys-ver3'], |
+ [ 'linksys-ver3' => 'Linksys FW version 3' ], |
33 |
+ ['Linksys WCG200 FW', 'linksys-wcg200'], |
+ [ 'linksys-wcg200' => 'Linksys WCG200 FW' ], |
34 |
+ ['Linksys WRT854G FW', 'linksys-wrt854g'], |
+ [ 'linksys-wrt854g' => 'Linksys WRT854G FW' ], |
35 |
+ ['MaxGate UGATE-3x00 FW', 'maxgate-ugate3x00'], |
+ [ 'maxgate-ugate3x00' => 'MaxGate UGATE-3x00 FW' ], |
36 |
+ ['NetComm NB3', 'netcomm-nb3'], |
+ [ 'netcomm-nb3' => 'NetComm NB3' ], |
37 |
+ ['netgear-dg834g', 'netgear-dg834g'], |
+ [ 'netgear-dg834g' => 'netgear-dg834g' ], |
38 |
+ ['Netgear RP614 FW', 'netgear-rp614'], |
+ [ 'netgear-rp614' => 'Netgear RP614 FW' ], |
39 |
+ ['Netgear FW', 'netgear-rt3xx'], |
+ [ 'netgear-rt3xx' => 'Netgear FW' ], |
40 |
+ ['Netgear WGT624', 'netgear-wgt624'], |
+ [ 'netgear-wgt624' => 'Netgear WGT624' ], |
41 |
+ ['Netgear WPN824 FW', 'netgear-wpn824'], |
+ [ 'netgear-wpn824' => 'Netgear WPN824 FW' ], |
42 |
+ ['Netopia R910 FW', 'netopia-r910'], |
+ [ 'netopia-r910' => 'Netopia R910 FW' ], |
43 |
+ ['olitec-SX200', 'olitec-SX200'], |
+ [ 'olitec-SX200' => 'olitec-SX200' ], |
44 |
+ ['Linksys RTP300', 'rtp300'], |
+ [ 'rtp300' => 'Linksys RTP300' ], |
45 |
+ ['Siemens SpeedStream 4200', 'siemens-ss4200'], |
+ [ 'siemens-ss4200' => 'Siemens SpeedStream 4200' ], |
46 |
+ ['Sitecom DC-202 FW', 'sitecom-dc202'], |
+ [ 'sitecom-dc202' => 'Sitecom DC-202 FW' ], |
47 |
+ ['SMC Barricade FW', 'smc-barricade'], |
+ [ 'smc-barricade' => 'SMC Barricade FW' ], |
48 |
+ ['SMC Barricade FW (7004VBR model config)', 'smc-barricade-7004vbr'], |
+ [ 'smc-barricade-7004vbr' => 'SMC Barricade FW (7004VBR model config)' ], |
49 |
+ ['SMC Barricade 7401BRA FW', 'smc-barricade-7401bra'], |
+ [ 'smc-barricade-7401bra' => 'SMC Barricade 7401BRA FW' ], |
50 |
+ ['SMC Barricade FW (alternate config)', 'smc-barricade-alt'], |
+ [ 'smc-barricade-alt' => 'SMC Barricade FW (alternate config)' ], |
51 |
+ ['SOHOWare BroadGuard NBG800', 'sohoware-nbg800'], |
+ [ 'sohoware-nbg800' => 'SOHOWare BroadGuard NBG800' ], |
52 |
+ ['Sveasoft WRT54G/WRT54GS', 'sveasoft'], |
+ [ 'sveasoft' => 'Sveasoft WRT54G/WRT54GS' ], |
53 |
+ ['Thomson SpeedTouch 536v6', 'thomson-st536v6'], |
+ [ 'thomson-st536v6' => 'Thomson SpeedTouch 536v6' ], |
54 |
+ ['Thomson/Technicolor TG782', 'thomson-tg782'], |
+ [ 'thomson-tg782' => 'Thomson/Technicolor TG782' ], |
55 |
+ ['Vigor 2200 USB', 'vigor-2200usb'], |
+ [ 'vigor-2200usb' => 'Vigor 2200 USB' ], |
56 |
+ ['Watchguard Edge X FW', 'watchguard-edge-x'], |
+ [ 'watchguard-edge-x' => 'Watchguard Edge X FW' ], |
57 |
+ ['Watchguard SOHO FW', 'watchguard-soho'], |
+ [ 'watchguard-soho' => 'Watchguard SOHO FW' ], |
58 |
+ ['Westell C90-610015-06 DSL Router', 'westell-6100'], |
+ [ 'westell-6100' => 'Westell C90-610015-06 DSL Router' ], |
59 |
+ ['xsense-aero', 'Xsense Aero'] |
+ [ 'xsense-aero' => 'Xsense Aero'] |
60 |
+ ] ); |
+ ] ); |
61 |
+ return $devices; |
+ return $devices; |
62 |
+ |
+ |
77 |
+ # Web Services from which it can get ip address |
+ # Web Services from which it can get ip address |
78 |
+ # |
+ # |
79 |
+ my $webservices = ( [ |
+ my $webservices = ( [ |
80 |
+ ['dyndns http://checkip.dyndns.org/', 'dyndns'], |
+ [ 'dyndnshttp://checkip.dyndns.org/' => 'dyndns' ], |
81 |
+ ['freedns https://freedns.afraid.org/dynamic/check.php', 'freedns'], |
+ [ 'freednshttps://freedns.afraid.org/dynamic/check.php' => 'freedns' ], |
82 |
+ ['googledomains https://domains.google.com/checkip', 'googledomains'], |
+ [ 'googledomainshttps://domains.google.com/checkip' => 'googledomains' ], |
83 |
+ ['he https://checkip.dns.he.net/', 'he'], |
+ [ 'hehttps://checkip.dns.he.net/' => 'he' ], |
84 |
+ ['ip4only.me https://ip4only.me/api/', 'ip4only.me'], |
+ [ 'ip4only.mehttps://ip4only.me/api/' => 'ip4only.me' ], |
85 |
+ ['ip6only.me https://ip6only.me/api/', 'ip6only.me'], |
+ [ 'ip6only.mehttps://ip6only.me/api/' => 'ip6only.me' ], |
86 |
+ ['ipify-ipv4 https://api.ipify.org/', 'ipify-ipv4'], |
+ [ 'ipify-ipv4https://api.ipify.org/' => 'ipify-ipv4' ], |
87 |
+ ['ipify-ipv6 https://api6.ipify.org/', 'ipify-ipv6'], |
+ [ 'ipify-ipv6https://api6.ipify.org/' => 'ipify-ipv6' ], |
88 |
+ ['loopia https://dns.loopia.se/checkip/checkip.php', 'loopia'], |
+ [ 'loopiahttps://dns.loopia.se/checkip/checkip.php' => 'loopia' ], |
89 |
+ ['myonlineportal https://myonlineportal.net/checkip', 'myonlineportal'], |
+ [ 'myonlineportalhttps://myonlineportal.net/checkip' => 'myonlineportal' ], |
90 |
+ ['noip-ipv4 http://ip1.dynupdate.no-ip.com/', 'noip-ipv4'], |
+ [ 'noip-ipv4http://ip1.dynupdate.no-ip.com/' => 'noip-ipv4' ], |
91 |
+ ['noip-ipv6 http://ip1.dynupdate6.no-ip.com/', 'noip-ipv6'], |
+ [ 'noip-ipv6http://ip1.dynupdate6.no-ip.com/' => 'noip-ipv6' ], |
92 |
+ ['nsupdate.info-ipv4 https://ipv4.nsupdate.info/myip', 'nsupdate.info-ipv4'], |
+ [ 'nsupdate.info-ipv4https://ipv4.nsupdate.info/myip' => 'nsupdate.info-ipv4' ], |
93 |
+ ['nsupdate.info-ipv6 https://ipv6.nsupdate.info/myip', 'nsupdate.info-ipv6'], |
+ [ 'nsupdate.info-ipv6https://ipv6.nsupdate.info/myip' => 'nsupdate.info-ipv6' ], |
94 |
+ ['zoneedit https://dynamic.zoneedit.com/checkip.html', 'zoneedit'] |
+ [ 'zoneedithttps://dynamic.zoneedit.com/checkip.html' => 'zoneedit' ] |
95 |
+ ] ); |
+ ] ); |
96 |
+ return $webservices |
+ return $webservices |
97 |
+ |
+ |
114 |
# |
# |
115 |
my $c = shift; |
my $c = shift; |
116 |
- my $Labels = ( |
- my $Labels = ( |
117 |
- |
+ my $dnsservices = ( [ |
118 |
|
+ [ $c->l('1984') => '1984' ], |
119 |
|
+ [ $c->l('changeip') => 'changeip' ], |
120 |
|
+ [ $c->l('cloudflare') => 'cloudflare' ], |
121 |
|
+ [ $c->l('cloudns') => 'cloudns' ], |
122 |
|
+ [ $c->l('digitalocean') => 'digitalocean' ], |
123 |
|
+ [ $c->l('dinahosting') => 'dinahosting' ], |
124 |
|
+ [ $c->l('dnsexit') => 'dnsexit' ], |
125 |
|
+ [ $c->l('dnsmadeeasy') => 'dnsmadeeasy' ], |
126 |
|
+ [ $c->l('domeneshop') => 'domeneshop' ], |
127 |
|
+ [ $c->l('dondominio') => 'dondominio' ], |
128 |
|
+ [ $c->l('dslreports') => 'dslreports' ], |
129 |
|
+ [ $c->l('duckdns') => 'duckdns' ], |
130 |
|
+ [ $c->l('dyndns1') => 'dyndns1' ], |
131 |
|
+ [ $c->l('dyndns2') => 'dyndns2' ], |
132 |
|
+ [ $c->l('easydns') => 'easydns' ], |
133 |
|
+ [ $c->l('enom') => 'enom' ], |
134 |
|
+ [ $c->l('freedns') => 'freedns' ], |
135 |
|
+ [ $c->l('freemyip') => 'freemyip' ], |
136 |
|
+ [ $c->l('gandi') => 'gandi' ], |
137 |
|
+ [ $c->l('godaddy') => 'godaddy' ], |
138 |
|
+ [ $c->l('googledomains') => 'googledomains' ], |
139 |
|
+ [ $c->l('hetzner') => 'hetzner' ], |
140 |
|
+ [ $c->l('infomaniak') => 'infomaniak' ], |
141 |
|
+ [ $c->l('keysystems') => 'keysystems' ], |
142 |
|
+ [ $c->l('mythicdyn') => 'mythicdyn' ], |
143 |
|
+ [ $c->l('namecheap') => 'namecheap' ], |
144 |
|
+ [ $c->l('nfsn') => 'nfsn' ], |
145 |
|
+ [ $c->l('njalla') => 'njalla' ], |
146 |
|
+ [ $c->l('noip') => 'noip' ], |
147 |
|
+ [ $c->l('nsupdate') => 'nsupdate' ], |
148 |
|
+ [ $c->l('ovh') => 'ovh' ], |
149 |
|
+ [ $c->l('porkbun') => 'porkbun' ], |
150 |
|
+ [ $c->l('regfishde') => 'regfishde' ], |
151 |
|
+ [ $c->l('sitelutions') => 'sitelutions' ], |
152 |
|
+ [ $c->l('woima') => 'woima' ], |
153 |
|
+ [ $c->l('yandex') => 'yandex' ], |
154 |
|
+ [ $c->l('zoneedit') => 'zoneedit' ] |
155 |
|
+ ] ); |
156 |
|
+ return $dnsservices; |
157 |
|
|
158 |
- # v3.11.1 labels |
- # v3.11.1 labels |
159 |
- [ |
- [ |
160 |
- [$c->l('1984') '1984'], |
- [$c->l('1984') '1984'], |
197 |
- ] |
- ] |
198 |
- # end of v3.11.1 labels |
- # end of v3.11.1 labels |
199 |
- |
- |
200 |
+ my $dnsservices = ( [ |
- |
|
+ ['1984 - https://kb.1984hosting.com/doku.php?id=freedns', '1984'], |
|
|
+ ['changeip - https://changeip.com', 'changeip'], |
|
|
+ ['cloudflare - https://cloudflare.com', 'cloudflare'], |
|
|
+ ['cloudns - https://cloudns.com', 'cloudns'], |
|
|
+ ['digitalocean - https://digitalocean.com', 'digitalocean'], |
|
|
+ ['dinahosting - https://dinahosting.com', 'dinahosting'], |
|
|
+ ['dnsexit - https://dnsexit.com/', 'dnsexit'], |
|
|
+ ['dnsmadeeasy - https://dnsmadeeasy.com', 'dnsmadeeasy'], |
|
|
+ ['domeneshop - https://domeneshop.com', 'domeneshop'], |
|
|
+ ['dondominio - https://dondominio.com', 'dondominio'], |
|
|
+ ['dslreports - https://www.dslreports.com/', 'dslreports'], |
|
|
+ ['duckdns - https://duckdns.com', 'duckdns'], |
|
|
+ ['dyndns1 - https://account.dyn.com/', 'dyndns1'], |
|
|
+ ['dyndns2 - https://account.dyn.com/', 'dyndns2'], |
|
|
+ ['easydns - https://easydns.com', 'easydns'], |
|
|
+ ['enom - https://enom.com', 'enom'], |
|
|
+ ['freedns - http://freedns.com', 'freedns'], |
|
|
+ ['freemyip - https://freemyip.com', 'freemyip'], |
|
|
+ ['gandi - https://gandi.com', 'gandi'], |
|
|
+ ['godaddy - https://godaddy.com', 'godaddy'], |
|
|
+ ['googledomains - https://googledomains.com', 'googledomains'], |
|
|
+ ['hetzner - https://hetzner.com', 'hetzner'], |
|
|
+ ['infomaniak - https://infomaniak.com', 'infomaniak'], |
|
|
+ ['keysystems - https://keysystems.com', 'keysystems'], |
|
|
+ ['mythicdyn - https://www.mythic-beasts.com/support/api/dnsv2/dynamic-dns', 'mythicdyn'], |
|
|
+ ['namecheap - https://namecheap.com', 'namecheap'], |
|
|
+ ['nfsn - http://nfsn.com', 'nfsn'], |
|
|
+ ['njalla - https://njalla.com', 'njalla'], |
|
|
+ ['noip - https://noip.com', 'noip'], |
|
|
+ ['nsupdate - http://nsupdate.com', 'nsupdate'], |
|
|
+ ['ovh - https://ovh.com', 'ovh'], |
|
|
+ ['porkbun - https://porkbun.com', 'porkbun'], |
|
|
+ ['regfishde - regfishde', 'regfishde'], |
|
|
+ ['sitelutions - https://sitelutions.com', 'sitelutions'], |
|
|
+ ['woima - http://woima.com', 'woima'], |
|
|
+ ['yandex - https://yandex.com', 'yandex'], |
|
|
+ ['zoneedit - https://www.zoneedit.com/dynamic-dns/', 'zoneedit'] ] ); |
|
|
+ return $dnsservices; |
|
|
|
|
201 |
- #[ [ $c->l('CUSTOMDNS'), 'CUSTOMDNS' ], |
- #[ [ $c->l('CUSTOMDNS'), 'CUSTOMDNS' ], |
202 |
+ #my $output = `ddclient -list-protocols`; # Run ddclient command and capture the output |
+ #my $output = `ddclient -list-protocols`; # Run ddclient command and capture the output |
203 |
+ #my @protocols; |
+ #my @protocols; |
215 |
#[ $c->l('DYNDNS1'), 'DYNDNS1' ], |
#[ $c->l('DYNDNS1'), 'DYNDNS1' ], |
216 |
#[ $c->l('DYNDNS2'), 'DYNDNS2' ], |
#[ $c->l('DYNDNS2'), 'DYNDNS2' ], |
217 |
#[ $c->l('DYNDNS3'), 'DYNDNS3' ], |
#[ $c->l('DYNDNS3'), 'DYNDNS3' ], |
218 |
@@ -196,9 +306,6 @@ |
@@ -196,9 +307,6 @@ |
219 |
#[ $c->l('OVH'), 'OVH' ], |
#[ $c->l('OVH'), 'OVH' ], |
220 |
#[ $c->l('CLOUDNS'), 'CLOUDNS' ] |
#[ $c->l('CLOUDNS'), 'CLOUDNS' ] |
221 |
#] |
#] |
225 |
|
|
226 |
sub main { |
sub main { |
227 |
# |
# |
228 |
@@ -231,8 +338,9 @@ |
@@ -230,13 +338,15 @@ |
229 |
|
my $emptycust = ( scalar @FreeDomains == 0 ); |
230 |
|
|
231 |
my $Labels = ( |
my $Labels = ( |
232 |
[ [ $c->l('SME external Interface'), "smeIF" ], |
- [ [ $c->l('SME external Interface'), "smeIF" ], |
233 |
- [ $c->l('SME configuration DB'), "smeCMD" ], |
- [ $c->l('SME configuration DB'), "smeCMD" ], |
234 |
+ [ $c->l('SME configuration DB'), "smeCDB" ], |
- [ $c->l('web'), "web" ], |
235 |
[ $c->l('web'), "web" ], |
- [ $c->l('Interface'), "if" ], |
236 |
+ [ $c->l('router'), "router" ], |
- [ $c->l('IP'), "ip" ], |
237 |
[ $c->l('Interface'), "if" ], |
- [ $c->l('Command'), "cmd" ] |
238 |
[ $c->l('IP'), "ip" ], |
- ] |
239 |
[ $c->l('Command'), "cmd" ] |
+ [ |
240 |
@@ -246,6 +354,8 @@ |
+ [ $c->l('SME external Interface') => "smeIF" ], |
241 |
|
+ [ $c->l('SME configuration DB') => 'smeCMD' ], |
242 |
|
+ [ $c->l('web') => 'web' ], |
243 |
|
+ [ $c->l('router') => 'router' ], |
244 |
|
+ [ $c->l('Interface') => 'if' ], |
245 |
|
+ [ $c->l('IP') => 'ip' ], |
246 |
|
+ [ $c->l('Command') => 'cmd' ] |
247 |
|
+ ] |
248 |
|
); |
249 |
|
|
250 |
|
$c->stash( |
251 |
|
@@ -246,6 +356,9 @@ |
252 |
domains => \@domains, |
domains => \@domains, |
253 |
freedomains => \@FreeDomains, |
freedomains => \@FreeDomains, |
254 |
methodlabels => $Labels, |
methodlabels => $Labels, |
255 |
|
+ dnslabels => get_dns_labels($c), |
256 |
+ devices => get_devices_names($c), |
+ devices => get_devices_names($c), |
257 |
+ webservices => get_web_services_names($c), |
+ webservices => get_web_services_names($c), |
258 |
emptydom => $emptydom, |
emptydom => $emptydom, |
259 |
emptycust => $emptycust |
emptycust => $emptycust |
260 |
); |
); |
261 |
@@ -269,6 +379,7 @@ |
@@ -260,6 +373,7 @@ |
262 |
|
# Called to update the parameters relating to the Ip address of the server |
263 |
|
# |
264 |
|
my $c = shift; |
265 |
|
+ $ddc_datas{"first"} = ''; |
266 |
|
$ddc_datas{"success"} = pushParams($c); |
267 |
|
do_display($c); |
268 |
|
} |
269 |
|
@@ -269,6 +383,7 @@ |
270 |
#Called to update/delete the ddclient for a specific inbuilt domain |
#Called to update/delete the ddclient for a specific inbuilt domain |
271 |
# |
# |
272 |
my $c = shift; |
my $c = shift; |
274 |
my $retmsg; |
my $retmsg; |
275 |
if ( $c->param("Route") eq "ddclient2" ) { #Route is hidden field |
if ( $c->param("Route") eq "ddclient2" ) { #Route is hidden field |
276 |
$retmsg = performModifyCustom($c); |
$retmsg = performModifyCustom($c); |
277 |
@@ -279,7 +390,7 @@ |
@@ -276,10 +391,11 @@ |
278 |
|
else { |
279 |
|
$retmsg = performModifyDomain($c); |
280 |
|
} |
281 |
|
+ $ddc_datas{"first"} = ''; |
282 |
if ( $retmsg eq "ok" ) { |
if ( $retmsg eq "ok" ) { |
283 |
my $dns = $c->param('dns'); |
my $dns = $c->param('dns'); |
284 |
my $domain = $c->param('domainname'); |
my $domain = $c->param('domainname'); |
287 |
$c->l( '' . $dns ) ); |
$c->l( '' . $dns ) ); |
288 |
do_display( $c, %ddc_datas ); |
do_display( $c, %ddc_datas ); |
289 |
} |
} |
290 |
@@ -296,7 +407,7 @@ |
@@ -296,7 +412,7 @@ |
291 |
# Create custom domain |
# Create custom domain |
292 |
# |
# |
293 |
my $c = shift; |
my $c = shift; |
296 |
my $modul = ''; |
my $modul = ''; |
297 |
my $trt = "NEW"; |
my $trt = "NEW"; |
298 |
|
|
299 |
@@ -305,7 +416,9 @@ |
@@ -305,18 +421,21 @@ |
300 |
title => $title, |
title => $title, |
301 |
modul => $modul, |
modul => $modul, |
302 |
ddc_datas => \%ddc_datas, |
ddc_datas => \%ddc_datas, |
307 |
); |
); |
308 |
$c->render( template => 'ddclient' ); |
$c->render( template => 'ddclient' ); |
309 |
} |
} |
310 |
@@ -316,7 +429,7 @@ |
|
311 |
|
sub do_create_custom_actual { |
312 |
|
my $c = shift; |
313 |
|
+ $ddc_datas{"first"} = ''; |
314 |
|
my $retmsg = performCreateCustom($c); |
315 |
if ( $retmsg eq "ok" ) { |
if ( $retmsg eq "ok" ) { |
316 |
my $dns = $c->param('dns'); |
my $dns = $c->param('dns'); |
317 |
my $domain = $c->param('domainname'); |
my $domain = $c->param('domainname'); |
320 |
$c->l( '' . $dns ) ); |
$c->l( '' . $dns ) ); |
321 |
do_display( $c, %ddc_datas ); |
do_display( $c, %ddc_datas ); |
322 |
} |
} |
323 |
@@ -334,7 +447,7 @@ |
@@ -334,7 +453,7 @@ |
324 |
# Display delete or modify panel for custom domain |
# Display delete or modify panel for custom domain |
325 |
# |
# |
326 |
my $c = shift; |
my $c = shift; |
329 |
my $modul = ''; |
my $modul = ''; |
330 |
my $trt = $c->param("trt"); |
my $trt = $c->param("trt"); |
331 |
|
|
332 |
@@ -349,7 +462,9 @@ |
@@ -349,7 +468,9 @@ |
333 |
title => $title, |
title => $title, |
334 |
modul => $modul, |
modul => $modul, |
335 |
ddc_datas => \%ddc_datas, |
ddc_datas => \%ddc_datas, |
340 |
); |
); |
341 |
$c->render( template => 'ddclient' ); |
$c->render( template => 'ddclient' ); |
342 |
} |
} |
343 |
@@ -360,21 +475,23 @@ |
@@ -360,21 +481,23 @@ |
344 |
# param trt = MOD or DEL |
# param trt = MOD or DEL |
345 |
# |
# |
346 |
my $c = shift; |
my $c = shift; |
367 |
); |
); |
368 |
$c->render( template => 'ddclient' ); |
$c->render( template => 'ddclient' ); |
369 |
} |
} |
370 |
@@ -386,7 +503,7 @@ |
@@ -386,10 +509,11 @@ |
371 |
# |
# |
372 |
my $c = shift; |
my $c = shift; |
373 |
my $route = $c->current_route; |
my $route = $c->current_route; |
376 |
my $modul = ''; |
my $modul = ''; |
377 |
my $retmsg = ""; |
my $retmsg = ""; |
378 |
my $domain = $c->param("Domain"); |
my $domain = $c->param("Domain"); |
379 |
@@ -400,7 +517,7 @@ |
+ $ddc_datas{"first"} = ''; |
380 |
|
|
381 |
|
#Delete it and return to front summary panel - depends on route domain or custom |
382 |
|
if ( $c->param("Route") eq "ddclient2" ) { #Route is hidden field |
383 |
|
@@ -400,7 +524,7 @@ |
384 |
} |
} |
385 |
|
|
386 |
if ( $retmsg eq "ok" ) { |
if ( $retmsg eq "ok" ) { |
389 |
$c->l( '' . $c->param("dns") ) ); |
$c->l( '' . $c->param("dns") ) ); |
390 |
} |
} |
391 |
else { $ddc_datas{"error"} = $retmsg; } |
else { $ddc_datas{"error"} = $retmsg; } |
392 |
@@ -415,7 +532,7 @@ |
@@ -415,15 +539,16 @@ |
393 |
# |
# |
394 |
my $c = shift; |
my $c = shift; |
395 |
my $route = $c->current_route; |
my $route = $c->current_route; |
398 |
my $modul = ''; |
my $modul = ''; |
399 |
my $retmsg = ""; |
my $retmsg = ""; |
400 |
my $domain = $c->param("Domain"); |
my $domain = $c->param("Domain"); |
401 |
@@ -423,7 +540,7 @@ |
+ $ddc_datas{"first"} = ''; |
402 |
|
|
403 |
#Delete it and return to front summary panel - depends on route domain or custom |
#Delete it and return to front summary panel - depends on route domain or custom |
404 |
$retmsg = performDeleteCustom( $c, $domain ); |
$retmsg = performDeleteCustom( $c, $domain ); |
405 |
if ( $retmsg eq "ok" ) { |
if ( $retmsg eq "ok" ) { |
408 |
} |
} |
409 |
else { $ddc_datas{"error"} = $retmsg; } |
else { $ddc_datas{"error"} = $retmsg; } |
410 |
do_display( $c, %ddc_datas ); |
do_display( $c, %ddc_datas ); |
411 |
@@ -616,7 +733,7 @@ |
@@ -588,6 +713,8 @@ |
412 |
|
my $retrieveinterface = $c->param('retrieveinterface'); |
413 |
|
my $retrievecmd = $c->param('retrievecmd'); |
414 |
|
my $retrieveip = $c->param('retrieveip'); |
415 |
|
+ |
416 |
|
+ #print 1 / 0; #Crash |
417 |
|
|
418 |
|
my $ddclient = $db->get('ddclient'); |
419 |
|
$ddclient->set_prop( 'urlcheckip' => $urlcheckip ); |
420 |
|
@@ -616,7 +743,7 @@ |
421 |
#------------------------------------------------------------ |
#------------------------------------------------------------ |
422 |
|
|
423 |
my $domainName = $c->param('domainName'); |
my $domainName = $c->param('domainName'); |
426 |
$domainName = $1; |
$domainName = $1; |
427 |
} |
} |
428 |
else { |
else { |
429 |
@@ -624,7 +741,7 @@ |
@@ -624,7 +751,7 @@ |
430 |
} |
} |
431 |
|
|
432 |
my $domainLogin = $c->param('login'); |
my $domainLogin = $c->param('login'); |
435 |
$domainLogin = $1; |
$domainLogin = $1; |
436 |
} |
} |
437 |
else { |
else { |
438 |
@@ -632,7 +749,7 @@ |
@@ -632,7 +759,7 @@ |
439 |
} |
} |
440 |
|
|
441 |
my $domainPassword = $c->param('password'); |
my $domainPassword = $c->param('password'); |
444 |
$domainPassword = $1; |
$domainPassword = $1; |
445 |
} |
} |
446 |
else { |
else { |
447 |
@@ -646,7 +763,7 @@ |
@@ -646,7 +773,7 @@ |
448 |
|
|
449 |
my $dns = $c->param('dns'); |
my $dns = $c->param('dns'); |
450 |
if ( $dns eq 'CUSTOMDNS' ) { |
if ( $dns eq 'CUSTOMDNS' ) { |
453 |
$customDNS = $1; |
$customDNS = $1; |
454 |
} |
} |
455 |
else |
else |
456 |
@@ -685,7 +802,7 @@ |
@@ -685,7 +812,7 @@ |
457 |
# Attempt to delete domain |
# Attempt to delete domain |
458 |
#------------------------------------------------------------ |
#------------------------------------------------------------ |
459 |
|
|
462 |
$domain = $1; |
$domain = $1; |
463 |
} |
} |
464 |
else { |
else { |
465 |
@@ -726,7 +843,7 @@ |
@@ -726,7 +853,7 @@ |
466 |
#------------------------------------------------------------ |
#------------------------------------------------------------ |
467 |
|
|
468 |
my $domainName = $c->param('domainName'); |
my $domainName = $c->param('domainName'); |
471 |
$domainName = $1; |
$domainName = $1; |
472 |
} |
} |
473 |
else { |
else { |
474 |
@@ -749,7 +866,7 @@ |
@@ -749,7 +876,7 @@ |
475 |
|
|
476 |
my $domainDesc = $c->param('desc'); |
my $domainDesc = $c->param('desc'); |
477 |
my $domainLogin = $c->param('login'); |
my $domainLogin = $c->param('login'); |
480 |
$domainLogin = $1; |
$domainLogin = $1; |
481 |
} |
} |
482 |
else { |
else { |
483 |
@@ -757,7 +874,7 @@ |
@@ -757,7 +884,7 @@ |
484 |
} |
} |
485 |
|
|
486 |
my $domainPassword = $c->param('password'); |
my $domainPassword = $c->param('password'); |
489 |
$domainPassword = $1; |
$domainPassword = $1; |
490 |
} |
} |
491 |
else { |
else { |
492 |
@@ -771,7 +888,7 @@ |
@@ -771,7 +898,7 @@ |
493 |
|
|
494 |
my $dns = $c->param('dns'); |
my $dns = $c->param('dns'); |
495 |
if ( $dns eq 'CUSTOMDNS' ) { |
if ( $dns eq 'CUSTOMDNS' ) { |
498 |
$customDNS = $1; |
$customDNS = $1; |
499 |
} |
} |
500 |
else { |
else { |
501 |
@@ -809,7 +926,7 @@ |
@@ -809,7 +936,7 @@ |
502 |
#------------------------------------------------------------ |
#------------------------------------------------------------ |
503 |
|
|
504 |
my $domainName = $c->param('domainName'); |
my $domainName = $c->param('domainName'); |
507 |
$domainName = $1; |
$domainName = $1; |
508 |
} |
} |
509 |
else { |
else { |
510 |
@@ -817,7 +934,7 @@ |
@@ -817,7 +944,7 @@ |
511 |
} |
} |
512 |
|
|
513 |
my $domainLogin = $c->param('login'); |
my $domainLogin = $c->param('login'); |
516 |
$domainLogin = $1; |
$domainLogin = $1; |
517 |
} |
} |
518 |
else { |
else { |
519 |
@@ -825,7 +942,7 @@ |
@@ -825,7 +952,7 @@ |
520 |
} |
} |
521 |
|
|
522 |
my $domainPassword = $c->param('password'); |
my $domainPassword = $c->param('password'); |
525 |
$domainPassword = $1; |
$domainPassword = $1; |
526 |
} |
} |
527 |
else { |
else { |
528 |
@@ -839,7 +956,7 @@ |
@@ -839,7 +966,7 @@ |
529 |
|
|
530 |
my $dns = $c->param('dns'); |
my $dns = $c->param('dns'); |
531 |
if ( $dns eq 'CUSTOMDNS' ) { |
if ( $dns eq 'CUSTOMDNS' ) { |
534 |
$customDNS = $1; |
$customDNS = $1; |
535 |
} |
} |
536 |
else |
else |
537 |
@@ -878,7 +995,7 @@ |
@@ -878,7 +1005,7 @@ |
538 |
# Attempt to delete domain |
# Attempt to delete domain |
539 |
#------------------------------------------------------------ |
#------------------------------------------------------------ |
540 |
|
|
545 |
else { |
else { |
546 |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm |
547 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm 2023-11-10 16:11:05.916271986 +0000 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm 2023-11-10 16:11:05.916271986 +0000 |
548 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm 2023-11-15 14:48:00.000000000 +0000 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm 2023-12-01 16:35:00.000000000 +0000 |
549 |
|
@@ -80,7 +80,7 @@ |
550 |
|
'CLOUDNS'=>'CLOUDNS www.cloudns.net', |
551 |
|
# End of Service descriptions |
552 |
|
|
553 |
|
-# v3.11.1 Service descriptions: |
554 |
|
+# v3.11.x Service descriptions: |
555 |
|
"1984" => "https://kb.1984hosting.com/doku.php?id=freedns", |
556 |
|
"changeip" => "https://changeip.com", |
557 |
|
"cloudflare" => "https://cloudflare.com", |
558 |
|
@@ -118,7 +118,7 @@ |
559 |
|
"woima" => "http://woima.com", |
560 |
|
"yandex" => "https://yandex.com", |
561 |
|
"zoneedit" => "https://www.zoneedit.com/dynamic-dns/", |
562 |
|
-# end of v3.11.1 Service descriptions: |
563 |
|
+# end of v3.11.x Service descriptions: |
564 |
|
|
565 |
|
'CUSTOMDNS' => 'Custom Dynamic DNS Provider', |
566 |
|
'CUSTOMDNS_LABEL' => 'Custom server Address', |
567 |
@@ -136,8 +136,8 @@ |
@@ -136,8 +136,8 @@ |
568 |
'DESCRIPTION_LABEL' => 'Domain description', |
'DESCRIPTION_LABEL' => 'Domain description', |
569 |
'SUCCESSFULLY_MODIFIED_RETRIEVE_IP' => 'You have successfully modified the retrieve IP options.', |
'SUCCESSFULLY_MODIFIED_RETRIEVE_IP' => 'You have successfully modified the retrieve IP options.', |
648 |
</span><span class=data> |
</span><span class=data> |
649 |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep |
650 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep 2023-11-10 16:11:05.902271946 +0000 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep 2023-11-10 16:11:05.902271946 +0000 |
651 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep 2023-11-18 14:54:00.000000000 +0000 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep 2023-12-01 17:12:00.000000000 +0000 |
652 |
@@ -1,4 +1,9 @@ |
@@ -1,4 +1,9 @@ |
653 |
<div id='paramlist'> |
<div id='paramlist'> |
654 |
+ <script> |
+ <script> |
659 |
<h2> |
<h2> |
660 |
%= l 'Params_for_IP_Retrieval' |
%= l 'Params_for_IP_Retrieval' |
661 |
</h2> |
</h2> |
662 |
@@ -11,7 +16,7 @@ |
@@ -7,11 +12,11 @@ |
663 |
|
<span class=label> |
664 |
|
%=l 'RETRIEVE_SSL' |
665 |
|
</span><span class=data> |
666 |
|
- % param retrievessl=>$ddc_datas->{"params"}->{"ssl"}; |
667 |
|
+ % param retrievessl=>$ddc_datas->{"params"}->{"ssl"} unless param 'retrievessl'; |
668 |
%=select_field retrievessl=>[['Yes'=>'yes'],['No'=>'no']] |
%=select_field retrievessl=>[['Yes'=>'yes'],['No'=>'no']] |
669 |
</span><br> |
</span><br> |
670 |
<span class=label> |
<span class=label> |
673 |
</span><span class=data> |
</span><span class=data> |
674 |
% param retrievedeamonupdate=>$ddc_datas->{"params"}->{"DeamonUpdate"}; |
% param retrievedeamonupdate=>$ddc_datas->{"params"}->{"DeamonUpdate"}; |
675 |
%=number_field 'retrievedeamonupdate',min=>0 |
%=number_field 'retrievedeamonupdate',min=>0 |
676 |
@@ -20,32 +25,88 @@ |
@@ -19,33 +24,88 @@ |
677 |
|
<span class=label> |
678 |
%=l 'RETRIEVE_METHOD' |
%=l 'RETRIEVE_METHOD' |
679 |
</span><span class=data> |
</span><span class=data> |
680 |
% param retrievemethod=>$ddc_datas->{"params"}->{"method"}; |
- % param retrievemethod=>$ddc_datas->{"params"}->{"method"}; |
681 |
- %=select_field retrievemethod=>$methodlabels |
- %=select_field retrievemethod=>$methodlabels |
682 |
- </span><br> |
- </span><br> |
683 |
- <span class=label> |
- <span class=label> |
684 |
|
+ % param retrievemethod=>$ddc_datas->{"params"}->{"method"} unless param 'retrievemethod'; |
685 |
+ %=select_field retrievemethod=>$methodlabels,id=>"retrievemethod",onchange=>"SelectInput()" |
+ %=select_field retrievemethod=>$methodlabels,id=>"retrievemethod",onchange=>"SelectInput()" |
686 |
+ %= javascript begin |
+ %= javascript begin |
687 |
+ function SelectInput() { |
+ function SelectInput() { |
688 |
+ var method = document.querySelector("#retrievemethod"); |
+ var method = document.querySelector("#retrievemethod"); |
689 |
+ const types=['smeIF','smeCDB','web','router','if','ip','cmd','custom']; |
+ const types=['smeIF','smeCMD','web','router','if','ip','cmd','custom']; |
690 |
+ types.forEach((type)=>{ |
+ types.forEach((type)=>{ |
691 |
+ var service = document.querySelector(`.${type}`); |
+ var service = document.querySelector(`.${type}`); |
692 |
+ if (service != null) { |
+ if (service != null) { |
710 |
+ <span class=label> |
+ <span class=label> |
711 |
+ %=l 'Router type' |
+ %=l 'Router type' |
712 |
+ </span><span class=data> |
+ </span><span class=data> |
713 |
+ % param retrievemethod=>$ddc_datas->{"params"}->{"Extinterface"}; |
+ % param retrieveinterface=>$ddc_datas->{"params"}->{"Extinterface"} unless param 'retrieveinterface'; |
714 |
+ %=select_field retrievemethod=>$devices |
+ %=select_field retrieveinterface=>$devices |
715 |
+ </span><br> |
+ </span><br> |
716 |
+ </div> |
+ </div> |
717 |
+ |
+ |
720 |
+ <span class=label> |
+ <span class=label> |
721 |
+ %=l 'Web service' |
+ %=l 'Web service' |
722 |
+ </span><span class=data> |
+ </span><span class=data> |
723 |
+ % param retrievemethod=>$ddc_datas->{"params"}->{"urlcheckip"}; |
+ % param retrieveurlcheckip=>$ddc_datas->{"params"}->{"urlcheckip"} unless param 'retrieveurlcheckip'; |
724 |
+ %=select_field retrievemethod=>$webservices |
+ %=select_field retrieveurlcheckip=>$dnslabels |
|
+ </span><br> |
|
725 |
+ </div> |
+ </div> |
726 |
+ |
+ |
727 |
+ %# Only if "Interface" is chosen |
+ %# Only if "Interface" is chosen |
729 |
+ <span class=label Interface> |
+ <span class=label Interface> |
730 |
%=l 'RETRIEVE_IF' |
%=l 'RETRIEVE_IF' |
731 |
- </span><span class=data> |
- </span><span class=data> |
732 |
|
- % param retrieveinterface=>$ddc_datas->{"params"}->{"Extinterface"}; |
733 |
+ </span><span class=data Interface> |
+ </span><span class=data Interface> |
734 |
% param retrieveinterface=>$ddc_datas->{"params"}->{"Extinterface"}; |
+ % param retrieveinterface=>$ddc_datas->{"params"}->{"Extinterface"} unless param 'retrieveinterface'; |
735 |
%=text_field 'retrieveinterface' |
%=text_field 'retrieveinterface' |
736 |
</span><br> |
</span><br> |
737 |
- <span class=label> |
- <span class=label> |
742 |
+ <span class=label cmd> |
+ <span class=label cmd> |
743 |
%=l 'RETRIEVE_CMD' |
%=l 'RETRIEVE_CMD' |
744 |
- </span><span class=data> |
- </span><span class=data> |
745 |
|
- % param retrievecmd=>$ddc_datas->{"params"}->{"cmd"}; |
746 |
+ </span><span class=data cmd> |
+ </span><span class=data cmd> |
747 |
% param retrievecmd=>$ddc_datas->{"params"}->{"cmd"}; |
+ % param retrievecmd=>$ddc_datas->{"params"}->{"cmd"} unless param 'retrievecmd'; |
748 |
%=text_field 'retrievecmd' |
%=text_field 'retrievecmd' |
749 |
</span><br> |
</span><br> |
750 |
- <span class=label> |
- <span class=label> |
755 |
+ <span class=label ip> |
+ <span class=label ip> |
756 |
%=l 'RETRIEVE_IP' |
%=l 'RETRIEVE_IP' |
757 |
- </span><span class=data> |
- </span><span class=data> |
758 |
|
- % param retrieveip=>$ddc_datas->{"params"}->{"ForceIP"}; |
759 |
+ </span><span class=data ip> |
+ </span><span class=data ip> |
760 |
% param retrieveip=>$ddc_datas->{"params"}->{"ForceIP"}; |
+ % param retrieveip=>$ddc_datas->{"params"}->{"ForceIP"} unless param 'retrieveip'; |
761 |
%=text_field 'retrieveip' |
%=text_field 'retrieveip' |
762 |
</span><br> |
</span><br> |
763 |
- <span class=label> |
- <span class=label> |
768 |
+ <span class=label customweb> |
+ <span class=label customweb> |
769 |
%=l 'RETRIEVE_URLCHECKIP' |
%=l 'RETRIEVE_URLCHECKIP' |
770 |
- </span><span class=data> |
- </span><span class=data> |
771 |
|
- % param retrieveurlcheckip=>$ddc_datas->{"params"}->{"urlcheckip"}; |
772 |
+ </span><span class=data customweb> |
+ </span><span class=data customweb> |
773 |
% param retrieveurlcheckip=>$ddc_datas->{"params"}->{"urlcheckip"}; |
+ % param retrieveurlcheckip=>$ddc_datas->{"params"}->{"urlcheckip"} unless param 'retrieveurlcheckip'; |
774 |
%=text_field 'retrieveurlcheckip' |
%=text_field 'retrieveurlcheckip' |
775 |
</span><br> |
</span><br> |
776 |
+ </div> |
+ </div> |