diff --git a/src/freedombone-config b/src/freedombone-config index 53c9d2cf..3719bd8f 100755 --- a/src/freedombone-config +++ b/src/freedombone-config @@ -323,52 +323,53 @@ function choose_default_domain_name { } function dynamic_dns_setup { - data=$(mktemp 2>/dev/null) - dialog --backtitle $"Freedombone Configuration" \ - --radiolist $"Choose Dynamic DNS provider:" 40 40 40 \ - 1 dyn.com off \ - 2 freedns.afraid.org on \ - 3 zoneedit.com off \ - 4 no-ip.com off \ - 5 easydns.com off \ - 6 tzo.com off \ - 7 3322.org off \ - 8 dnsomatic.com off \ - 9 dns.he.net off \ - 10 tunnelbroker.net off \ - 11 dynsip.org off \ - 12 sitelutions.com off \ - 13 dnsexit.com off \ - 14 changeip.com off \ - 15 zerigo.com off \ - 16 dhis.org off \ - 17 nsupdate.info off \ - 18 duckdns.org off \ - 19 loopia.com off \ - 20 namecheap.com off \ - 21 domains.google.com off \ - 22 ovh.com off \ - 23 dtdns.com off \ - 24 giradns.com off \ - 25 duiadns.net off \ - 26 ddnss.de off \ - 27 dynv6.com off \ - 28 ipv4.dynv6.com off \ - 29 default@spdyn.de off \ - 30 strato.com off \ - 31 freemyip.com off \ - 32 cloudxns.net off \ - 33 none off 2> "$data" - sel=$? - case $sel in - 1) rm -f "$data" - exit 1;; - 255) rm -f "$data" - exit 1;; - esac - case $(cat "$data") in - 1) DDNS_PROVIDER="default@www.dyn.com";; - 2) DDNS_PROVIDER="default@freedns.afraid.org";; + W=(1 freedns.afraid.org + 2 dyn.com + 3 zoneedit.com + 4 no-ip.com + 5 easydns.com + 6 tzo.com + 7 3322.org + 8 dnsomatic.com + 9 dns.he.net + 10 tunnelbroker.net + 11 dynsip.org + 12 sitelutions.com + 13 dnsexit.com + 14 changeip.com + 15 zerigo.com + 16 dhis.org + 17 nsupdate.info + 18 duckdns.org + 19 loopia.com + 20 namecheap.com + 21 domains.google.com + 22 ovh.com + 23 dtdns.com + 24 giradns.com + 25 duiadns.net + 26 ddnss.de + 27 dynv6.com + 28 ipv4.dynv6.com + 29 default@spdyn.de + 30 strato.com + 31 freemyip.com + 32 cloudxns.net) + + # shellcheck disable=SC2068 + selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"Dynamic DNS" --menu $"Choose Dynamic DNS provider, or ESC for none:" 24 60 32 "${W[@]}" 3>&2 2>&1 1>&3) + + if [ ! "$selection" ]; then + if [ -f /etc/systemd/system/inadyn.service ]; then + systemctl stop inadyn + systemctl disable inadyn + fi + return + fi + + case $selection in + 1) DDNS_PROVIDER="default@freedns.afraid.org";; + 2) DDNS_PROVIDER="default@www.dyn.com";; 3) DDNS_PROVIDER="default@www.zoneedit.com";; 4) DDNS_PROVIDER="default@www.no-ip.com";; 5) DDNS_PROVIDER="default@www.easydns.com";; @@ -400,10 +401,7 @@ function dynamic_dns_setup { 31) DDNS_PROVIDER="default@freemyip.com";; 32) DDNS_PROVIDER="default@www.cloudxns.net";; 33) DDNS_PROVIDER="none";; - 255) rm -f "$data" - exit 1;; esac - rm -f "$data" save_configuration_values valid_ddns_username= @@ -425,6 +423,7 @@ function dynamic_dns_setup { if [ "$possible_username" ]; then if [ ${#possible_username} -gt 1 ]; then valid_ddns_username=$(cat "$data") + # shellcheck disable=SC2034 DDNS_USERNAME="$valid_ddns_username" rm -f "$data" break; @@ -491,121 +490,118 @@ function choose_dynamic_dns { function choose_debian_repo { if [[ "$MINIMAL_INSTALL" == "no" ]]; then - data=$(mktemp 2>/dev/null) - dialog --backtitle $"Freedombone Configuration" \ - --radiolist $"Where to download Debian packages from:" 25 45 49 \ - 1 $"Australia" off \ - 2 $"Austria" off \ - 3 $"Belarus" off \ - 4 $"Belgium" off \ - 5 $"Bosnia and Herzegovina" off \ - 6 $"Brazil" off \ - 7 $"Bulgaria" off \ - 8 $"Canada" off \ - 9 $"Chile" off \ - 10 $"China" off \ - 11 $"Croatia" off \ - 12 $"Czech Republic" off \ - 13 $"Denmark" off \ - 14 $"El Salvador" off \ - 15 $"Estonia" off \ - 16 $"Finland" off \ - 17 $"France 1" off \ - 18 $"France 2" off \ - 19 $"Germany 1" off \ - 20 $"Germany 2" off \ - 21 $"Greece" off \ - 22 $"Hungary" off \ - 23 $"Iceland" off \ - 24 $"Iran" off \ - 25 $"Ireland" off \ - 26 $"Italy" off \ - 27 $"Japan" off \ - 28 $"Korea" off \ - 29 $"Lithuania" off \ - 30 $"Mexico" off \ - 31 $"Netherlands" off \ - 32 $"New Caledonia" off \ - 33 $"New Zealand" off \ - 34 $"Norway" off \ - 35 $"Poland" off \ - 36 $"Portugal" off \ - 37 $"Romania" off \ - 38 $"Russia" off \ - 39 $"Slovakia" off \ - 40 $"Slovenia" off \ - 41 $"Spain" off \ - 42 $"Sweden" off \ - 43 $"Switzerland" off \ - 44 $"Taiwan" off \ - 45 $"Thailand" off \ - 46 $"Turkey" off \ - 47 $"Ukraine" off \ - 48 $"United Kingdom" off \ - 49 $"United States" on 2> "$data" - sel=$? - case $sel in - 1) rm -f "$data" - exit 1;; - 255) rm -f "$data" - exit 1;; + + W=(1 $"United Kingdom" + 2 $"United States" + 3 $"Australia" + 4 $"Austria" + 5 $"Belarus" + 6 $"Belgium" + 7 $"Bosnia and Herzegovina" + 8 $"Brazil" + 9 $"Bulgaria" + 10 $"Canada" + 11 $"Chile" + 12 $"China" + 13 $"Croatia" + 14 $"Czech Republic" + 15 $"Denmark" + 16 $"El Salvador" + 17 $"Estonia" + 18 $"Finland" + 19 $"France 1" + 20 $"France 2" + 21 $"Germany 1" + 22 $"Germany 2" + 23 $"Greece" + 24 $"Hungary" + 25 $"Iceland" + 26 $"Iran" + 27 $"Ireland" + 28 $"Italy" + 29 $"Japan" + 30 $"Korea" + 31 $"Lithuania" + 32 $"Mexico" + 33 $"Netherlands" + 34 $"New Caledonia" + 35 $"New Zealand" + 36 $"Norway" + 37 $"Poland" + 38 $"Portugal" + 39 $"Romania" + 40 $"Russia" + 41 $"Slovakia" + 42 $"Slovenia" + 43 $"Spain" + 44 $"Sweden" + 45 $"Switzerland" + 46 $"Taiwan" + 47 $"Thailand" + 48 $"Turkey" + 49 $"Ukraine") + + # shellcheck disable=SC2068 + selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"Debian Repo" --menu $"Where to download Debian packages from:" 24 60 49 "${W[@]}" 3>&2 2>&1 1>&3) + + if [ ! "$selection" ]; then + selection='1' + fi + + case $selection in + 1) DEBIAN_REPO='ftp.uk.debian.org';; + 2) DEBIAN_REPO='ftp.us.debian.org';; + 3) DEBIAN_REPO='ftp.au.debian.org';; + 4) DEBIAN_REPO='ftp.at.debian.org';; + 5) DEBIAN_REPO='ftp.by.debian.org';; + 6) DEBIAN_REPO='ftp.be.debian.org';; + 7) DEBIAN_REPO='ftp.ba.debian.org';; + 8) DEBIAN_REPO='ftp.br.debian.org';; + 9) DEBIAN_REPO='ftp.bg.debian.org';; + 10) DEBIAN_REPO='ftp.ca.debian.org';; + 11) DEBIAN_REPO='ftp.cl.debian.org';; + 12) DEBIAN_REPO='ftp.cn.debian.org';; + 13) DEBIAN_REPO='ftp.hr.debian.org';; + 14) DEBIAN_REPO='ftp.cz.debian.org';; + 15) DEBIAN_REPO='ftp.dk.debian.org';; + 16) DEBIAN_REPO='ftp.sv.debian.org';; + 17) DEBIAN_REPO='ftp.ee.debian.org';; + 18) DEBIAN_REPO='ftp.fi.debian.org';; + 19) DEBIAN_REPO='ftp2.fr.debian.org';; + 20) DEBIAN_REPO='ftp.fr.debian.org';; + 21) DEBIAN_REPO='ftp2.de.debian.org';; + 22) DEBIAN_REPO='ftp.de.debian.org';; + 23) DEBIAN_REPO='ftp.gr.debian.org';; + 24) DEBIAN_REPO='ftp.hu.debian.org';; + 25) DEBIAN_REPO='ftp.is.debian.org';; + 26) DEBIAN_REPO='ftp.ir.debian.org';; + 27) DEBIAN_REPO='ftp.ie.debian.org';; + 28) DEBIAN_REPO='ftp.it.debian.org';; + 29) DEBIAN_REPO='ftp.jp.debian.org';; + 30) DEBIAN_REPO='ftp.kr.debian.org';; + 31) DEBIAN_REPO='ftp.lt.debian.org';; + 32) DEBIAN_REPO='ftp.mx.debian.org';; + 33) DEBIAN_REPO='ftp.nl.debian.org';; + 34) DEBIAN_REPO='ftp.nc.debian.org';; + 35) DEBIAN_REPO='ftp.nz.debian.org';; + 36) DEBIAN_REPO='ftp.no.debian.org';; + 37) DEBIAN_REPO='ftp.pl.debian.org';; + 38) DEBIAN_REPO='ftp.pt.debian.org';; + 39) DEBIAN_REPO='ftp.ro.debian.org';; + 40) DEBIAN_REPO='ftp.ru.debian.org';; + 41) DEBIAN_REPO='ftp.sk.debian.org';; + 42) DEBIAN_REPO='ftp.si.debian.org';; + 43) DEBIAN_REPO='ftp.es.debian.org';; + 44) DEBIAN_REPO='ftp.se.debian.org';; + 45) DEBIAN_REPO='ftp.ch.debian.org';; + 46) DEBIAN_REPO='ftp.tw.debian.org';; + 47) DEBIAN_REPO='ftp.th.debian.org';; + 48) DEBIAN_REPO='ftp.tr.debian.org';; + 49) DEBIAN_REPO='ftp.ua.debian.org';; esac - case $(cat "$data") in - 1) DEBIAN_REPO='ftp.au.debian.org';; - 2) DEBIAN_REPO='ftp.at.debian.org';; - 3) DEBIAN_REPO='ftp.by.debian.org';; - 4) DEBIAN_REPO='ftp.be.debian.org';; - 5) DEBIAN_REPO='ftp.ba.debian.org';; - 6) DEBIAN_REPO='ftp.br.debian.org';; - 7) DEBIAN_REPO='ftp.bg.debian.org';; - 8) DEBIAN_REPO='ftp.ca.debian.org';; - 9) DEBIAN_REPO='ftp.cl.debian.org';; - 10) DEBIAN_REPO='ftp.cn.debian.org';; - 11) DEBIAN_REPO='ftp.hr.debian.org';; - 12) DEBIAN_REPO='ftp.cz.debian.org';; - 13) DEBIAN_REPO='ftp.dk.debian.org';; - 14) DEBIAN_REPO='ftp.sv.debian.org';; - 15) DEBIAN_REPO='ftp.ee.debian.org';; - 16) DEBIAN_REPO='ftp.fi.debian.org';; - 17) DEBIAN_REPO='ftp2.fr.debian.org';; - 18) DEBIAN_REPO='ftp.fr.debian.org';; - 19) DEBIAN_REPO='ftp2.de.debian.org';; - 20) DEBIAN_REPO='ftp.de.debian.org';; - 21) DEBIAN_REPO='ftp.gr.debian.org';; - 22) DEBIAN_REPO='ftp.hu.debian.org';; - 23) DEBIAN_REPO='ftp.is.debian.org';; - 24) DEBIAN_REPO='ftp.ir.debian.org';; - 25) DEBIAN_REPO='ftp.ie.debian.org';; - 26) DEBIAN_REPO='ftp.it.debian.org';; - 27) DEBIAN_REPO='ftp.jp.debian.org';; - 28) DEBIAN_REPO='ftp.kr.debian.org';; - 29) DEBIAN_REPO='ftp.lt.debian.org';; - 30) DEBIAN_REPO='ftp.mx.debian.org';; - 31) DEBIAN_REPO='ftp.nl.debian.org';; - 32) DEBIAN_REPO='ftp.nc.debian.org';; - 33) DEBIAN_REPO='ftp.nz.debian.org';; - 34) DEBIAN_REPO='ftp.no.debian.org';; - 35) DEBIAN_REPO='ftp.pl.debian.org';; - 36) DEBIAN_REPO='ftp.pt.debian.org';; - 37) DEBIAN_REPO='ftp.ro.debian.org';; - 38) DEBIAN_REPO='ftp.ru.debian.org';; - 39) DEBIAN_REPO='ftp.sk.debian.org';; - 40) DEBIAN_REPO='ftp.si.debian.org';; - 41) DEBIAN_REPO='ftp.es.debian.org';; - 42) DEBIAN_REPO='ftp.se.debian.org';; - 43) DEBIAN_REPO='ftp.ch.debian.org';; - 44) DEBIAN_REPO='ftp.tw.debian.org';; - 45) DEBIAN_REPO='ftp.th.debian.org';; - 46) DEBIAN_REPO='ftp.tr.debian.org';; - 47) DEBIAN_REPO='ftp.ua.debian.org';; - 48) DEBIAN_REPO='ftp.uk.debian.org';; - 49) DEBIAN_REPO='ftp.us.debian.org';; - 255) rm -f "$data" - exit 1;; - esac - rm -f "$data" save_configuration_values else + # shellcheck disable=SC2034 DEBIAN_REPO='ftp.de.debian.org' fi } @@ -634,6 +630,7 @@ function choose_rng { exit 1;; esac else + # shellcheck disable=SC2034 HWRNG_TYPE="beaglebone" fi rm -f "$data" @@ -664,6 +661,7 @@ function choose_social_key_management { save_configuration_values else # enable for the minimal case + # shellcheck disable=SC2034 ENABLE_SOCIAL_KEY_MANAGEMENT="yes" fi } @@ -775,6 +773,7 @@ function choose_full_name { if [ "$possible_name" ]; then if [ ${#possible_name} -gt 1 ]; then valid_name="$possible_name" + # shellcheck disable=SC2034 MY_NAME="$possible_name" break; fi @@ -885,100 +884,98 @@ do done function interactive_select_language { - data=$(mktemp 2>/dev/null) - dialog --backtitle $"Freedombone Configuration" \ - --radiolist $"Select your language:" 26 40 24 \ - 1 $"Afrikaans" off \ - 2 $"Albanian" off \ - 3 $"Arabic" off \ - 4 $"Basque" off \ - 5 $"Belarusian" off \ - 6 $"Bosnian" off \ - 7 $"Bulgarian" off \ - 8 $"Catalan" off \ - 9 $"Croatian" off \ - 10 $"Chinese (Simplified)" off \ - 11 $"Chinese (Traditional)" off \ - 12 $"Czech" off \ - 13 $"Danish" off \ - 14 $"Dutch" off \ - 15 $"English" on \ - 16 $"English (US)" off \ - 17 $"Estonian" off \ - 18 $"Farsi" off \ - 19 $"Filipino" off \ - 20 $"Finnish" off \ - 21 $"French" off \ - 22 $"French (Canada)" off \ - 23 $"Gaelic" off \ - 24 $"Gallego" off \ - 25 $"Georgian" off \ - 26 $"German" off \ - 27 $"German (Personal)" off \ - 28 $"Greek" off \ - 29 $"Gujarati" off \ - 30 $"Hebrew" off \ - 31 $"Hindi" off \ - 32 $"Hungarian" off \ - 33 $"Icelandic" off \ - 34 $"Indonesian" off \ - 35 $"Italian" off \ - 36 $"Japanese" off \ - 37 $"Kannada" off \ - 38 $"Khmer" off \ - 39 $"Korean" off \ - 40 $"Lao" off \ - 41 $"Lithuanian" off \ - 42 $"Latvian" off \ - 43 $"Malayalam" off \ - 44 $"Malaysian" off \ - 45 $"Maori (Ngai Tahu)" off \ - 46 $"Maori (Waikoto Uni)" off \ - 47 $"Mongolian" off \ - 48 $"Norwegian" off \ - 49 $"Norwegian (Primary)" off \ - 50 $"Nynorsk" off \ - 51 $"Polish" off \ - 52 $"Portuguese" off \ - 53 $"Portuguese (Brazil)" off \ - 54 $"Romanian" off \ - 55 $"Russian" off \ - 56 $"Samoan" off \ - 57 $"Serbian" off \ - 58 $"Slovak" off \ - 59 $"Slovenian" off \ - 60 $"Somali" off \ - 61 $"Spanish (International)" off \ - 62 $"Swedish" off \ - 63 $"Tagalog" off \ - 64 $"Tamil" off \ - 65 $"Thai" off \ - 66 $"Turkish" off \ - 67 $"Ukrainian" off \ - 68 $"Vietnamese" off 2> "$data" - sel=$? - case $sel in - 1) rm -f "$data" - exit 1;; - 255) rm -f "$data" - exit 1;; - esac - case $(cat "$data") in - 1) DEFAULT_LANGUAGE='af_ZA.UTF-8';; - 2) DEFAULT_LANGUAGE='sq_AL.UTF-8';; - 3) DEFAULT_LANGUAGE='ar_SA.UTF-8';; - 4) DEFAULT_LANGUAGE='eu_ES.UTF-8';; - 5) DEFAULT_LANGUAGE='be_BY.UTF-8';; - 6) DEFAULT_LANGUAGE='bs_BA.UTF-8';; - 7) DEFAULT_LANGUAGE='bg_BG.UTF-8';; - 8) DEFAULT_LANGUAGE='ca_ES.UTF-8';; - 9) DEFAULT_LANGUAGE='hr_HR.UTF-8';; - 10) DEFAULT_LANGUAGE='zh_CN.UTF-8';; - 11) DEFAULT_LANGUAGE='zh_TW.UTF-8';; - 12) DEFAULT_LANGUAGE='cs_CZ.UTF-8';; - 13) DEFAULT_LANGUAGE='da_DK.UTF-8';; - 14) DEFAULT_LANGUAGE='nl_NL.UTF-8';; - 15) DEFAULT_LANGUAGE='en_GB.UTF-8';; + W=(1 $"English" + 2 $"Afrikaans" + 3 $"Albanian" + 4 $"Arabic" + 5 $"Basque" + 6 $"Belarusian" + 7 $"Bosnian" + 8 $"Bulgarian" + 9 $"Catalan" + 10 $"Croatian" + 11 $"Chinese (Simplified)" + 12 $"Chinese (Traditional)" + 13 $"Czech" + 14 $"Danish" + 15 $"Dutch" + 16 $"English (US)" + 17 $"Estonian" + 18 $"Farsi" + 19 $"Filipino" + 20 $"Finnish" + 21 $"French" + 22 $"French (Canada)" + 23 $"Gaelic" + 24 $"Gallego" + 25 $"Georgian" + 26 $"German" + 27 $"German (Personal)" + 28 $"Greek" + 29 $"Gujarati" + 30 $"Hebrew" + 31 $"Hindi" + 32 $"Hungarian" + 33 $"Icelandic" + 34 $"Indonesian" + 35 $"Italian" + 36 $"Japanese" + 37 $"Kannada" + 38 $"Khmer" + 39 $"Korean" + 40 $"Lao" + 41 $"Lithuanian" + 42 $"Latvian" + 43 $"Malayalam" + 44 $"Malaysian" + 45 $"Maori (Ngai Tahu)" + 46 $"Maori (Waikoto Uni)" + 47 $"Mongolian" + 48 $"Norwegian" + 49 $"Norwegian (Primary)" + 50 $"Nynorsk" + 51 $"Polish" + 52 $"Portuguese" + 53 $"Portuguese (Brazil)" + 54 $"Romanian" + 55 $"Russian" + 56 $"Samoan" + 57 $"Serbian" + 58 $"Slovak" + 59 $"Slovenian" + 60 $"Somali" + 61 $"Spanish (International)" + 62 $"Swedish" + 63 $"Tagalog" + 64 $"Tamil" + 65 $"Thai" + 66 $"Turkish" + 67 $"Ukrainian" + 68 $"Vietnamese") + + # shellcheck disable=SC2068 + selection=$(dialog --backtitle $"Freedombone Administrator Control Panel" --title $"Language" --menu $"Select your language:" 12 60 4 "${W[@]}" 3>&2 2>&1 1>&3) + + if [ ! "$selection" ]; then + selection='1' + fi + + case $selection in + 1) DEFAULT_LANGUAGE='en_GB.UTF-8';; + 2) DEFAULT_LANGUAGE='af_ZA.UTF-8';; + 3) DEFAULT_LANGUAGE='sq_AL.UTF-8';; + 4) DEFAULT_LANGUAGE='ar_SA.UTF-8';; + 5) DEFAULT_LANGUAGE='eu_ES.UTF-8';; + 6) DEFAULT_LANGUAGE='be_BY.UTF-8';; + 7) DEFAULT_LANGUAGE='bs_BA.UTF-8';; + 8) DEFAULT_LANGUAGE='bg_BG.UTF-8';; + 9) DEFAULT_LANGUAGE='ca_ES.UTF-8';; + 10) DEFAULT_LANGUAGE='hr_HR.UTF-8';; + 11) DEFAULT_LANGUAGE='zh_CN.UTF-8';; + 12) DEFAULT_LANGUAGE='zh_TW.UTF-8';; + 13) DEFAULT_LANGUAGE='cs_CZ.UTF-8';; + 14) DEFAULT_LANGUAGE='da_DK.UTF-8';; + 15) DEFAULT_LANGUAGE='nl_NL.UTF-8';; 16) DEFAULT_LANGUAGE='en_US.UTF-8';; 17) DEFAULT_LANGUAGE='et_EE.UTF-8';; 18) DEFAULT_LANGUAGE='fa_IR.UTF-8';; @@ -1033,7 +1030,6 @@ function interactive_select_language { 67) DEFAULT_LANGUAGE='uk_UA.UTF-8';; 68) DEFAULT_LANGUAGE='vi_VN.UTF-8';; esac - rm -f "$data" save_configuration_values please_wait