|
@@ -247,150 +247,163 @@ function choose_default_domain_name {
|
247
|
247
|
save_configuration_values
|
248
|
248
|
}
|
249
|
249
|
|
|
250
|
+function dynamic_dns_setup {
|
|
251
|
+ data=$(tempfile 2>/dev/null)
|
|
252
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
253
|
+ dialog --backtitle $"Freedombone Configuration" \
|
|
254
|
+ --radiolist $"Choose Dynamic DNS provider:" 40 40 40 \
|
|
255
|
+ 1 dyn.com off \
|
|
256
|
+ 2 freedns.afraid.org on \
|
|
257
|
+ 3 zoneedit.com off \
|
|
258
|
+ 4 no-ip.com off \
|
|
259
|
+ 5 easydns.com off \
|
|
260
|
+ 6 tzo.com off \
|
|
261
|
+ 7 3322.org off \
|
|
262
|
+ 8 dnsomatic.com off \
|
|
263
|
+ 9 dns.he.net off \
|
|
264
|
+ 10 tunnelbroker.net off \
|
|
265
|
+ 11 dynsip.org off \
|
|
266
|
+ 12 sitelutions.com off \
|
|
267
|
+ 13 dnsexit.com off \
|
|
268
|
+ 14 changeip.com off \
|
|
269
|
+ 15 zerigo.com off \
|
|
270
|
+ 16 dhis.org off \
|
|
271
|
+ 17 nsupdate.info off \
|
|
272
|
+ 18 duckdns.org off \
|
|
273
|
+ 19 loopia.com off \
|
|
274
|
+ 20 namecheap.com off \
|
|
275
|
+ 21 domains.google.com off \
|
|
276
|
+ 22 ovh.com off \
|
|
277
|
+ 23 dtdns.com off \
|
|
278
|
+ 24 giradns.com off \
|
|
279
|
+ 25 duiadns.net off \
|
|
280
|
+ 26 ddnss.de off \
|
|
281
|
+ 27 dynv6.com off \
|
|
282
|
+ 28 ipv4.dynv6.com off \
|
|
283
|
+ 29 default@spdyn.de off \
|
|
284
|
+ 30 strato.com off \
|
|
285
|
+ 31 freemyip.com off \
|
|
286
|
+ 32 cloudxns.net off \
|
|
287
|
+ 33 none off 2> $data
|
|
288
|
+ sel=$?
|
|
289
|
+ case $sel in
|
|
290
|
+ 1) exit 1;;
|
|
291
|
+ 255) exit 1;;
|
|
292
|
+ esac
|
|
293
|
+ case $(cat $data) in
|
|
294
|
+ 1) DDNS_PROVIDER="default@www.dyn.com";;
|
|
295
|
+ 2) DDNS_PROVIDER="default@freedns.afraid.org";;
|
|
296
|
+ 3) DDNS_PROVIDER="default@www.zoneedit.com";;
|
|
297
|
+ 4) DDNS_PROVIDER="default@www.no-ip.com";;
|
|
298
|
+ 5) DDNS_PROVIDER="default@www.easydns.com";;
|
|
299
|
+ 6) DDNS_PROVIDER="default@www.tzo.com";;
|
|
300
|
+ 7) DDNS_PROVIDER="default@www.3322.org";;
|
|
301
|
+ 8) DDNS_PROVIDER="default@www.dnsomatic.com";;
|
|
302
|
+ 9) DDNS_PROVIDER="default@dns.he.net";;
|
|
303
|
+ 10) DDNS_PROVIDER="default@www.tunnelbroker.net";;
|
|
304
|
+ 11) DDNS_PROVIDER="default@www.dynsip.org";;
|
|
305
|
+ 12) DDNS_PROVIDER="default@www.sitelutions.com";;
|
|
306
|
+ 13) DDNS_PROVIDER="default@www.dnsexit.com";;
|
|
307
|
+ 14) DDNS_PROVIDER="default@www.changeip.com";;
|
|
308
|
+ 15) DDNS_PROVIDER="default@www.zerigo.com";;
|
|
309
|
+ 16) DDNS_PROVIDER="default@www.dhis.org";;
|
|
310
|
+ 17) DDNS_PROVIDER="default@nsupdate.info";;
|
|
311
|
+ 18) DDNS_PROVIDER="default@duckdns.org";;
|
|
312
|
+ 19) DDNS_PROVIDER="default@www.loopia.com";;
|
|
313
|
+ 20) DDNS_PROVIDER="default@www.namecheap.com";;
|
|
314
|
+ 21) DDNS_PROVIDER="default@domains.google.com";;
|
|
315
|
+ 22) DDNS_PROVIDER="default@www.ovh.com";;
|
|
316
|
+ 23) DDNS_PROVIDER="default@www.dtdns.com";;
|
|
317
|
+ 24) DDNS_PROVIDER="default@giradns.com";;
|
|
318
|
+ 25) DDNS_PROVIDER="default@www.duiadns.net";;
|
|
319
|
+ 26) DDNS_PROVIDER="default@ddnss.de";;
|
|
320
|
+ 27) DDNS_PROVIDER="default@dynv6.com";;
|
|
321
|
+ 28) DDNS_PROVIDER="default@ipv4.dynv6.com";;
|
|
322
|
+ 29) DDNS_PROVIDER="default@spdyn.de";;
|
|
323
|
+ 30) DDNS_PROVIDER="default@www.strato.com";;
|
|
324
|
+ 31) DDNS_PROVIDER="default@freemyip.com";;
|
|
325
|
+ 32) DDNS_PROVIDER="default@www.cloudxns.net";;
|
|
326
|
+ 33) DDNS_PROVIDER="none";;
|
|
327
|
+ 255) exit 1;;
|
|
328
|
+ esac
|
|
329
|
+ save_configuration_values
|
|
330
|
+
|
|
331
|
+ valid_ddns_username=
|
|
332
|
+ valid_ddns_password=
|
|
333
|
+ if [[ "$DDNS_PROVIDER" == "none" ]]; then
|
|
334
|
+ if [ -f /etc/systemd/system/inadyn.service ]; then
|
|
335
|
+ systemctl stop inadyn
|
|
336
|
+ systemctl disable inadyn
|
|
337
|
+ fi
|
|
338
|
+ else
|
|
339
|
+ while [ ! $valid_ddns_username ]
|
|
340
|
+ do
|
|
341
|
+ data=$(tempfile 2>/dev/null)
|
|
342
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
343
|
+ dialog --backtitle $"Freedombone Configuration" \
|
|
344
|
+ --inputbox $"Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
|
345
|
+ sel=$?
|
|
346
|
+ case $sel in
|
|
347
|
+ 0) possible_username=$(cat $data)
|
|
348
|
+ if [ "$possible_username" ]; then
|
|
349
|
+ if [ ${#possible_username} -gt 1 ]; then
|
|
350
|
+ valid_ddns_username=$(cat $data)
|
|
351
|
+ DDNS_USERNAME=$valid_ddns_username
|
|
352
|
+ break;
|
|
353
|
+ fi
|
|
354
|
+ fi
|
|
355
|
+ ;;
|
|
356
|
+ 1) exit 1;;
|
|
357
|
+ 255) exit 1;;
|
|
358
|
+ esac
|
|
359
|
+ done
|
|
360
|
+ save_configuration_values
|
|
361
|
+
|
|
362
|
+ while [ ! $valid_ddns_password ]
|
|
363
|
+ do
|
|
364
|
+ data=$(tempfile 2>/dev/null)
|
|
365
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
366
|
+ dialog --backtitle $"Freedombone Configuration" \
|
|
367
|
+ --clear \
|
|
368
|
+ --insecure \
|
|
369
|
+ --passwordbox $"Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
|
370
|
+ sel=$?
|
|
371
|
+ case $sel in
|
|
372
|
+ 0) possible_password=$(cat $data)
|
|
373
|
+ if [ "$possible_password" ]; then
|
|
374
|
+ if [ ${#possible_password} -gt 1 ]; then
|
|
375
|
+ valid_ddns_password=$(cat $data)
|
|
376
|
+ DDNS_PASSWORD=$valid_ddns_password
|
|
377
|
+ break;
|
|
378
|
+ fi
|
|
379
|
+ fi
|
|
380
|
+ ;;
|
|
381
|
+ 1) exit 1;;
|
|
382
|
+ 255) exit 1;;
|
|
383
|
+ esac
|
|
384
|
+ if [ ${#DDNS_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
|
|
385
|
+ dialog --title $"Password quality check" --msgbox $"The password given was too short. It must be at least $MINIMUM_PASSWORD_LENGTH characters. You may need to change your password on the dynamic DNS provider's web site." 10 40
|
|
386
|
+ DDNS_PASSWORD=""
|
|
387
|
+ fi
|
|
388
|
+ done
|
|
389
|
+ save_configuration_values
|
|
390
|
+ fi
|
|
391
|
+}
|
|
392
|
+
|
250
|
393
|
function choose_dynamic_dns {
|
251
|
|
- if [[ $SYSTEM_TYPE != "mesh"* && $ONION_ONLY == "no" ]]; then
|
|
394
|
+ DDNS_PROVIDER="none"
|
252
|
395
|
|
253
|
|
- data=$(tempfile 2>/dev/null)
|
254
|
|
- trap "rm -f $data" 0 1 2 5 15
|
255
|
|
- dialog --backtitle $"Freedombone Configuration" \
|
256
|
|
- --radiolist $"Choose Dynamic DNS provider:" 40 40 40 \
|
257
|
|
- 1 dyn.com off \
|
258
|
|
- 2 freedns.afraid.org on \
|
259
|
|
- 3 zoneedit.com off \
|
260
|
|
- 4 no-ip.com off \
|
261
|
|
- 5 easydns.com off \
|
262
|
|
- 6 tzo.com off \
|
263
|
|
- 7 3322.org off \
|
264
|
|
- 8 dnsomatic.com off \
|
265
|
|
- 9 dns.he.net off \
|
266
|
|
- 10 tunnelbroker.net off \
|
267
|
|
- 11 dynsip.org off \
|
268
|
|
- 12 sitelutions.com off \
|
269
|
|
- 13 dnsexit.com off \
|
270
|
|
- 14 changeip.com off \
|
271
|
|
- 15 zerigo.com off \
|
272
|
|
- 16 dhis.org off \
|
273
|
|
- 17 nsupdate.info off \
|
274
|
|
- 18 duckdns.org off \
|
275
|
|
- 19 loopia.com off \
|
276
|
|
- 20 namecheap.com off \
|
277
|
|
- 21 domains.google.com off \
|
278
|
|
- 22 ovh.com off \
|
279
|
|
- 23 dtdns.com off \
|
280
|
|
- 24 giradns.com off \
|
281
|
|
- 25 duiadns.net off \
|
282
|
|
- 26 ddnss.de off \
|
283
|
|
- 27 dynv6.com off \
|
284
|
|
- 28 ipv4.dynv6.com off \
|
285
|
|
- 29 default@spdyn.de off \
|
286
|
|
- 30 strato.com off \
|
287
|
|
- 31 freemyip.com off \
|
288
|
|
- 32 cloudxns.net off \
|
289
|
|
- 33 none off 2> $data
|
|
396
|
+ if [[ $SYSTEM_TYPE != "mesh"* && $ONION_ONLY == "no" ]]; then
|
|
397
|
+ dialog --title $"Dynamic DNS" \
|
|
398
|
+ --backtitle $"Freedombone Configuration" \
|
|
399
|
+ --yesno $"\nConfigure a dynamic DNS service?\n\nIf it is already handled by your internet router then select 'no'." 10 50
|
290
|
400
|
sel=$?
|
291
|
401
|
case $sel in
|
292
|
|
- 1) exit 1;;
|
|
402
|
+ 0) dynamic_dns_setup;;
|
293
|
403
|
255) exit 1;;
|
294
|
404
|
esac
|
295
|
|
- case $(cat $data) in
|
296
|
|
- 1) DDNS_PROVIDER="default@www.dyn.com";;
|
297
|
|
- 2) DDNS_PROVIDER="default@freedns.afraid.org";;
|
298
|
|
- 3) DDNS_PROVIDER="default@www.zoneedit.com";;
|
299
|
|
- 4) DDNS_PROVIDER="default@www.no-ip.com";;
|
300
|
|
- 5) DDNS_PROVIDER="default@www.easydns.com";;
|
301
|
|
- 6) DDNS_PROVIDER="default@www.tzo.com";;
|
302
|
|
- 7) DDNS_PROVIDER="default@www.3322.org";;
|
303
|
|
- 8) DDNS_PROVIDER="default@www.dnsomatic.com";;
|
304
|
|
- 9) DDNS_PROVIDER="default@dns.he.net";;
|
305
|
|
- 10) DDNS_PROVIDER="default@www.tunnelbroker.net";;
|
306
|
|
- 11) DDNS_PROVIDER="default@www.dynsip.org";;
|
307
|
|
- 12) DDNS_PROVIDER="default@www.sitelutions.com";;
|
308
|
|
- 13) DDNS_PROVIDER="default@www.dnsexit.com";;
|
309
|
|
- 14) DDNS_PROVIDER="default@www.changeip.com";;
|
310
|
|
- 15) DDNS_PROVIDER="default@www.zerigo.com";;
|
311
|
|
- 16) DDNS_PROVIDER="default@www.dhis.org";;
|
312
|
|
- 17) DDNS_PROVIDER="default@nsupdate.info";;
|
313
|
|
- 18) DDNS_PROVIDER="default@duckdns.org";;
|
314
|
|
- 19) DDNS_PROVIDER="default@www.loopia.com";;
|
315
|
|
- 20) DDNS_PROVIDER="default@www.namecheap.com";;
|
316
|
|
- 21) DDNS_PROVIDER="default@domains.google.com";;
|
317
|
|
- 22) DDNS_PROVIDER="default@www.ovh.com";;
|
318
|
|
- 23) DDNS_PROVIDER="default@www.dtdns.com";;
|
319
|
|
- 24) DDNS_PROVIDER="default@giradns.com";;
|
320
|
|
- 25) DDNS_PROVIDER="default@www.duiadns.net";;
|
321
|
|
- 26) DDNS_PROVIDER="default@ddnss.de";;
|
322
|
|
- 27) DDNS_PROVIDER="default@dynv6.com";;
|
323
|
|
- 28) DDNS_PROVIDER="default@ipv4.dynv6.com";;
|
324
|
|
- 29) DDNS_PROVIDER="default@spdyn.de";;
|
325
|
|
- 30) DDNS_PROVIDER="default@www.strato.com";;
|
326
|
|
- 31) DDNS_PROVIDER="default@freemyip.com";;
|
327
|
|
- 32) DDNS_PROVIDER="default@www.cloudxns.net";;
|
328
|
|
- 33) DDNS_PROVIDER="none";;
|
329
|
|
- 255) exit 1;;
|
330
|
|
- esac
|
331
|
|
- save_configuration_values
|
332
|
|
-
|
333
|
|
- valid_ddns_username=
|
334
|
|
- valid_ddns_password=
|
335
|
|
- if [[ "$DDNS_PROVIDER" == "none" ]]; then
|
336
|
|
- if [ -f /etc/systemd/system/inadyn.service ]; then
|
337
|
|
- systemctl stop inadyn
|
338
|
|
- systemctl disable inadyn
|
339
|
|
- fi
|
340
|
|
- else
|
341
|
|
- while [ ! $valid_ddns_username ]
|
342
|
|
- do
|
343
|
|
- data=$(tempfile 2>/dev/null)
|
344
|
|
- trap "rm -f $data" 0 1 2 5 15
|
345
|
|
- dialog --backtitle $"Freedombone Configuration" \
|
346
|
|
- --inputbox $"Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
347
|
|
- sel=$?
|
348
|
|
- case $sel in
|
349
|
|
- 0) possible_username=$(cat $data)
|
350
|
|
- if [ "$possible_username" ]; then
|
351
|
|
- if [ ${#possible_username} -gt 1 ]; then
|
352
|
|
- valid_ddns_username=$(cat $data)
|
353
|
|
- DDNS_USERNAME=$valid_ddns_username
|
354
|
|
- break;
|
355
|
|
- fi
|
356
|
|
- fi
|
357
|
|
- ;;
|
358
|
|
- 1) exit 1;;
|
359
|
|
- 255) exit 1;;
|
360
|
|
- esac
|
361
|
|
- done
|
362
|
|
- save_configuration_values
|
363
|
|
-
|
364
|
|
- while [ ! $valid_ddns_password ]
|
365
|
|
- do
|
366
|
|
- data=$(tempfile 2>/dev/null)
|
367
|
|
- trap "rm -f $data" 0 1 2 5 15
|
368
|
|
- dialog --backtitle $"Freedombone Configuration" \
|
369
|
|
- --clear \
|
370
|
|
- --insecure \
|
371
|
|
- --passwordbox $"Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
372
|
|
- sel=$?
|
373
|
|
- case $sel in
|
374
|
|
- 0) possible_password=$(cat $data)
|
375
|
|
- if [ "$possible_password" ]; then
|
376
|
|
- if [ ${#possible_password} -gt 1 ]; then
|
377
|
|
- valid_ddns_password=$(cat $data)
|
378
|
|
- DDNS_PASSWORD=$valid_ddns_password
|
379
|
|
- break;
|
380
|
|
- fi
|
381
|
|
- fi
|
382
|
|
- ;;
|
383
|
|
- 1) exit 1;;
|
384
|
|
- 255) exit 1;;
|
385
|
|
- esac
|
386
|
|
- if [ ${#DDNS_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
|
387
|
|
- dialog --title $"Password quality check" --msgbox $"The password given was too short. It must be at least $MINIMUM_PASSWORD_LENGTH characters. You may need to change your password on the dynamic DNS provider's web site." 10 40
|
388
|
|
- DDNS_PASSWORD=""
|
389
|
|
- fi
|
390
|
|
- done
|
391
|
|
- save_configuration_values
|
392
|
|
- fi
|
393
|
405
|
fi
|
|
406
|
+ save_configuration_values
|
394
|
407
|
}
|
395
|
408
|
|
396
|
409
|
function choose_debian_repo {
|