1 |
diff -urN smeserver-ddclient-1.3.0.old/createlinks smeserver-ddclient-1.3.0/createlinks |
2 |
--- smeserver-ddclient-1.3.0.old/createlinks 2023-11-10 16:11:05.855271810 +0000 |
3 |
+++ smeserver-ddclient-1.3.0/createlinks 2023-12-18 10:52:53.495714627 +0000 |
4 |
@@ -48,3 +48,6 @@ |
5 |
$event = 'post-upgrade'; |
6 |
templates2events("/etc/ddclient/ddclient.conf", $event); |
7 |
templates2events("/etc/ppp/ip-up.local", $event); |
8 |
+ |
9 |
+# and create an empty cache |
10 |
+# safe_touch("/var/cache/ddclient/ddclient.cache") |
11 |
diff -urN smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers smeserver-ddclient-1.3.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers |
12 |
--- smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers 2023-11-10 16:11:05.911271972 +0000 |
13 |
+++ smeserver-ddclient-1.3.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers 2023-12-14 11:40:00.000000000 +0000 |
14 |
@@ -52,15 +52,16 @@ |
15 |
} elsif ( $method eq 'ip') { |
16 |
# we want to force manually |
17 |
$OUT.="usev4=ipv4, ipv4=$ForceIP \n"; |
18 |
- } elsif ( $method eq 'cmd') { |
19 |
- $OUT .="usev4=cmd, cmdv4='$cmd'\n"; |
20 |
+ } elsif ( $method eq 'cmdv4') { |
21 |
+ $OUT .="usev4=cmdv4, cmdv4='$cmd'\n"; |
22 |
} else { |
23 |
# fw method |
24 |
my $fwaddress = $ddclient{'fwaddress'}||''; |
25 |
+ my $fwdevice = $ddclient{'Extinterface'}||''; |
26 |
my $fwlogin = $ddclient{'fwlogin'}||''; |
27 |
my $fwpassword = $ddclient{'fwpassword'}||''; |
28 |
my $fwskip = $ddclient{'fwskip'}||''; |
29 |
- $OUT .= "usev4=$method, fwv4=$fwaddress"; |
30 |
+ $OUT .= "usev4=$fwdevice, fwv4=$fwaddress"; |
31 |
$OUT .= ", fw-login=$fwlogin " if ( $fwlogin ne '' ); |
32 |
$OUT .= ", fw-password=$fwpassword " if ( $fwpassword ne '' ); |
33 |
$OUT .= ", fwv4-skip='$fwskip' " if ( $fwskip ne '' ); |
34 |
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 |
35 |
--- smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts 2023-11-10 16:11:05.913271977 +0000 |
36 |
+++ smeserver-ddclient-1.3.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts 2023-12-18 13:45:00.000000000 +0000 |
37 |
@@ -93,5 +93,9 @@ |
38 |
} |
39 |
} |
40 |
} |
41 |
+ my $file = '/var/cache/ddclient/ddclient.cache'; |
42 |
+ # Execute the shell command to clear the file |
43 |
+ system("rm -f '' > $file"); |
44 |
+ |
45 |
} |
46 |
|
47 |
diff -urN smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/20Service smeserver-ddclient-1.3.0/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/20Service |
48 |
--- smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/20Service 2023-11-10 16:11:05.857271816 +0000 |
49 |
+++ smeserver-ddclient-1.3.0/root/etc/e-smith/templates/usr/lib/systemd/system/ddclient.service.d/50koozali.conf/20Service 2023-12-16 10:40:00.000000000 +0000 |
50 |
@@ -1,7 +1,7 @@ |
51 |
{ |
52 |
$debug = (($ddclient{'debug'} eq 'enabled') ? "debug" : "nodebug"); |
53 |
$verbose = (($ddclient{'verbose'} eq 'enabled') ? "verbose" : "noverbose"); |
54 |
-$quiet = (($ddclient{'quiet'} eq 'enabled') ? "quiet" : "noquiet"); |
55 |
+$quiet = (($ddclient{'quiet'} eq 'disabled') ? "noquiet" : "quiet"); |
56 |
$syslog = (($ddclient{'syslog'} eq "enabled") ? "syslog" : "nosyslog"); |
57 |
$OUT .= "\n"; |
58 |
$OUT .= "[Service]\n"; |
59 |
diff -urN smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf smeserver-ddclient-1.3.0/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf |
60 |
--- smeserver-ddclient-1.3.0.old/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf 2023-11-10 16:11:05.785271609 +0000 |
61 |
+++ smeserver-ddclient-1.3.0/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf 2023-12-15 11:54:47.841967164 +0000 |
62 |
@@ -1,3 +1,3 @@ |
63 |
UID="ddclient" |
64 |
GID="ddclient" |
65 |
-PERMS=0644 |
66 |
+PERMS=0600 |
67 |
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 |
68 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm 2023-11-10 16:11:05.915271983 +0000 |
69 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/Controller/Ddclient.pm 2023-12-14 11:33:00.000000000 +0000 |
70 |
@@ -114,90 +114,164 @@ |
71 |
|
72 |
my %ddc_datas = (); |
73 |
|
74 |
+sub get_devices_names { |
75 |
+ # |
76 |
+ # Router/Firewall devices from which it can get ip address |
77 |
+ # |
78 |
+ my $devices = ( [ |
79 |
+ [ '2Wire 1701HG Gateway' => '2wire' ], |
80 |
+ [ '3com 3c886a 56k Lan Modem' => '3com-3c886a' ], |
81 |
+ [ '3com OfficeConnect Remote 812' => '3com-oc-remote812' ], |
82 |
+ [ 'Alcatel Speed Touch 510' => 'alcatel-510' ], |
83 |
+ [ 'Alcatel/Thomson SpeedTouch 530' => 'alcatel-530' ], |
84 |
+ [ 'Alcatel Speed Touch Pro' => 'alcatel-stp' ], |
85 |
+ [ 'Allnet 1298' => 'allnet-1298' ], |
86 |
+ [ 'Cayman 3220-H DSL' => 'cayman-3220h' ], |
87 |
+ [ 'D-Link DI-524' => 'dlink-524' ], |
88 |
+ [ 'D-Link DI-604' => 'dlink-604' ], |
89 |
+ [ 'dlink-614' => 'D-Link DI-614+' ], |
90 |
+ [ 'e-tech' => 'E-tech Router' ], |
91 |
+ [ 'elsa-lancom-dsl10' => 'ELSA LanCom DSL/10 DSL FW' ], |
92 |
+ [ 'elsa-lancom-dsl10-ch01' => 'ELSA LanCom DSL/10 DSL FW (isdn ch01)' ], |
93 |
+ [ 'elsa-lancom-dsl10-ch02' => 'ELSA LanCom DSL/10 DSL FW (isdn ch01)' ], |
94 |
+ [ 'linksys' => 'Linksys FW' ], |
95 |
+ [ 'linksys-rv042-wan1' => 'Linksys RV042 Dual Homed Router WAN Port 2' ], |
96 |
+ [ 'linksys-rv042-wan2' => 'Linksys RV042 Dual Homed Router WAN Port 2' ], |
97 |
+ [ 'linksys-ver2' => 'Linksys FW version 2' ], |
98 |
+ [ 'linksys-ver3' => 'Linksys FW version 3' ], |
99 |
+ [ 'linksys-wcg200' => 'Linksys WCG200 FW' ], |
100 |
+ [ 'linksys-wrt854g' => 'Linksys WRT854G FW' ], |
101 |
+ [ 'maxgate-ugate3x00' => 'MaxGate UGATE-3x00 FW' ], |
102 |
+ [ 'netcomm-nb3' => 'NetComm NB3' ], |
103 |
+ [ 'netgear-dg834g' => 'netgear-dg834g' ], |
104 |
+ [ 'netgear-rp614' => 'Netgear RP614 FW' ], |
105 |
+ [ 'netgear-rt3xx' => 'Netgear FW' ], |
106 |
+ [ 'netgear-wgt624' => 'Netgear WGT624' ], |
107 |
+ [ 'netgear-wpn824' => 'Netgear WPN824 FW' ], |
108 |
+ [ 'netopia-r910' => 'Netopia R910 FW' ], |
109 |
+ [ 'olitec-SX200' => 'olitec-SX200' ], |
110 |
+ [ 'rtp300' => 'Linksys RTP300' ], |
111 |
+ [ 'siemens-ss4200' => 'Siemens SpeedStream 4200' ], |
112 |
+ [ 'sitecom-dc202' => 'Sitecom DC-202 FW' ], |
113 |
+ [ 'smc-barricade' => 'SMC Barricade FW' ], |
114 |
+ [ 'smc-barricade-7004vbr' => 'SMC Barricade FW (7004VBR model config)' ], |
115 |
+ [ 'smc-barricade-7401bra' => 'SMC Barricade 7401BRA FW' ], |
116 |
+ [ 'smc-barricade-alt' => 'SMC Barricade FW (alternate config)' ], |
117 |
+ [ 'sohoware-nbg800' => 'SOHOWare BroadGuard NBG800' ], |
118 |
+ [ 'sveasoft' => 'Sveasoft WRT54G/WRT54GS' ], |
119 |
+ [ 'thomson-st536v6' => 'Thomson SpeedTouch 536v6' ], |
120 |
+ [ 'thomson-tg782' => 'Thomson/Technicolor TG782' ], |
121 |
+ [ 'vigor-2200usb' => 'Vigor 2200 USB' ], |
122 |
+ [ 'watchguard-edge-x' => 'Watchguard Edge X FW' ], |
123 |
+ [ 'watchguard-soho' => 'Watchguard SOHO FW' ], |
124 |
+ [ 'westell-6100' => 'Westell C90-610015-06 DSL Router' ], |
125 |
+ [ 'xsense-aero' => 'Xsense Aero' ] |
126 |
+ ] ); |
127 |
+ return $devices; |
128 |
+ |
129 |
+ |
130 |
+ # Automatic loading of the devices from the ddclient program - I can't get this to pass the results successfully to the template |
131 |
+ #my $output = `ddclient -list-devices`; # Run ddclient command to get devices output |
132 |
+ #my @lines; |
133 |
+ #foreach my $line (split /\n/, $output) { |
134 |
+ #$line =~ s/\s+//; # Remove leading whitespace |
135 |
+ #my ($field1, $field2) = split(' ', $line, 2); |
136 |
+ #push @lines, [$field2, $field1]; |
137 |
+ #} |
138 |
+ #return \@lines; # Return a reference to the lines array |
139 |
+} |
140 |
+ |
141 |
+sub get_web_services_names { |
142 |
+ # |
143 |
+ # Web Services from which it can get ip address |
144 |
+ # |
145 |
+ my $webservices = ( [ |
146 |
+ [ 'dyndns-http://checkip.dyndns.org/' => 'dyndns' ], |
147 |
+ [ 'freedns-https://freedns.afraid.org/dynamic/check.php' => 'freedns' ], |
148 |
+ [ 'googledomains-https://domains.google.com/checkip' => 'googledomains' ], |
149 |
+ [ 'he-https://checkip.dns.he.net/' => 'he' ], |
150 |
+ [ 'ip4only.me-https://ip4only.me/api/' => 'ip4only.me' ], |
151 |
+ [ 'ip6only.me-https://ip6only.me/api/' => 'ip6only.me' ], |
152 |
+ [ 'ipify-ipv4-https://api.ipify.org/' => 'ipify-ipv4' ], |
153 |
+ [ 'ipify-ipv6-https://api6.ipify.org/' => 'ipify-ipv6' ], |
154 |
+ [ 'loopia:-https://dns.loopia.se/checkip/checkip.php' => 'loopia' ], |
155 |
+ [ 'myonlineportal-https://myonlineportal.net/checkip' => 'myonlineportal' ], |
156 |
+ [ 'noip-ipv4-http://ip1.dynupdate.no-ip.com/' => 'noip-ipv4' ], |
157 |
+ [ 'noip-ipv6-http://ip1.dynupdate6.no-ip.com/' => 'noip-ipv6' ], |
158 |
+ [ 'nsupdate.info-ipv4-https://ipv4.nsupdate.info/myip' => 'nsupdate.info-ipv4' ], |
159 |
+ [ 'nsupdate.info-ipv6-https://ipv6.nsupdate.info/myip' => 'nsupdate.info-ipv6' ], |
160 |
+ [ 'zoneedit-https://dynamic.zoneedit.com/checkip.html' => 'zoneedit' ] |
161 |
+ ] ); |
162 |
+ return $webservices |
163 |
+ |
164 |
+ #my $output = `ddclient -list-web-services`; # Run ddclient command to get web services output |
165 |
+ #my @lines; |
166 |
+ #foreach my $line (split /\n/, $output) { |
167 |
+ #$line =~ s/\s+//; # Remove leading whitespace |
168 |
+ #my ($field1, $field2) = split(' ', $line, 2); |
169 |
+ #push @lines, [$field2, $field1]; |
170 |
+ #} |
171 |
+ #return \@lines; # Return a reference to the lines array |
172 |
+} |
173 |
+ |
174 |
sub get_dns_labels { |
175 |
# |
176 |
# dns service names |
177 |
+ # Return array with translated results as well. |
178 |
+ # |
179 |
+ # Note that "new" ones willl not have any description / translation, this can be added to /usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient |
180 |
# |
181 |
my $c = shift; |
182 |
- my $Labels = ( |
183 |
- |
184 |
- # v3.11.1 labels |
185 |
- [ |
186 |
- [$c->l('1984') '1984'], |
187 |
- [$c->l('changeip') 'changeip'], |
188 |
- [$c->l('cloudflare') 'cloudflare'], |
189 |
- [$c->l('cloudns') 'cloudns'],, |
190 |
- [$c->l('digitalocean') 'digitalocean'], |
191 |
- [$c->l('dinahosting') 'dinahosting'], |
192 |
- [$c->l('dnsexit2') 'dnsexit2'], |
193 |
- [$c->l('dnsmadeeasy') 'dnsmadeeasy'], |
194 |
- [$c->l('domeneshop') 'domeneshop'], |
195 |
- [$c->l('dondominio') 'dondominio'], |
196 |
- [$c->l('dslreports1') 'dslreports1'], |
197 |
- [$c->l('duckdns') 'duckdns'], |
198 |
- [$c->l('dyndns1') 'dyndns1'], |
199 |
- [$c->l('dyndns2') 'dyndns2'], |
200 |
- [$c->l('easydns') 'easydns'], |
201 |
- [$c->l('enom') 'enom'], |
202 |
- [$c->l('freedns') 'freedns'], |
203 |
- [$c->l('freemyip') 'freemyip'], |
204 |
- [$c->l('gandi') 'gandi'], |
205 |
- [$c->l('godaddy') 'godaddy'], |
206 |
- [$c->l('googledomains') 'googledomains'], |
207 |
- [$c->l('hetzner') 'hetzner'], |
208 |
- [$c->l('infomaniak') 'infomaniak'], |
209 |
- [$c->l('keysystems') 'keysystems'], |
210 |
- [$c->l('mythicdyn') 'mythicdyn'], |
211 |
- [$c->l('namecheap') 'namecheap'], |
212 |
- [$c->l('nfsn') 'nfsn'], |
213 |
- [$c->l('njalla') 'njalla'], |
214 |
- [$c->l('noip') 'noip'], |
215 |
- [$c->l('nsupdate') 'nsupdate'], |
216 |
- [$c->l('ovh') 'ovh'], |
217 |
- [$c->l('porkbun') 'porkbun'], |
218 |
- [$c->l('regfishde') 'regfishde'], |
219 |
- [$c->l('sitelutions') 'sitelutions'], |
220 |
- [$c->l('woima') 'woima'], |
221 |
- [$c->l('yandex') 'yandex'], |
222 |
- [$c->l('zoneedit1') 'zoneedit1'] |
223 |
- ] |
224 |
- # end of v3.11.1 labels |
225 |
+ my $dnsservices = ( [ |
226 |
+ [ $c->l('1984') => '1984' ], |
227 |
+ [ $c->l('changeip') => 'changeip' ], |
228 |
+ [ $c->l('cloudflare') => 'cloudflare' ], |
229 |
+ [ $c->l('cloudns') => 'cloudns' ], |
230 |
+ [ $c->l('digitalocean') => 'digitalocean' ], |
231 |
+ [ $c->l('dinahosting') => 'dinahosting' ], |
232 |
+ [ $c->l('dnsexit') => 'dnsexit' ], |
233 |
+ [ $c->l('dnsmadeeasy') => 'dnsmadeeasy' ], |
234 |
+ [ $c->l('domeneshop') => 'domeneshop' ], |
235 |
+ [ $c->l('dondominio') => 'dondominio' ], |
236 |
+ [ $c->l('dslreports') => 'dslreports' ], |
237 |
+ [ $c->l('duckdns') => 'duckdns' ], |
238 |
+ [ $c->l('dyndns1') => 'dyndns1' ], |
239 |
+ [ $c->l('dyndns2') => 'dyndns2' ], |
240 |
+ [ $c->l('easydns') => 'easydns' ], |
241 |
+ [ $c->l('enom') => 'enom' ], |
242 |
+ [ $c->l('freedns') => 'freedns' ], |
243 |
+ [ $c->l('freemyip') => 'freemyip' ], |
244 |
+ [ $c->l('gandi') => 'gandi' ], |
245 |
+ [ $c->l('godaddy') => 'godaddy' ], |
246 |
+ [ $c->l('googledomains') => 'googledomains' ], |
247 |
+ [ $c->l('hetzner') => 'hetzner' ], |
248 |
+ [ $c->l('infomaniak') => 'infomaniak' ], |
249 |
+ [ $c->l('keysystems') => 'keysystems' ], |
250 |
+ [ $c->l('mythicdyn') => 'mythicdyn' ], |
251 |
+ [ $c->l('namecheap') => 'namecheap' ], |
252 |
+ [ $c->l('nfsn') => 'nfsn' ], |
253 |
+ [ $c->l('njalla') => 'njalla' ], |
254 |
+ [ $c->l('noip') => 'noip' ], |
255 |
+ [ $c->l('nsupdate') => 'nsupdate' ], |
256 |
+ [ $c->l('ovh') => 'ovh' ], |
257 |
+ [ $c->l('porkbun') => 'porkbun' ], |
258 |
+ [ $c->l('regfishde') => 'regfishde' ], |
259 |
+ [ $c->l('sitelutions') => 'sitelutions' ], |
260 |
+ [ $c->l('woima') => 'woima' ], |
261 |
+ [ $c->l('yandex') => 'yandex' ], |
262 |
+ [ $c->l('zoneedit') => 'zoneedit' ] |
263 |
+ ] ); |
264 |
+ return $dnsservices; |
265 |
|
266 |
- |
267 |
- #[ [ $c->l('CUSTOMDNS'), 'CUSTOMDNS' ], |
268 |
- #[ $c->l('DYNDNS1'), 'DYNDNS1' ], |
269 |
- #[ $c->l('DYNDNS2'), 'DYNDNS2' ], |
270 |
- #[ $c->l('DYNDNS3'), 'DYNDNS3' ], |
271 |
- #[ $c->l('ZONEDIT'), 'ZONEDIT' ], |
272 |
- #[ $c->l('EASYDNS'), 'EASYDNS' ], |
273 |
- #[ $c->l('HAMMER'), 'HAMMER' ], |
274 |
- #[ $c->l('DSLREPORTS'), 'DSLREPORTS' ], |
275 |
- #[ $c->l('EURODYNDNS'), 'EURODYNDNS' ], |
276 |
- #[ $c->l('DTDNS'), 'DTDNS' ], |
277 |
- #[ $c->l('LOOPIA'), 'LOOPIA' ], |
278 |
- #[ $c->l('DNSPARK'), 'DNSPARK' ], |
279 |
- #[ $c->l('DYNHOST'), 'DYNHOST' ], |
280 |
- #[ $c->l('NOIP'), 'NOIP' ], |
281 |
- #[ $c->l('CHANGEIP'), 'CHANGEIP' ], |
282 |
- #[ $c->l('NAMECHEAP'), 'NAMECHEAP' ], |
283 |
- #[ $c->l('SPDNS'), 'SPDNS' ], |
284 |
- #[ $c->l('SITELUTIONS'), 'SITELUTIONS' ], |
285 |
- #[ $c->l('FREEDNS'), 'FREEDNS' ], |
286 |
- #[ $c->l('NSUPDATE'), 'NSUPDATE' ], |
287 |
- #[ $c->l('CLOUDFLARE'), 'CLOUDFLARE' ], |
288 |
- #[ $c->l('GOOGLEDOMAINS'), 'GOOGLEDOMAINS' ], |
289 |
- #[ $c->l('DUCKDNS'), 'DUCKDNS' ], |
290 |
- #[ $c->l('FREEMYIP'), 'FREEMYIP' ], |
291 |
- #[ $c->l('WOIMA'), 'WOIMA' ], |
292 |
- #[ $c->l('YANDEX'), 'YANDEX' ], |
293 |
- #[ $c->l('DNSMADEEASY'), 'DNSMADEEASY' ], |
294 |
- #[ $c->l('DONDOMINIO'), 'DONDOMINIO' ], |
295 |
- #[ $c->l('NEARLYFREESPEECH'), 'NFSN' ], |
296 |
- #[ $c->l('OVH'), 'OVH' ], |
297 |
- #[ $c->l('CLOUDNS'), 'CLOUDNS' ] |
298 |
- #] |
299 |
- ); |
300 |
- return $Labels; |
301 |
+ #my $output = `ddclient -list-protocols`; # Run ddclient command and capture the output |
302 |
+ #my @protocols; |
303 |
+ #foreach my $line (split /\n/, $output) { |
304 |
+ #my ($protocol) = $line =~ /\s*(\S+)/; |
305 |
+ #next unless $protocol; # Skip if protocol is empty or contains only whitespace |
306 |
+ #my $custom_value = "$protocol.$c->l($protocol)"; # Additional column value using $c->l(protocol) |
307 |
+ #push @protocols, [$custom_value, $protocol]; |
308 |
+ #} |
309 |
+ #return \@protocols; # Return a reference to the protocols array |
310 |
} |
311 |
|
312 |
sub main { |
313 |
@@ -230,13 +304,15 @@ |
314 |
my $emptycust = ( scalar @FreeDomains == 0 ); |
315 |
|
316 |
my $Labels = ( |
317 |
- [ [ $c->l('SME external Interface'), "smeIF" ], |
318 |
- [ $c->l('SME configuration DB'), "smeCMD" ], |
319 |
- [ $c->l('web'), "web" ], |
320 |
- [ $c->l('Interface'), "if" ], |
321 |
- [ $c->l('IP'), "ip" ], |
322 |
- [ $c->l('Command'), "cmd" ] |
323 |
- ] |
324 |
+ [ |
325 |
+ [ $c->l('SME external Interface') => "smeIF" ], |
326 |
+ [ $c->l('SME configuration DB') => 'smeCMD' ], |
327 |
+ [ $c->l('web') => 'web' ], |
328 |
+ [ $c->l('Router/Firewall') => 'router' ], |
329 |
+ [ $c->l('Interface') => 'if' ], |
330 |
+ [ $c->l('IP') => 'ip' ], |
331 |
+ [ $c->l('Command') => 'cmdv4' ] |
332 |
+ ] |
333 |
); |
334 |
|
335 |
$c->stash( |
336 |
@@ -246,6 +322,9 @@ |
337 |
domains => \@domains, |
338 |
freedomains => \@FreeDomains, |
339 |
methodlabels => $Labels, |
340 |
+ dnslabels => get_dns_labels($c), |
341 |
+ devices => get_devices_names($c), |
342 |
+ webservices => get_web_services_names($c), |
343 |
emptydom => $emptydom, |
344 |
emptycust => $emptycust |
345 |
); |
346 |
@@ -260,6 +339,7 @@ |
347 |
# Called to update the parameters relating to the Ip address of the server |
348 |
# |
349 |
my $c = shift; |
350 |
+ $ddc_datas{"first"} = ''; |
351 |
$ddc_datas{"success"} = pushParams($c); |
352 |
do_display($c); |
353 |
} |
354 |
@@ -269,6 +349,7 @@ |
355 |
#Called to update/delete the ddclient for a specific inbuilt domain |
356 |
# |
357 |
my $c = shift; |
358 |
+ my $title = $c->l("MODIFY_TITLE"); |
359 |
my $retmsg; |
360 |
if ( $c->param("Route") eq "ddclient2" ) { #Route is hidden field |
361 |
$retmsg = performModifyCustom($c); |
362 |
@@ -276,10 +357,11 @@ |
363 |
else { |
364 |
$retmsg = performModifyDomain($c); |
365 |
} |
366 |
+ $ddc_datas{"first"} = ''; |
367 |
if ( $retmsg eq "ok" ) { |
368 |
my $dns = $c->param('dns'); |
369 |
my $domain = $c->param('domainname'); |
370 |
- $ddc_datas{"success"} = $c->l( "ddc_SUCCESSFULLY_MODIFIED", $domain, |
371 |
+ $ddc_datas{"success"} = $c->l( "SUCCESSFULLY_MODIFIED", $domain, |
372 |
$c->l( '' . $dns ) ); |
373 |
do_display( $c, %ddc_datas ); |
374 |
} |
375 |
@@ -296,7 +378,7 @@ |
376 |
# Create custom domain |
377 |
# |
378 |
my $c = shift; |
379 |
- my $title = $c->l("ddc_CREATE_TITLE"); |
380 |
+ my $title = $c->l("CREATE_TITLE"); |
381 |
my $modul = ''; |
382 |
my $trt = "NEW"; |
383 |
|
384 |
@@ -305,18 +387,21 @@ |
385 |
title => $title, |
386 |
modul => $modul, |
387 |
ddc_datas => \%ddc_datas, |
388 |
- dnslabels => get_dns_labels($c) |
389 |
+ dnslabels => get_dns_labels($c), |
390 |
+ devices => get_devices_names($c), |
391 |
+ webservices => get_web_services_names($c) |
392 |
); |
393 |
$c->render( template => 'ddclient' ); |
394 |
} |
395 |
|
396 |
sub do_create_custom_actual { |
397 |
my $c = shift; |
398 |
+ $ddc_datas{"first"} = ''; |
399 |
my $retmsg = performCreateCustom($c); |
400 |
if ( $retmsg eq "ok" ) { |
401 |
my $dns = $c->param('dns'); |
402 |
my $domain = $c->param('domainname'); |
403 |
- $ddc_datas{"success"} = $c->l( "ddc_SUCCESSFULLY_DELETED", $domain, |
404 |
+ $ddc_datas{"success"} = $c->l( "SUCCESSFULLY_DELETED", $domain, |
405 |
$c->l( '' . $dns ) ); |
406 |
do_display( $c, %ddc_datas ); |
407 |
} |
408 |
@@ -334,7 +419,7 @@ |
409 |
# Display delete or modify panel for custom domain |
410 |
# |
411 |
my $c = shift; |
412 |
- my $title = $c->l("ddc_MODIFY_TITLE"); |
413 |
+ my $title = $c->l("MODIFY_TITLE"); |
414 |
my $modul = ''; |
415 |
my $trt = $c->param("trt"); |
416 |
|
417 |
@@ -349,7 +434,9 @@ |
418 |
title => $title, |
419 |
modul => $modul, |
420 |
ddc_datas => \%ddc_datas, |
421 |
- dnslabels => get_dns_labels($c) |
422 |
+ dnslabels => get_dns_labels($c), |
423 |
+ devices => get_devices_names($c), |
424 |
+ webservices => get_web_services_names($c) |
425 |
); |
426 |
$c->render( template => 'ddclient' ); |
427 |
} |
428 |
@@ -360,21 +447,23 @@ |
429 |
# param trt = MOD or DEL |
430 |
# |
431 |
my $c = shift; |
432 |
- my $title = $c->l("ddc_MODIFY_TITLE"); |
433 |
+ my $title = $c->l("MODIFY_TITLE"); |
434 |
my $modul = ''; |
435 |
my $trt = $c->param("trt"); |
436 |
|
437 |
#Extract domain stuff from DB |
438 |
my @results |
439 |
= get_domain_table( $c, $c->param("Domain") ); #Returns just one row |
440 |
- $ddc_datas{"Domain_details"} = $results[0]; |
441 |
|
442 |
+ $ddc_datas{"Domain_details"} = $results[0]; |
443 |
$ddc_datas{'trt'} = $trt; |
444 |
$c->stash( |
445 |
title => $title, |
446 |
modul => $modul, |
447 |
ddc_datas => \%ddc_datas, |
448 |
- dnslabels => get_dns_labels($c) |
449 |
+ dnslabels => get_dns_labels($c), |
450 |
+ devices => get_devices_names($c), |
451 |
+ webservices => get_web_services_names($c) |
452 |
); |
453 |
$c->render( template => 'ddclient' ); |
454 |
} |
455 |
@@ -386,10 +475,11 @@ |
456 |
# |
457 |
my $c = shift; |
458 |
my $route = $c->current_route; |
459 |
- my $title = $c->l("ddc_REMOVE_TITLE"); |
460 |
+ my $title = $c->l("REMOVE_TITLE"); |
461 |
my $modul = ''; |
462 |
my $retmsg = ""; |
463 |
my $domain = $c->param("Domain"); |
464 |
+ $ddc_datas{"first"} = ''; |
465 |
|
466 |
#Delete it and return to front summary panel - depends on route domain or custom |
467 |
if ( $c->param("Route") eq "ddclient2" ) { #Route is hidden field |
468 |
@@ -400,7 +490,7 @@ |
469 |
} |
470 |
|
471 |
if ( $retmsg eq "ok" ) { |
472 |
- $ddc_datas{"success"} = $c->l( "ddc_SUCCESSFULLY_DELETED", $domain, |
473 |
+ $ddc_datas{"success"} = $c->l( "SUCCESSFULLY_DELETED", $domain, |
474 |
$c->l( '' . $c->param("dns") ) ); |
475 |
} |
476 |
else { $ddc_datas{"error"} = $retmsg; } |
477 |
@@ -415,15 +505,16 @@ |
478 |
# |
479 |
my $c = shift; |
480 |
my $route = $c->current_route; |
481 |
- my $title = $c->l("ddc_REMOVE_TITLE"); |
482 |
+ my $title = $c->l("REMOVE_TITLE"); |
483 |
my $modul = ''; |
484 |
my $retmsg = ""; |
485 |
my $domain = $c->param("Domain"); |
486 |
+ $ddc_datas{"first"} = ''; |
487 |
|
488 |
#Delete it and return to front summary panel - depends on route domain or custom |
489 |
$retmsg = performDeleteCustom( $c, $domain ); |
490 |
if ( $retmsg eq "ok" ) { |
491 |
- $ddc_datas{"success"} = $c->l( "ddc_SUCCESSFULLY_DELETED", $domain ); |
492 |
+ $ddc_datas{"success"} = $c->l( "SUCCESSFULLY_DELETED", $domain ); |
493 |
} |
494 |
else { $ddc_datas{"error"} = $retmsg; } |
495 |
do_display( $c, %ddc_datas ); |
496 |
@@ -450,7 +541,7 @@ |
497 |
|
498 |
foreach $domain ( sort @virtualDomains ) { |
499 |
my %properties = $domaindb->get($domain)->props; |
500 |
- my $test = $domaindb->get_prop( $domain, "dns" ) || ''; |
501 |
+ my $test = $domaindb->get($domain) || ''; |
502 |
my %extraprops; |
503 |
if ( $test ne '' ) { |
504 |
%extraprops = $domaindb->get($domain)->props; |
505 |
@@ -567,6 +658,8 @@ |
506 |
my $Extinterface = $ddretrieve->prop('Extinterface') || ''; |
507 |
my $cmd = $ddretrieve->prop('cmd') || ''; |
508 |
my $forceIP = $ddretrieve->prop('ForceIP') || ''; |
509 |
+ my $fwlogin = $ddretrieve->prop('fwlogin') || ''; |
510 |
+ my $fwpassword = $ddretrieve->prop('fwpassword') || ''; |
511 |
my $res = { |
512 |
"ssl" => $ssl, |
513 |
"DeamonUpdate" => $DeamonUpdate, |
514 |
@@ -574,29 +667,43 @@ |
515 |
"Extinterface" => $Extinterface, |
516 |
"cmd" => $cmd, |
517 |
"ForceIP" => $forceIP, |
518 |
- "urlcheckip" => $urlcheckip |
519 |
+ "urlcheckip" => $urlcheckip, |
520 |
+ "FWlogin" => $fwlogin, |
521 |
+ "FWpassword" => $fwpassword |
522 |
}; |
523 |
return $res; |
524 |
} |
525 |
|
526 |
sub pushParams { |
527 |
my $c = shift; |
528 |
- my $DeamonUpdate = $c->param('retrievedeamonupdate'); |
529 |
- my $urlcheckip = $c->param('retrieveurlcheckip'); |
530 |
- my $ssl = $c->param('retrievessl'); |
531 |
+ my $retrievedeamonupdate = $c->param('retrievedeamonupdate'); |
532 |
+ my $retrieverouter = $c->param('retrieverouter'); |
533 |
+ my $retrievewebservice = $c->param('retrievewebservice'); |
534 |
+ my $retrieveurlcheckip = $c->param('retrieveurlcheckip'); |
535 |
+ my $retrievessl = $c->param('retrievessl'); |
536 |
my $retrievemethod = $c->param('retrievemethod'); |
537 |
my $retrieveinterface = $c->param('retrieveinterface'); |
538 |
my $retrievecmd = $c->param('retrievecmd'); |
539 |
my $retrieveip = $c->param('retrieveip'); |
540 |
+ my $retrievefwlogin = $c->param('retrieverouterlogin'); |
541 |
+ my $retrievefwpassword = $c->param('retrieverouterpassword'); |
542 |
+ |
543 |
+ #print 1 / 0; #Crash |
544 |
|
545 |
my $ddclient = $db->get('ddclient'); |
546 |
- $ddclient->set_prop( 'urlcheckip' => $urlcheckip ); |
547 |
- $ddclient->set_prop( 'DeamonUpdate' => $DeamonUpdate ); |
548 |
- $ddclient->set_prop( 'SSL' => $ssl ); |
549 |
+ $ddclient->set_prop( 'urlcheckip' => $retrievewebservice || $retrieveurlcheckip ); |
550 |
+ $ddclient->set_prop( 'DeamonUpdate' => $retrievedeamonupdate ); |
551 |
+ $ddclient->set_prop( 'SSL' => $retrievessl ); |
552 |
$ddclient->set_prop( 'method' => $retrievemethod ); |
553 |
- $ddclient->set_prop( 'Extinterface' => $retrieveinterface ); |
554 |
+ if ($retrievemethod eq 'router') { |
555 |
+ $ddclient->set_prop( 'Extinterface' => $retrieverouter ); |
556 |
+ } else { |
557 |
+ $ddclient->set_prop( 'Extinterface' => $retrieveinterface ); |
558 |
+ } |
559 |
$ddclient->set_prop( 'cmd' => $retrievecmd ); |
560 |
$ddclient->set_prop( 'ForceIP' => $retrieveip ); |
561 |
+ $ddclient->set_prop( 'fwlogin' => $retrievefwlogin ); |
562 |
+ $ddclient->set_prop( 'fwpassword' => $retrievefwpassword ); |
563 |
|
564 |
$domaindb->reload(); |
565 |
|
566 |
@@ -616,7 +723,7 @@ |
567 |
#------------------------------------------------------------ |
568 |
|
569 |
my $domainName = $c->param('domainName'); |
570 |
- if ( $domainName =~ /^([a-zA-Z0-9\-\.]+)$/ ) { |
571 |
+ if ( $domainName =~ /([a-zA-Z0-9\-\.]+)$/ ) { |
572 |
$domainName = $1; |
573 |
} |
574 |
else { |
575 |
@@ -624,7 +731,7 @@ |
576 |
} |
577 |
|
578 |
my $domainLogin = $c->param('login'); |
579 |
- if ( $domainLogin =~ /^([\-\'\w][\-\'\w\s\.\@]*)$/ ) { |
580 |
+ if ( $domainLogin =~ /([\-\'\w][\-\'\w\s\.\@]*)$/ ) { |
581 |
$domainLogin = $1; |
582 |
} |
583 |
else { |
584 |
@@ -632,7 +739,7 @@ |
585 |
} |
586 |
|
587 |
my $domainPassword = $c->param('password'); |
588 |
- if ( $domainPassword =~ /^(.*)$/ ) { |
589 |
+ if ( $domainPassword =~ /(.*)$/ ) { |
590 |
$domainPassword = $1; |
591 |
} |
592 |
else { |
593 |
@@ -646,7 +753,7 @@ |
594 |
|
595 |
my $dns = $c->param('dns'); |
596 |
if ( $dns eq 'CUSTOMDNS' ) { |
597 |
- if ( $customDNS =~ /^([a-zA-Z0-9\-\.]+)$/ ) { |
598 |
+ if ( $customDNS =~ /([a-zA-Z0-9\-\.]+)$/ ) { |
599 |
$customDNS = $1; |
600 |
} |
601 |
else |
602 |
@@ -685,7 +792,7 @@ |
603 |
# Attempt to delete domain |
604 |
#------------------------------------------------------------ |
605 |
|
606 |
- if ( $domain =~ /^([a-zA-Z0-9\-\.]+)$/ ) { |
607 |
+ if ( $domain =~ /([a-zA-Z0-9\-\.]+)$/ ) { |
608 |
$domain = $1; |
609 |
} |
610 |
else { |
611 |
@@ -726,7 +833,7 @@ |
612 |
#------------------------------------------------------------ |
613 |
|
614 |
my $domainName = $c->param('domainName'); |
615 |
- if ( $domainName =~ /^([a-zA-Z0-9\-\.]+)$/ ) { |
616 |
+ if ( $domainName =~ /([a-zA-Z0-9\-\.]+)$/ ) { |
617 |
$domainName = $1; |
618 |
} |
619 |
else { |
620 |
@@ -749,7 +856,7 @@ |
621 |
|
622 |
my $domainDesc = $c->param('desc'); |
623 |
my $domainLogin = $c->param('login'); |
624 |
- if ( $domainLogin =~ /^([\-\'\w][\-\'\w\s\.\@]*)$/ ) { |
625 |
+ if ( $domainLogin =~ /([\-\'\w][\-\'\w\s\.\@]*)$/ ) { |
626 |
$domainLogin = $1; |
627 |
} |
628 |
else { |
629 |
@@ -757,7 +864,7 @@ |
630 |
} |
631 |
|
632 |
my $domainPassword = $c->param('password'); |
633 |
- if ( $domainPassword =~ /^(.*)$/ ) { |
634 |
+ if ( $domainPassword =~ /(.*)$/ ) { |
635 |
$domainPassword = $1; |
636 |
} |
637 |
else { |
638 |
@@ -771,7 +878,7 @@ |
639 |
|
640 |
my $dns = $c->param('dns'); |
641 |
if ( $dns eq 'CUSTOMDNS' ) { |
642 |
- if ( $customDNS =~ /^([a-zA-Z0-9\-\.]+)$/ ) { |
643 |
+ if ( $customDNS =~ /([a-zA-Z0-9\-\.]+)$/ ) { |
644 |
$customDNS = $1; |
645 |
} |
646 |
else { |
647 |
@@ -809,7 +916,7 @@ |
648 |
#------------------------------------------------------------ |
649 |
|
650 |
my $domainName = $c->param('domainName'); |
651 |
- if ( $domainName =~ /^([a-zA-Z0-9\-\.]+)$/ ) { |
652 |
+ if ( $domainName =~ /([a-zA-Z0-9\-\.]+)$/ ) { |
653 |
$domainName = $1; |
654 |
} |
655 |
else { |
656 |
@@ -817,7 +924,7 @@ |
657 |
} |
658 |
|
659 |
my $domainLogin = $c->param('login'); |
660 |
- if ( $domainLogin =~ /^([\-\'\w][\-\'\w\s\.\@]*)$/ ) { |
661 |
+ if ( $domainLogin =~ /([\-\'\w][\-\'\w\s\.\@]*)$/ ) { |
662 |
$domainLogin = $1; |
663 |
} |
664 |
else { |
665 |
@@ -825,7 +932,7 @@ |
666 |
} |
667 |
|
668 |
my $domainPassword = $c->param('password'); |
669 |
- if ( $domainPassword =~ /^(.*)$/ ) { |
670 |
+ if ( $domainPassword =~ /(.*)$/ ) { |
671 |
$domainPassword = $1; |
672 |
} |
673 |
else { |
674 |
@@ -839,7 +946,7 @@ |
675 |
|
676 |
my $dns = $c->param('dns'); |
677 |
if ( $dns eq 'CUSTOMDNS' ) { |
678 |
- if ( $customDNS =~ /^([a-zA-Z0-9\-\.]+)$/ ) { |
679 |
+ if ( $customDNS =~ /([a-zA-Z0-9\-\.]+)$/ ) { |
680 |
$customDNS = $1; |
681 |
} |
682 |
else |
683 |
@@ -878,7 +985,7 @@ |
684 |
# Attempt to delete domain |
685 |
#------------------------------------------------------------ |
686 |
|
687 |
- if ( $domain =~ /^([a-zA-Z0-9\-\.]+)$/ ) { |
688 |
+ if ( $domain =~ /([a-zA-Z0-9\-\.]+)$/ ) { |
689 |
$domain = $1; |
690 |
} |
691 |
else { |
692 |
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 |
693 |
--- 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 |
694 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/lib/SrvMngr/I18N/Modules/Ddclient/en.pm 2023-12-18 09:29:00.000000000 +0000 |
695 |
@@ -80,46 +80,48 @@ |
696 |
'CLOUDNS'=>'CLOUDNS www.cloudns.net', |
697 |
# End of Service descriptions |
698 |
|
699 |
-# v3.11.1 Service descriptions: |
700 |
-"1984" => "https://kb.1984hosting.com/doku.php?id=freedns", |
701 |
-"changeip" => "https://changeip.com", |
702 |
-"cloudflare" => "https://cloudflare.com", |
703 |
-"cloudns" => "https://cloudns.com", |
704 |
-"digitalocean" => "https://digitalocean.com", |
705 |
-"dinahosting" => "https://dinahosting.com", |
706 |
-"dnsexit" => "https://dnsexit.com/", |
707 |
-"dnsmadeeasy" => "https://dnsmadeeasy.com", |
708 |
-"domeneshop" => "https://domeneshop.com", |
709 |
-"dondominio" => "https://dondominio.com", |
710 |
-"dslreports" => "https://www.dslreports.com/", |
711 |
-"duckdns" => "https://duckdns.com", |
712 |
-"dyndns1" => "https://account.dyn.com/", |
713 |
-"dyndns2" => "https://account.dyn.com/", |
714 |
-"easydns" => "https://easydns.com", |
715 |
-"enom" => "https://enom.com", |
716 |
-"freedns" => "http://freedns.com", |
717 |
-"freemyip" => "https://freemyip.com", |
718 |
-"gandi" => "https://gandi.com", |
719 |
-"godaddy" => "https://godaddy.com", |
720 |
-"googledomains" => "https://googledomains.com", |
721 |
-"hetzner" => "https://hetzner.com", |
722 |
-"infomaniak" => "https://infomaniak.com", |
723 |
-"keysystems" => "https://keysystems.com", |
724 |
-"mythicdyn" => "https://www.mythic-beasts.com/support/api/dnsv2/dynamic-dns", |
725 |
-"namecheap" => "https://namecheap.com", |
726 |
-"nfsn" => "http://nfsn.com", |
727 |
-"njalla" => "https://njalla.com", |
728 |
-"noip" => "https://noip.com", |
729 |
-"nsupdate" => "http://nsupdate.com", |
730 |
-"ovh" => "https://ovh.com", |
731 |
-"porkbun" => "https://porkbun.com", |
732 |
-"regfishde" => "regfishde", |
733 |
-"sitelutions" => "https://sitelutions.com", |
734 |
-"woima" => "http://woima.com", |
735 |
-"yandex" => "https://yandex.com", |
736 |
-"zoneedit" => "https://www.zoneedit.com/dynamic-dns/", |
737 |
-# end of v3.11.1 Service descriptions: |
738 |
+# v3.11.x Service descriptions: |
739 |
+"1984" => "1984-https://kb.1984hosting.com/doku.php?id=freedns", |
740 |
+"changeip" => "changeip-https://changeip.com", |
741 |
+"cloudflare" => "cloudflare-https://cloudflare.com", |
742 |
+"cloudns" => "cloudns-https://cloudns.com", |
743 |
+"digitalocean" => "digitalocean-https://digitalocean.com", |
744 |
+"dinahosting" => "dinahosting-https://dinahosting.com", |
745 |
+"dnsexit" => "dnsexit-https://dnsexit.com/", |
746 |
+"dnsmadeeasy" => "dnsmadeeasy-https://dnsmadeeasy.com", |
747 |
+"domeneshop" => "domeneshop-https://domeneshop.com", |
748 |
+"dondominio" => "dondominio-https://dondominio.com", |
749 |
+"dslreports" => "dslreports-https://www.dslreports.com/", |
750 |
+"duckdns" => "duckdns-https://duckdns.com", |
751 |
+"dyndns1" => "dyndns1-https://account.dyn.com/", |
752 |
+"dyndns2" => "dyndns2-https://account.dyn.com/", |
753 |
+"easydns" => "easydns-https://easydns.com", |
754 |
+"enom" => "enom-https://enom.com", |
755 |
+"freedns" => "freedns-http://freedns.com", |
756 |
+"freemyip" => "freemyip-https://freemyip.com", |
757 |
+"gandi" => "gandi-https://gandi.com", |
758 |
+"godaddy" => "godaddy-https://godaddy.com", |
759 |
+"googledomains" => "googledomains-https://googledomains.com", |
760 |
+"hetzner" => "hetzner-https://hetzner.com", |
761 |
+"infomaniak" => "infomaniak-https://infomaniak.com", |
762 |
+"keysystems" => "keysystems-https://keysystems.com", |
763 |
+"mythicdyn" => "mythicdyn-https://www.mythic-beasts.com/support/api/dnsv2/dynamic-dns", |
764 |
+"namecheap" => "namecheap-https://namecheap.com", |
765 |
+"nfsn" => "nfsn-http://nfsn.com", |
766 |
+"njalla" => "njalla-https://njalla.com", |
767 |
+"noip" => "noip-https://noip.com", |
768 |
+"nsupdate" => "nsupdate-http://nsupdate.com", |
769 |
+"ovh" => "ovh-https://ovh.com", |
770 |
+"porkbun" => "porkbun-https://porkbun.com", |
771 |
+"regfishde" => "regfishde-regfishde", |
772 |
+"sitelutions" => "sitelutions-https://sitelutions.com", |
773 |
+"woima" => "woima-http://woima.com", |
774 |
+"yandex" => "yandex-https://yandex.com", |
775 |
+"zoneedit" => "zoneedit-https://www.zoneedit.com/dynamic-dns/", |
776 |
+# end of v3.11.x Service descriptions: |
777 |
|
778 |
+'MODIFY_DESCRIPTION' => "You can modify the Dynamic DNS Service that you use and change the username and password", |
779 |
+'CREATE_DESCRIPTION' => "You can create a domain to use for the Dynamic DNS Service that you use and set or change the username and password", |
780 |
'CUSTOMDNS' => 'Custom Dynamic DNS Provider', |
781 |
'CUSTOMDNS_LABEL' => 'Custom server Address', |
782 |
'CUSTOM_PROTOCOL_LABEL' => 'Custom ddclient Protocol', |
783 |
@@ -136,8 +138,8 @@ |
784 |
'DESCRIPTION_LABEL' => 'Domain description', |
785 |
'SUCCESSFULLY_MODIFIED_RETRIEVE_IP' => 'You have successfully modified the retrieve IP options.', |
786 |
'RETRIEVE_METHOD' => 'Method to retrieve new IP:', |
787 |
-'RETRIEVE_IF' => 'Local interface to get new IP, if selected interface method', |
788 |
-'RETRIEVE_CMD' => 'Command to execute to get IP, if selected command method', |
789 |
+'RETRIEVE_IF' => 'Local interface to get new IP', |
790 |
+'RETRIEVE_CMD' => 'Command to execute to get IP', |
791 |
'SME external Interface' => 'SME external interface', |
792 |
'SME configuration DB' => 'SME configuration DB', |
793 |
'web' => 'Web query', |
794 |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_create_cust.html.ep smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_create_cust.html.ep |
795 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_create_cust.html.ep 2020-06-28 09:57:52.000000000 +0100 |
796 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_create_cust.html.ep 2023-12-18 09:35:00.000000000 +0000 |
797 |
@@ -1,41 +1,43 @@ |
798 |
-<div id='ddc_createcustom'> |
799 |
+<div id='createcustom'> |
800 |
<h2> |
801 |
- %= l 'ddc_CUSTOM_DESCRIPTION' |
802 |
+ %= l 'CREATE_DESCRIPTION' |
803 |
</h2><br> |
804 |
- % my $btn = l('ddc_APPLY'); |
805 |
+ % my $btn = l('APPLY'); |
806 |
%= form_for '/ddclient7' => (method => 'POST') => begin |
807 |
<span class=label> |
808 |
- %=l 'ddc_DOMAIN_NAME_LABEL' |
809 |
+ %=l 'DOMAIN_NAME_LABEL' |
810 |
</span><span class=data> |
811 |
%=text_field 'domainName' |
812 |
</span><br> |
813 |
<span class=label> |
814 |
- %=l 'ddc_DESCRIPTION_LABEL' |
815 |
+ %=l 'DESCRIPTION_LABEL' |
816 |
</span><span class=data> |
817 |
%=text_field 'desc' |
818 |
</span><br> |
819 |
<span class=label> |
820 |
- %=l 'ddc_SERVERS_LABEL' |
821 |
+ %=l 'SERVERS_LABEL' |
822 |
</span><span class=data> |
823 |
%=select_field dns=>$dnslabels |
824 |
</span><br> |
825 |
+<!-- |
826 |
<span class=label> |
827 |
- %=l 'ddc_CUSTOMDNS_LABEL' |
828 |
+ %=l 'CUSTOMDNS_LABEL' |
829 |
</span><span class=data> |
830 |
%=text_field 'customdns' |
831 |
</span><br> |
832 |
<span class=label> |
833 |
- %=l 'ddc_CUSTOM_PROTOCOL_LABEL' |
834 |
+ %=l 'CUSTOM_PROTOCOL_LABEL' |
835 |
</span><span class=data> |
836 |
%=text_field 'customprotocol' |
837 |
</span><br> |
838 |
+--> |
839 |
<span class=label> |
840 |
- %=l 'ddc_NAME_LABEL' |
841 |
+ %=l 'NAME_LABEL' |
842 |
</span><span class=data> |
843 |
%=text_field 'login' |
844 |
</span><br> |
845 |
<span class=label> |
846 |
- %=l 'ddc_PASSWORD_LABEL' |
847 |
+ %=l 'PASSWORD_LABEL' |
848 |
</span><span class=data> |
849 |
%=password_field 'password',id=>"ddcPass" |
850 |
%=label_for show=>"Show" |
851 |
@@ -52,7 +54,7 @@ |
852 |
% end |
853 |
</span><br> |
854 |
<span class=label> |
855 |
- %=l 'ddc_MX' |
856 |
+ %=l 'MX' |
857 |
</span><span class=data> |
858 |
%=text_field 'mx' |
859 |
</span><br> |
860 |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_del.html.ep smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_del.html.ep |
861 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_del.html.ep 2023-11-10 16:11:05.900271940 +0000 |
862 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_del.html.ep 2023-12-18 11:14:00.000000000 +0000 |
863 |
@@ -2,7 +2,7 @@ |
864 |
% my $btn = l('REMOVE'); |
865 |
%= form_for '/ddclient4' => (method => 'POST') => begin |
866 |
<p> |
867 |
- %= $c->render_to_string(inline =>l("ddc_REMOVE_DESCRIPTION",$ddc_datas->{"Domain_details"}->{"Domain"},$ddc_datas->{"Domain_details"}->{"Description"},$c->l($ddc_datas->{"Domain_details"}->{"Publication"}))) |
868 |
+ %= $c->render_to_string(inline =>l("REMOVE_DESCRIPTION",$ddc_datas->{"Domain_details"}->{"Domain"},$ddc_datas->{"Domain_details"}->{"Description"},$c->l($ddc_datas->{"Domain_details"}->{"Publication"}))) |
869 |
</p> |
870 |
% param Domain=>$ddc_datas->{"Domain_details"}->{"Domain"}; |
871 |
%= hidden_field Domain=>$ddc_datas->{"Domain_details"}->{"Domain"} |
872 |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_domainlist.html.ep smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_domainlist.html.ep |
873 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_domainlist.html.ep 2023-11-10 16:11:05.900271940 +0000 |
874 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_domainlist.html.ep 2023-12-18 11:46:00.000000000 +0000 |
875 |
@@ -36,9 +36,12 @@ |
876 |
%= t td => (class => 'sme-border') => $Domain->{"Publication"} |
877 |
<td class = 'sme-border'> |
878 |
<a href="/smanager/ddclient1?trt=MOD&Domain=<%= $Domain->{"Domain"}%>"><%=l 'MODIFY'%></a> |
879 |
- </td><td class = 'sme-border'> |
880 |
- <a href="/smanager/ddclient1?trt=DEL&Domain=<%= $Domain->{"Domain"}%>"><%=l 'REMOVE'%></a> |
881 |
- </td> |
882 |
+ </td> |
883 |
+ % if ($Domain->{"Publication"} ne ""){ |
884 |
+ <td class = 'sme-border'> |
885 |
+ <a href="/smanager/ddclient1?trt=DEL&Domain=<%= $Domain->{"Domain"}%>"><%=l 'REMOVE'%></a> |
886 |
+ </td> |
887 |
+ % } |
888 |
</tr> |
889 |
%} |
890 |
</tbody> |
891 |
diff -urN smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_modify_domain.html.ep smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_modify_domain.html.ep |
892 |
--- smeserver-ddclient-1.3.0.old/root/usr/share/smanager/themes/default/templates/partials/_ddc_modify_domain.html.ep 2023-11-10 16:11:05.901271943 +0000 |
893 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_modify_domain.html.ep 2023-12-18 11:13:00.000000000 +0000 |
894 |
@@ -1,6 +1,11 @@ |
895 |
<div id='modifydomain'> |
896 |
+ <script> |
897 |
+ window.onload = function() { |
898 |
+ SelectInput(); |
899 |
+ }; |
900 |
+ </script> |
901 |
<h2> |
902 |
- %= l 'CUSTOM_DESCRIPTION' |
903 |
+ %= l 'MODIFY_DESCRIPTION' |
904 |
</h2><br> |
905 |
% my $btn = l('APPLY'); |
906 |
%= form_for '/ddclient8' => (method => 'POST') => begin |
907 |
@@ -10,34 +15,60 @@ |
908 |
%= hidden_field domainName => $ddc_datas->{"Domain_details"}->{"Domain"} |
909 |
%= $ddc_datas->{"Domain_details"}->{"Domain"} |
910 |
</span><br><br> |
911 |
+ |
912 |
<span class=label> |
913 |
%=l 'DESCRIPTION_LABEL' |
914 |
</span><span class=data> |
915 |
%= $ddc_datas->{"Domain_details"}->{"Description"} |
916 |
</span><br><br> |
917 |
+ |
918 |
+ % if ($ddc_datas->{"Domain_details"}->{"Content"} ne ""){ |
919 |
<span class=label> |
920 |
%= $ddc_datas->{"Domain_details"}->{"Content"} |
921 |
</span><span class=data> |
922 |
%= $ddc_datas->{"Domain_details"}->{"Content"} |
923 |
</span><br><br> |
924 |
+ % } |
925 |
+ |
926 |
<span class=label> |
927 |
%=l 'SERVERS_LABEL' |
928 |
</span><span class=data> |
929 |
% param dns=>$ddc_datas->{"Domain_details"}->{"dns"}; |
930 |
- %=select_field dns=>$dnslabels |
931 |
+ %=select_field dns=>$dnslabels,id=>"dns",onchange=>"SelectInput()",onload=>"SelectInput()" |
932 |
+ %= javascript begin |
933 |
+ function SelectInput() { |
934 |
+ var method = document.querySelector("#dns"); |
935 |
+ const types=['custom']; |
936 |
+ types.forEach((type)=>{ |
937 |
+ var service = document.querySelector(`.${type}`); |
938 |
+ if (service != null) { |
939 |
+ if (method.value == type) { |
940 |
+ service.style.display = 'block'; |
941 |
+ } else { |
942 |
+ service.style.display = 'none'; |
943 |
+ } |
944 |
+ } |
945 |
+ }) |
946 |
+ } |
947 |
+ %end |
948 |
</span><br> |
949 |
- <span class=label> |
950 |
+ |
951 |
+ %# Dependant on the custom choice from above |
952 |
+ <div class=custom> |
953 |
+ <span class=label custom> |
954 |
%=l 'CUSTOMDNS_LABEL' |
955 |
- </span><span class=data> |
956 |
+ </span><span class=data custom> |
957 |
% param customdns=>$ddc_datas->{"Domain_details"}->{"customdns"}; |
958 |
%=text_field 'customdns' |
959 |
</span><br> |
960 |
- <span class=label> |
961 |
+ <span class=label custom> |
962 |
%=l 'CUSTOM_PROTOCOL_LABEL' |
963 |
- </span><span class=data> |
964 |
+ </span><span class=data custom> |
965 |
% param customprotocol=>$ddc_datas->{"Domain_details"}->{"customprotocol"}; |
966 |
%=text_field 'customprotocol' |
967 |
</span><br> |
968 |
+ </div> |
969 |
+ |
970 |
<span class=label> |
971 |
%=l 'NAME_LABEL' |
972 |
</span><span class=data> |
973 |
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 |
974 |
--- 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 |
975 |
+++ smeserver-ddclient-1.3.0/root/usr/share/smanager/themes/default/templates/partials/_ddc_paramlist.html.ep 2023-12-16 08:19:00.000000000 +0000 |
976 |
@@ -1,4 +1,9 @@ |
977 |
<div id='paramlist'> |
978 |
+ <script> |
979 |
+ window.onload = function() { |
980 |
+ SelectInput(); |
981 |
+ }; |
982 |
+ </script> |
983 |
<h2> |
984 |
%= l 'Params_for_IP_Retrieval' |
985 |
</h2> |
986 |
@@ -7,11 +12,11 @@ |
987 |
<span class=label> |
988 |
%=l 'RETRIEVE_SSL' |
989 |
</span><span class=data> |
990 |
- % param retrievessl=>$ddc_datas->{"params"}->{"ssl"}; |
991 |
+ % param retrievessl=>$ddc_datas->{"params"}->{"ssl"} unless param 'retrievessl'; |
992 |
%=select_field retrievessl=>[['Yes'=>'yes'],['No'=>'no']] |
993 |
</span><br> |
994 |
<span class=label> |
995 |
- %=l 'RETRIEVE_DEAMONUPDATE' |
996 |
+ %=l 'RETRIEVE_DEAMONUPDATE' |
997 |
</span><span class=data> |
998 |
% param retrievedeamonupdate=>$ddc_datas->{"params"}->{"DeamonUpdate"}; |
999 |
%=number_field 'retrievedeamonupdate',min=>0 |
1000 |
@@ -19,33 +24,112 @@ |
1001 |
<span class=label> |
1002 |
%=l 'RETRIEVE_METHOD' |
1003 |
</span><span class=data> |
1004 |
- % param retrievemethod=>$ddc_datas->{"params"}->{"method"}; |
1005 |
- %=select_field retrievemethod=>$methodlabels |
1006 |
- </span><br> |
1007 |
- <span class=label> |
1008 |
- %=l 'RETRIEVE_IF' |
1009 |
- </span><span class=data> |
1010 |
- % param retrieveinterface=>$ddc_datas->{"params"}->{"Extinterface"}; |
1011 |
- %=text_field 'retrieveinterface' |
1012 |
- </span><br> |
1013 |
- <span class=label> |
1014 |
- %=l 'RETRIEVE_CMD' |
1015 |
- </span><span class=data> |
1016 |
- % param retrievecmd=>$ddc_datas->{"params"}->{"cmd"}; |
1017 |
- %=text_field 'retrievecmd' |
1018 |
- </span><br> |
1019 |
- <span class=label> |
1020 |
- %=l 'RETRIEVE_IP' |
1021 |
- </span><span class=data> |
1022 |
- % param retrieveip=>$ddc_datas->{"params"}->{"ForceIP"}; |
1023 |
- %=text_field 'retrieveip' |
1024 |
- </span><br> |
1025 |
- <span class=label> |
1026 |
- %=l 'RETRIEVE_URLCHECKIP' |
1027 |
- </span><span class=data> |
1028 |
- % param retrieveurlcheckip=>$ddc_datas->{"params"}->{"urlcheckip"}; |
1029 |
- %=text_field 'retrieveurlcheckip' |
1030 |
- </span><br> |
1031 |
+ % param retrievemethod=>$ddc_datas->{"params"}->{"method"} unless param 'retrievemethod'; |
1032 |
+ %=select_field retrievemethod=>$methodlabels,id=>"retrievemethod",onchange=>"SelectInput()" |
1033 |
+ %= javascript begin |
1034 |
+ function SelectInput() { |
1035 |
+ var method = document.querySelector("#retrievemethod"); |
1036 |
+ const types=['smeIF','smeCMD','web','router','if','ip','cmdv4','custom']; |
1037 |
+ types.forEach((type)=>{ |
1038 |
+ var service = document.querySelector(`.${type}`); |
1039 |
+ if (service != null) { |
1040 |
+ if (method.value == type) { |
1041 |
+ service.style.display = 'block'; |
1042 |
+ } else { |
1043 |
+ service.style.display = 'none'; |
1044 |
+ } |
1045 |
+ } |
1046 |
+ }) |
1047 |
+ } |
1048 |
+ % end |
1049 |
+ </span><br> |
1050 |
+ %# |
1051 |
+ %# From here the one that is shown depends on the choice above |
1052 |
+ %# |
1053 |
+ %# Only if "router" is chosen |
1054 |
+ <div class = router> |
1055 |
+ <span class=label> |
1056 |
+ %=l 'Router type' |
1057 |
+ </span><span class=data> |
1058 |
+ % param retrieverouter=>$ddc_datas->{"params"}->{"Extinterface"} unless param 'retrieverouter'; |
1059 |
+ %=select_field retrieverouter=>$devices |
1060 |
+ </span><br> |
1061 |
+ %# Need login and password for router |
1062 |
+ <span class=label> |
1063 |
+ %=l 'Router login' |
1064 |
+ </span><span class=data> |
1065 |
+ % param retrieverouterlogin=>$ddc_datas->{"params"}->{"FWLogin"} unless param 'retrieverouter'; |
1066 |
+ %=text_field 'retrieverouterlogin' |
1067 |
+ </span><br> |
1068 |
+ <span class=label> |
1069 |
+ %=l 'Router password' |
1070 |
+ </span><span class=data> |
1071 |
+ % param retrieverouterpassword=>$ddc_datas->{"params"}->{"FWPassword"} unless param 'retrieverouterpassword'; |
1072 |
+ %=password_field 'retrieverouterpassword', id=>'ddcPass' |
1073 |
+ %=label_for show=>"Show" |
1074 |
+ %=check_box show=>1,onclick=>"showPass()",style=>"vertical-align:middle;" |
1075 |
+ %= javascript begin |
1076 |
+ function showPass() { |
1077 |
+ var x = document.getElementById("ddcPass"); |
1078 |
+ if (x.type === "password") { |
1079 |
+ x.type = "text"; |
1080 |
+ } else { |
1081 |
+ x.type = "password"; |
1082 |
+ } |
1083 |
+ } |
1084 |
+ % end |
1085 |
+ </span><br> |
1086 |
+ </div> |
1087 |
+ |
1088 |
+ %# Only if "web" is chosen" |
1089 |
+ <div class = web> |
1090 |
+ <span class=label> |
1091 |
+ %=l 'Web service' |
1092 |
+ </span><span class=data> |
1093 |
+ % param retrievewebservice=>$ddc_datas->{"params"}->{"urlcheckip"} unless param 'retrievewebservice'; |
1094 |
+ %=select_field retrievewebservice=>$webservices |
1095 |
+ </span><br /> |
1096 |
+ </div> |
1097 |
+ |
1098 |
+ %# Only if "Interface" is chosen |
1099 |
+ <div class=if> |
1100 |
+ <span class=label Interface> |
1101 |
+ %=l 'RETRIEVE_IF' |
1102 |
+ </span><span class=data Interface> |
1103 |
+ % param retrieveinterface=>$ddc_datas->{"params"}->{"Extinterface"} unless param 'retrieveinterface'; |
1104 |
+ %=text_field 'retrieveinterface' |
1105 |
+ </span><br> |
1106 |
+ </div> |
1107 |
+ |
1108 |
+ %# Only if "cmd" is chosen |
1109 |
+ <div class=cmdv4> |
1110 |
+ <span class=label cmd> |
1111 |
+ %=l 'RETRIEVE_CMD' |
1112 |
+ </span><span class=data cmd> |
1113 |
+ % param retrievecmd=>$ddc_datas->{"params"}->{"cmdv4"} unless param 'retrievecmd'; |
1114 |
+ %=text_field 'retrievecmd' |
1115 |
+ </span><br> |
1116 |
+ </div> |
1117 |
+ |
1118 |
+ %# Only if "ip" is chosen |
1119 |
+ <div class=ip> |
1120 |
+ <span class=label ip> |
1121 |
+ %=l 'RETRIEVE_IP' |
1122 |
+ </span><span class=data ip> |
1123 |
+ % param retrieveip=>$ddc_datas->{"params"}->{"ForceIP"} unless param 'retrieveip'; |
1124 |
+ %=text_field 'retrieveip' |
1125 |
+ </span><br> |
1126 |
+ </div> |
1127 |
+ |
1128 |
+ %# Only if "custom web service" |
1129 |
+ <div class=custom> |
1130 |
+ <span class=label customweb> |
1131 |
+ %=l 'RETRIEVE_URLCHECKIP' |
1132 |
+ </span><span class=data customweb> |
1133 |
+ % param retrieveurlcheckip=>$ddc_datas->{"params"}->{"urlcheckip"} unless param 'retrieveurlcheckip'; |
1134 |
+ %=text_field 'retrieveurlcheckip' |
1135 |
+ </span><br> |
1136 |
+ </div> |
1137 |
|
1138 |
%= submit_button "$btn", class => 'action' |
1139 |
% end |