Browse Source

Customising interactive installer for the mesh variant

Bob Mottram 10 years ago
parent
commit
50b2b7860c
1 changed files with 156 additions and 150 deletions
  1. 156
    150
      src/freedombone-config

+ 156
- 150
src/freedombone-config View File

487
       7 Social off \
487
       7 Social off \
488
       8 Media off \
488
       8 Media off \
489
       9 Developer off \
489
       9 Developer off \
490
-	  10 Mesh off 2> $data
490
+      10 Mesh off 2> $data
491
   sel=$?
491
   sel=$?
492
   case $sel in
492
   case $sel in
493
       1) exit 1;;
493
       1) exit 1;;
508
   save_configuration_file
508
   save_configuration_file
509
 
509
 
510
   if [[ SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
510
   if [[ SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
511
-	  ENABLE_BATMAN="yes"
512
-	  ENABLE_CJDNS="no"
511
+      ENABLE_BATMAN="yes"
512
+      ENABLE_CJDNS="no"
513
   fi
513
   fi
514
 
514
 
515
   data=$(tempfile 2>/dev/null)
515
   data=$(tempfile 2>/dev/null)
562
   fi
562
   fi
563
   save_configuration_file
563
   save_configuration_file
564
 
564
 
565
-  interactive_gpg
565
+  if [[ SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
566
+      interactive_gpg
566
 
567
 
567
-  data=$(tempfile 2>/dev/null)
568
-  trap "rm -f $data" 0 1 2 5 15
569
-  SOCIAL_KEY_STR="\nDo you wish to enable social key management, otherwise known as \"the unforgettable key\"?\n\nThis means that fragments of your GPG key will be included with any remote backups so that if you later lose your key then it can be reconstructed from your friends servers. If you select \"no\" then you can still do social key management, but offline using physical USB thumb drives, which is more secure but less convenient."
570
-  if [[ $(grep "ENABLE_SOCIAL_KEY_MANAGEMENT" temp.cfg | awk -F '=' '{print $2}') == "yes" ]]; then
571
-      dialog --title "Social Key Management" \
572
-             --backtitle "Freedombone Configuration" \
573
-             --yesno "$SOCIAL_KEY_STR" 15 60
574
-  else
575
-      dialog --title "Social Key Management" \
576
-             --backtitle "Freedombone Configuration" \
577
-             --defaultno \
578
-             --yesno "$SOCIAL_KEY_STR" 15 60
568
+      data=$(tempfile 2>/dev/null)
569
+      trap "rm -f $data" 0 1 2 5 15
570
+      SOCIAL_KEY_STR="\nDo you wish to enable social key management, otherwise known as \"the unforgettable key\"?\n\nThis means that fragments of your GPG key will be included with any remote backups so that if you later lose your key then it can be reconstructed from your friends servers. If you select \"no\" then you can still do social key management, but offline using physical USB thumb drives, which is more secure but less convenient."
571
+      if [[ $(grep "ENABLE_SOCIAL_KEY_MANAGEMENT" temp.cfg | awk -F '=' '{print $2}') == "yes" ]]; then
572
+          dialog --title "Social Key Management" \
573
+                 --backtitle "Freedombone Configuration" \
574
+                 --yesno "$SOCIAL_KEY_STR" 15 60
575
+      else
576
+          dialog --title "Social Key Management" \
577
+                 --backtitle "Freedombone Configuration" \
578
+                 --defaultno \
579
+                 --yesno "$SOCIAL_KEY_STR" 15 60
580
+      fi
581
+      sel=$?
582
+      case $sel in
583
+          0) ENABLE_SOCIAL_KEY_MANAGEMENT="yes";;
584
+          255) exit 1;;
585
+      esac
586
+      save_configuration_file
579
   fi
587
   fi
580
-  sel=$?
581
-  case $sel in
582
-      0) ENABLE_SOCIAL_KEY_MANAGEMENT="yes";;
583
-      255) exit 1;;
584
-  esac
585
-  save_configuration_file
586
 
588
 
587
   data=$(tempfile 2>/dev/null)
589
   data=$(tempfile 2>/dev/null)
588
   trap "rm -f $data" 0 1 2 5 15
590
   trap "rm -f $data" 0 1 2 5 15
804
   esac
806
   esac
805
   save_configuration_file
807
   save_configuration_file
806
 
808
 
807
-  data=$(tempfile 2>/dev/null)
808
-  trap "rm -f $data" 0 1 2 5 15
809
-  dialog --backtitle "Freedombone Configuration" \
810
-      --radiolist "Choose Dynamic DNS provider:" 15 40 14 \
811
-      1 dyndns off \
812
-      2 freedns on \
813
-      3 zoneedit off \
814
-      4 no-ip off \
815
-      5 easydns off \
816
-      6 tzo off \
817
-      7 3322 off \
818
-      8 dnsomatic off \
819
-      9 tunnelbroker off \
820
-      10 dns.he.net off \
821
-      11 dynsip off \
822
-      12 sitelutions off \
823
-      13 dnsexit off \
824
-      14 changeip off 2> $data
825
-  sel=$?
826
-  case $sel in
827
-      1) exit 1;;
828
-      255) exit 1;;
829
-  esac
830
-  case $(cat $data) in
831
-      1) DDNS_PROVIDER="default@dyndns.org";;
832
-      2) DDNS_PROVIDER="default@freedns.afraid.org";;
833
-      3) DDNS_PROVIDER="default@zoneedit.com";;
834
-      4) DDNS_PROVIDER="default@no-ip.com";;
835
-      5) DDNS_PROVIDER="default@easydns.com";;
836
-      6) DDNS_PROVIDER="default@tzo.com";;
837
-      7) DDNS_PROVIDER="dyndns@3322.org";;
838
-      8) DDNS_PROVIDER="default@dnsomatic.com";;
839
-      9) DDNS_PROVIDER="ipv6tb@he.net";;
840
-      10) DDNS_PROVIDER="dyndns@he.net";;
841
-      11) DDNS_PROVIDER="default@dynsip.org";;
842
-      12) DDNS_PROVIDER="default@sitelutions.com";;
843
-      13) DDNS_PROVIDER="default@dnsexit.com";;
844
-      14) DDNS_PROVIDER="default@changeip.com";;
845
-      255) exit 1;;
846
-  esac
847
-  save_configuration_file
809
+  if [[ SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
848
 
810
 
849
-  while [ ! $DDNS_USERNAME ]
850
-  do
851
       data=$(tempfile 2>/dev/null)
811
       data=$(tempfile 2>/dev/null)
852
       trap "rm -f $data" 0 1 2 5 15
812
       trap "rm -f $data" 0 1 2 5 15
853
       dialog --backtitle "Freedombone Configuration" \
813
       dialog --backtitle "Freedombone Configuration" \
854
-          --inputbox "Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
814
+          --radiolist "Choose Dynamic DNS provider:" 15 40 14 \
815
+          1 dyndns off \
816
+          2 freedns on \
817
+          3 zoneedit off \
818
+          4 no-ip off \
819
+          5 easydns off \
820
+          6 tzo off \
821
+          7 3322 off \
822
+          8 dnsomatic off \
823
+          9 tunnelbroker off \
824
+          10 dns.he.net off \
825
+          11 dynsip off \
826
+          12 sitelutions off \
827
+          13 dnsexit off \
828
+          14 changeip off 2> $data
855
       sel=$?
829
       sel=$?
856
       case $sel in
830
       case $sel in
857
-          0) DDNS_USERNAME=$(cat $data);;
858
           1) exit 1;;
831
           1) exit 1;;
859
           255) exit 1;;
832
           255) exit 1;;
860
       esac
833
       esac
861
-  done
862
-  save_configuration_file
863
-
864
-  while [ ! $DDNS_PASSWORD ]
865
-  do
866
-      data=$(tempfile 2>/dev/null)
867
-      trap "rm -f $data" 0 1 2 5 15
868
-      dialog --backtitle "Freedombone Configuration" \
869
-          --clear \
870
-          --insecure \
871
-          --passwordbox "Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
872
-      sel=$?
873
-      case $sel in
874
-          0) DDNS_PASSWORD=$(cat $data);;
875
-          1) exit 1;;
834
+      case $(cat $data) in
835
+          1) DDNS_PROVIDER="default@dyndns.org";;
836
+          2) DDNS_PROVIDER="default@freedns.afraid.org";;
837
+          3) DDNS_PROVIDER="default@zoneedit.com";;
838
+          4) DDNS_PROVIDER="default@no-ip.com";;
839
+          5) DDNS_PROVIDER="default@easydns.com";;
840
+          6) DDNS_PROVIDER="default@tzo.com";;
841
+          7) DDNS_PROVIDER="dyndns@3322.org";;
842
+          8) DDNS_PROVIDER="default@dnsomatic.com";;
843
+          9) DDNS_PROVIDER="ipv6tb@he.net";;
844
+          10) DDNS_PROVIDER="dyndns@he.net";;
845
+          11) DDNS_PROVIDER="default@dynsip.org";;
846
+          12) DDNS_PROVIDER="default@sitelutions.com";;
847
+          13) DDNS_PROVIDER="default@dnsexit.com";;
848
+          14) DDNS_PROVIDER="default@changeip.com";;
876
           255) exit 1;;
849
           255) exit 1;;
877
       esac
850
       esac
878
-      if [ ${#DDNS_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
879
-          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
880
-          DDNS_PASSWORD=""
881
-      fi
882
-  done
883
-  save_configuration_file
851
+      save_configuration_file
852
+
853
+      while [ ! $DDNS_USERNAME ]
854
+      do
855
+          data=$(tempfile 2>/dev/null)
856
+          trap "rm -f $data" 0 1 2 5 15
857
+          dialog --backtitle "Freedombone Configuration" \
858
+              --inputbox "Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
859
+          sel=$?
860
+          case $sel in
861
+              0) DDNS_USERNAME=$(cat $data);;
862
+              1) exit 1;;
863
+              255) exit 1;;
864
+          esac
865
+      done
866
+      save_configuration_file
867
+
868
+      while [ ! $DDNS_PASSWORD ]
869
+      do
870
+          data=$(tempfile 2>/dev/null)
871
+          trap "rm -f $data" 0 1 2 5 15
872
+          dialog --backtitle "Freedombone Configuration" \
873
+              --clear \
874
+              --insecure \
875
+              --passwordbox "Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
876
+          sel=$?
877
+          case $sel in
878
+              0) DDNS_PASSWORD=$(cat $data);;
879
+              1) exit 1;;
880
+              255) exit 1;;
881
+          esac
882
+          if [ ${#DDNS_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
883
+              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
884
+              DDNS_PASSWORD=""
885
+          fi
886
+      done
887
+      save_configuration_file
888
+  fi
884
 
889
 
885
   while [ ! $MY_NAME ]
890
   while [ ! $MY_NAME ]
886
   do
891
   do
1236
       save_configuration_file
1241
       save_configuration_file
1237
   fi
1242
   fi
1238
 
1243
 
1239
-  DEFAULT_DOMAIN_DETAILS_COMPLETE=
1240
-  while [ ! $DEFAULT_DOMAIN_DETAILS_COMPLETE ]
1241
-  do
1242
-      data=$(tempfile 2>/dev/null)
1243
-      trap "rm -f $data" 0 1 2 5 15
1244
-      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
1245
-          dialog --backtitle "Freedombone Configuration" \
1246
-                 --title "Default Domain" \
1247
-                 --form "\nWhich domain name should your email/XMPP/IRC/VoIP be associated with?" 11 55 3 \
1248
-                 "Domain:" 1 1 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
1249
-                 "Code:" 2 1 "$(grep 'DEFAULT_DOMAIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
1250
-                 2> $data
1251
-          sel=$?
1252
-          case $sel in
1253
-              1) exit 1;;
1254
-              255) exit 1;;
1255
-          esac
1256
-          DEFAULT_DOMAIN_NAME=$(cat $data | sed -n 1p)
1257
-          DEFAULT_DOMAIN_CODE=$(cat $data | sed -n 2p)
1244
+  if [[ SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
1245
+      DEFAULT_DOMAIN_DETAILS_COMPLETE=
1246
+      while [ ! $DEFAULT_DOMAIN_DETAILS_COMPLETE ]
1247
+      do
1248
+          data=$(tempfile 2>/dev/null)
1249
+          trap "rm -f $data" 0 1 2 5 15
1250
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
1251
+              dialog --backtitle "Freedombone Configuration" \
1252
+                     --title "Default Domain" \
1253
+                     --form "\nWhich domain name should your email/XMPP/IRC/VoIP be associated with?" 11 55 3 \
1254
+                     "Domain:" 1 1 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
1255
+                     "Code:" 2 1 "$(grep 'DEFAULT_DOMAIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
1256
+                     2> $data
1257
+              sel=$?
1258
+              case $sel in
1259
+                  1) exit 1;;
1260
+                  255) exit 1;;
1261
+              esac
1262
+              DEFAULT_DOMAIN_NAME=$(cat $data | sed -n 1p)
1263
+              DEFAULT_DOMAIN_CODE=$(cat $data | sed -n 2p)
1264
+              if [ $DEFAULT_DOMAIN_NAME ]; then
1265
+                  if [ ${#DEFAULT_DOMAIN_CODE} -lt 30 ]; then
1266
+                      DEFAULT_DOMAIN_NAME=
1267
+                      dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
1268
+                  fi
1269
+              fi
1270
+          else
1271
+              dialog --backtitle "Freedombone Configuration" \
1272
+                  --inputbox "Which domain name should your email/XMPP/IRC/VoIP be associated with?" 10 45 \
1273
+                  "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
1274
+              sel=$?
1275
+              case $sel in
1276
+                  0) DEFAULT_DOMAIN_NAME=$(cat $data);;
1277
+                  1) exit 1;;
1278
+                  255) exit 1;;
1279
+              esac
1280
+          fi
1258
           if [ $DEFAULT_DOMAIN_NAME ]; then
1281
           if [ $DEFAULT_DOMAIN_NAME ]; then
1259
-              if [ ${#DEFAULT_DOMAIN_CODE} -lt 30 ]; then
1282
+              TEST_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME
1283
+              validate_domain_name
1284
+              if [[ $TEST_DOMAIN_NAME != $DEFAULT_DOMAIN_NAME ]]; then
1260
                   DEFAULT_DOMAIN_NAME=
1285
                   DEFAULT_DOMAIN_NAME=
1261
-                  dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
1286
+                  dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
1287
+              else
1288
+                  DEFAULT_DOMAIN_DETAILS_COMPLETE="yes"
1262
               fi
1289
               fi
1263
           fi
1290
           fi
1264
-      else
1291
+      done
1292
+      save_configuration_file
1293
+
1294
+      while [ ${#MY_EMAIL_ADDRESS} -lt 5 ]
1295
+      do
1296
+          EMAIL_ADDRESS=$(grep 'MY_EMAIL_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1297
+          if [ ! $EMAIL_ADDRESS ]; then
1298
+              EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
1299
+          fi
1300
+          if [ ${#MY_EMAIL_ADDRESS} -lt 5 ]; then
1301
+              EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
1302
+          fi
1303
+
1304
+          data=$(tempfile 2>/dev/null)
1305
+          trap "rm -f $data" 0 1 2 5 15
1265
           dialog --backtitle "Freedombone Configuration" \
1306
           dialog --backtitle "Freedombone Configuration" \
1266
-              --inputbox "Which domain name should your email/XMPP/IRC/VoIP be associated with?" 10 45 \
1267
-              "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
1307
+              --inputbox "Your email address" 10 30 "$EMAIL_ADDRESS" 2> $data
1268
           sel=$?
1308
           sel=$?
1269
           case $sel in
1309
           case $sel in
1270
-              0) DEFAULT_DOMAIN_NAME=$(cat $data);;
1310
+              0) MY_EMAIL_ADDRESS=$(cat $data);;
1271
               1) exit 1;;
1311
               1) exit 1;;
1272
               255) exit 1;;
1312
               255) exit 1;;
1273
           esac
1313
           esac
1274
-      fi
1275
-      if [ $DEFAULT_DOMAIN_NAME ]; then
1276
-          TEST_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME
1277
-          validate_domain_name
1278
-          if [[ $TEST_DOMAIN_NAME != $DEFAULT_DOMAIN_NAME ]]; then
1279
-              DEFAULT_DOMAIN_NAME=
1280
-              dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
1281
-          else
1282
-              DEFAULT_DOMAIN_DETAILS_COMPLETE="yes"
1283
-          fi
1284
-      fi
1285
-  done
1286
-  save_configuration_file
1287
-
1288
-  while [ ${#MY_EMAIL_ADDRESS} -lt 5 ]
1289
-  do
1290
-      EMAIL_ADDRESS=$(grep 'MY_EMAIL_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1291
-      if [ ! $EMAIL_ADDRESS ]; then
1292
-          EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
1293
-      fi
1294
-      if [ ${#MY_EMAIL_ADDRESS} -lt 5 ]; then
1295
-          EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
1296
-      fi
1297
-
1298
-      data=$(tempfile 2>/dev/null)
1299
-      trap "rm -f $data" 0 1 2 5 15
1300
-      dialog --backtitle "Freedombone Configuration" \
1301
-          --inputbox "Your email address" 10 30 "$EMAIL_ADDRESS" 2> $data
1302
-      sel=$?
1303
-      case $sel in
1304
-          0) MY_EMAIL_ADDRESS=$(cat $data);;
1305
-          1) exit 1;;
1306
-          255) exit 1;;
1307
-      esac
1308
-  done
1309
-
1310
-  save_configuration_file
1314
+      done
1315
+      save_configuration_file
1316
+  fi
1311
 
1317
 
1312
   # delete the temporary configuration file
1318
   # delete the temporary configuration file
1313
   if [ -f temp.cfg ]; then
1319
   if [ -f temp.cfg ]; then