|
@@ -38,7 +38,7 @@ export TEXTDOMAIN=${PROJECT_NAME}-config
|
38
|
38
|
export TEXTDOMAINDIR="/usr/share/locale"
|
39
|
39
|
|
40
|
40
|
# Web site
|
41
|
|
-FREEDOMBONE_WEBSITE="https://freedombone.net or http://4fvfozz6g3zmvf76.onion"
|
|
41
|
+FREEDOMBONE_WEBSITE="https://freedombone.net or http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion"
|
42
|
42
|
|
43
|
43
|
# Minimum number of characters in a password
|
44
|
44
|
MINIMUM_PASSWORD_LENGTH=$(grep 'MINIMUM_PASSWORD_LENGTH=' "/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-passwords" | head -n 1 | awk -F '=' '{print $2}')
|
|
@@ -184,7 +184,7 @@ function choose_social_instance_domain_name {
|
184
|
184
|
while [ ! $DEFAULT_DOMAIN_DETAILS_COMPLETE ]
|
185
|
185
|
do
|
186
|
186
|
data=$(mktemp 2>/dev/null)
|
187
|
|
- if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
|
|
187
|
+ if [[ "$DDNS_PROVIDER" == "default@freedns.afraid.org" ]]; then
|
188
|
188
|
dialog --backtitle $"Freedombone Configuration" \
|
189
|
189
|
--title $"Instance domain" \
|
190
|
190
|
--form $"\\nEnter your instance domain name and its FreeDNS code:" 11 55 3 \
|
|
@@ -247,9 +247,9 @@ function choose_default_domain_name {
|
247
|
247
|
while [ ! $DEFAULT_DOMAIN_DETAILS_COMPLETE ]
|
248
|
248
|
do
|
249
|
249
|
data=$(mktemp 2>/dev/null)
|
250
|
|
- if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
|
|
250
|
+ if [[ "$DDNS_PROVIDER" == "default@freedns.afraid.org" ]]; then
|
251
|
251
|
dialog --backtitle $"Freedombone Configuration" \
|
252
|
|
- --title $"Your main domain name" \
|
|
252
|
+ --title $"Your main domain name on FreeDNS" \
|
253
|
253
|
--form $"\nWhich domain name should your email/XMPP/IRC/Mumble be associated with?" 13 55 5 \
|
254
|
254
|
$"Domain:" 1 1 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 24 33 40 \
|
255
|
255
|
$"Code:" 2 1 "$(grep 'DEFAULT_DOMAIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 24 33 255 \
|
|
@@ -320,159 +320,6 @@ function choose_default_domain_name {
|
320
|
320
|
save_configuration_values
|
321
|
321
|
}
|
322
|
322
|
|
323
|
|
-function dynamic_dns_setup {
|
324
|
|
- W=(1 freedns.afraid.org
|
325
|
|
- 2 dyn.com
|
326
|
|
- 3 zoneedit.com
|
327
|
|
- 4 no-ip.com
|
328
|
|
- 5 easydns.com
|
329
|
|
- 6 dnsomatic.com
|
330
|
|
- 7 dns.he.net
|
331
|
|
- 8 tunnelbroker.net
|
332
|
|
- 9 sitelutions.com
|
333
|
|
- 10 dnsexit.com
|
334
|
|
- 11 changeip.com
|
335
|
|
- 12 zerigo.com
|
336
|
|
- 13 dhis.org
|
337
|
|
- 14 nsupdate.info
|
338
|
|
- 15 loopia.com
|
339
|
|
- 16 namecheap.com
|
340
|
|
- 17 ovh.com
|
341
|
|
- 18 dtdns.com
|
342
|
|
- 19 giradns.com
|
343
|
|
- 20 duiadns.net
|
344
|
|
- 21 ddnss.de
|
345
|
|
- 22 dynv6.com
|
346
|
|
- 23 ipv4.dynv6.com
|
347
|
|
- 24 spdyn.de
|
348
|
|
- 25 freemyip.com
|
349
|
|
- 26 cloudxns.net)
|
350
|
|
-
|
351
|
|
- # shellcheck disable=SC2068
|
352
|
|
- selection=$(dialog --backtitle $"Freedombone Configuration" --title $"Dynamic DNS" --menu $"Choose Dynamic DNS provider, or ESC for none:" 24 60 32 "${W[@]}" 3>&2 2>&1 1>&3)
|
353
|
|
-
|
354
|
|
- if [ ! "$selection" ]; then
|
355
|
|
- if [ -f /etc/systemd/system/inadyn.service ]; then
|
356
|
|
- systemctl stop inadyn
|
357
|
|
- systemctl disable inadyn
|
358
|
|
- fi
|
359
|
|
- return
|
360
|
|
- fi
|
361
|
|
-
|
362
|
|
- case $selection in
|
363
|
|
- 1) DDNS_PROVIDER="default@freedns.afraid.org";;
|
364
|
|
- 2) DDNS_PROVIDER="default@www.dyn.com";;
|
365
|
|
- 3) DDNS_PROVIDER="default@www.zoneedit.com";;
|
366
|
|
- 4) DDNS_PROVIDER="default@www.no-ip.com";;
|
367
|
|
- 5) DDNS_PROVIDER="default@www.easydns.com";;
|
368
|
|
- 6) DDNS_PROVIDER="default@www.dnsomatic.com";;
|
369
|
|
- 7) DDNS_PROVIDER="default@dns.he.net";;
|
370
|
|
- 8) DDNS_PROVIDER="default@www.tunnelbroker.net";;
|
371
|
|
- 9) DDNS_PROVIDER="default@www.sitelutions.com";;
|
372
|
|
- 10) DDNS_PROVIDER="default@www.dnsexit.com";;
|
373
|
|
- 11) DDNS_PROVIDER="default@www.changeip.com";;
|
374
|
|
- 12) DDNS_PROVIDER="default@www.zerigo.com";;
|
375
|
|
- 13) DDNS_PROVIDER="default@www.dhis.org";;
|
376
|
|
- 14) DDNS_PROVIDER="default@nsupdate.info";;
|
377
|
|
- 15) DDNS_PROVIDER="default@www.loopia.com";;
|
378
|
|
- 16) DDNS_PROVIDER="default@www.namecheap.com";;
|
379
|
|
- 17) DDNS_PROVIDER="default@www.ovh.com";;
|
380
|
|
- 18) DDNS_PROVIDER="default@www.dtdns.com";;
|
381
|
|
- 19) DDNS_PROVIDER="default@giradns.com";;
|
382
|
|
- 20) DDNS_PROVIDER="default@www.duiadns.net";;
|
383
|
|
- 21) DDNS_PROVIDER="default@ddnss.de";;
|
384
|
|
- 22) DDNS_PROVIDER="default@dynv6.com";;
|
385
|
|
- 23) DDNS_PROVIDER="default@ipv4.dynv6.com";;
|
386
|
|
- 24) DDNS_PROVIDER="default@spdyn.de";;
|
387
|
|
- 25) DDNS_PROVIDER="default@freemyip.com";;
|
388
|
|
- 26) DDNS_PROVIDER="default@www.cloudxns.net";;
|
389
|
|
- esac
|
390
|
|
- save_configuration_values
|
391
|
|
-
|
392
|
|
- valid_ddns_username=
|
393
|
|
- valid_ddns_password=
|
394
|
|
- if [[ "$DDNS_PROVIDER" == "none" ]]; then
|
395
|
|
- if [ -f /etc/systemd/system/inadyn.service ]; then
|
396
|
|
- systemctl stop inadyn
|
397
|
|
- systemctl disable inadyn
|
398
|
|
- fi
|
399
|
|
- else
|
400
|
|
- while [ ! $valid_ddns_username ]
|
401
|
|
- do
|
402
|
|
- data=$(mktemp 2>/dev/null)
|
403
|
|
- dialog --backtitle $"Freedombone Configuration" \
|
404
|
|
- --inputbox $"Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> "$data"
|
405
|
|
- sel=$?
|
406
|
|
- case $sel in
|
407
|
|
- 0) possible_username=$(cat "$data")
|
408
|
|
- if [ "$possible_username" ]; then
|
409
|
|
- if [ ${#possible_username} -gt 1 ]; then
|
410
|
|
- valid_ddns_username=$(cat "$data")
|
411
|
|
- # shellcheck disable=SC2034
|
412
|
|
- DDNS_USERNAME="$valid_ddns_username"
|
413
|
|
- rm -f "$data"
|
414
|
|
- break;
|
415
|
|
- fi
|
416
|
|
- fi
|
417
|
|
- ;;
|
418
|
|
- 1) rm -f "$data"
|
419
|
|
- exit 1;;
|
420
|
|
- 255) rm -f "$data"
|
421
|
|
- exit 1;;
|
422
|
|
- esac
|
423
|
|
- rm -f "$data"
|
424
|
|
- done
|
425
|
|
- save_configuration_values
|
426
|
|
-
|
427
|
|
- while [ ! $valid_ddns_password ]
|
428
|
|
- do
|
429
|
|
- data=$(mktemp 2>/dev/null)
|
430
|
|
- dialog --backtitle $"Freedombone Configuration" \
|
431
|
|
- --clear \
|
432
|
|
- --insecure \
|
433
|
|
- --passwordbox $"Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> "$data"
|
434
|
|
- sel=$?
|
435
|
|
- case $sel in
|
436
|
|
- 0) possible_password=$(cat "$data")
|
437
|
|
- if [ "$possible_password" ]; then
|
438
|
|
- if [ ${#possible_password} -gt 1 ]; then
|
439
|
|
- valid_ddns_password=$(cat "$data")
|
440
|
|
- DDNS_PASSWORD=$valid_ddns_password
|
441
|
|
- break;
|
442
|
|
- fi
|
443
|
|
- fi
|
444
|
|
- ;;
|
445
|
|
- 1) rm -f "$data"
|
446
|
|
- exit 1;;
|
447
|
|
- 255) rm -f "$data"
|
448
|
|
- exit 1;;
|
449
|
|
- esac
|
450
|
|
- rm -f "$data"
|
451
|
|
- if [ ${#DDNS_PASSWORD} -lt "$MINIMUM_PASSWORD_LENGTH" ]; then
|
452
|
|
- 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
|
453
|
|
- DDNS_PASSWORD=""
|
454
|
|
- fi
|
455
|
|
- done
|
456
|
|
- save_configuration_values
|
457
|
|
- fi
|
458
|
|
-}
|
459
|
|
-
|
460
|
|
-function choose_dynamic_dns {
|
461
|
|
- DDNS_PROVIDER="none"
|
462
|
|
-
|
463
|
|
- if [[ "$SYSTEM_TYPE" != "mesh"* && "$ONION_ONLY" == "no" ]]; then
|
464
|
|
- dialog --title $"Dynamic DNS" \
|
465
|
|
- --backtitle $"Freedombone Configuration" \
|
466
|
|
- --yesno $"\\nConfigure a dynamic DNS service?\\n\\nIf it is already handled by your internet router then select 'no'." 10 50
|
467
|
|
- sel=$?
|
468
|
|
- case $sel in
|
469
|
|
- 0) dynamic_dns_setup;;
|
470
|
|
- 255) exit 1;;
|
471
|
|
- esac
|
472
|
|
- fi
|
473
|
|
- save_configuration_values
|
474
|
|
-}
|
475
|
|
-
|
476
|
323
|
function choose_debian_repo {
|
477
|
324
|
if [[ "$MINIMAL_INSTALL" == "no" ]]; then
|
478
|
325
|
|
|
@@ -1100,7 +947,12 @@ function interactive_config {
|
1100
|
947
|
choose_rng
|
1101
|
948
|
choose_debian_repo
|
1102
|
949
|
"${PROJECT_NAME}-wifi" --networksinteractive "$WIFI_NETWORKS_FILE"
|
1103
|
|
- choose_dynamic_dns
|
|
950
|
+
|
|
951
|
+ "${PROJECT_NAME}-ddns"
|
|
952
|
+ read_config_param DDNS_PROVIDER
|
|
953
|
+ read_config_param DDNS_USERNAME
|
|
954
|
+ read_config_param DDNS_PASSWORD
|
|
955
|
+
|
1104
|
956
|
choose_default_domain_name
|
1105
|
957
|
choose_email_address
|
1106
|
958
|
interactive_key_recovery
|