Pārlūkot izejas kodu

Split mesh installs into two categories

Bob Mottram 10 gadus atpakaļ
vecāks
revīzija
a7ae622535
2 mainītis faili ar 74 papildinājumiem un 28 dzēšanām
  1. 8
    0
      src/freedombone
  2. 66
    28
      src/freedombone-config

+ 8
- 0
src/freedombone Parādīt failu

507
           exit 63935
507
           exit 63935
508
       fi
508
       fi
509
   fi
509
   fi
510
+  if [ -f /tmp/meshuserdevice ]; then
511
+      rm -f /tmp/meshuserdevice
512
+  fi
510
 
513
 
511
   freedombone-config \
514
   freedombone-config \
512
       -f $CONFIGURATION_FILE \
515
       -f $CONFIGURATION_FILE \
513
       -w $FREEDOMBONE_WEBSITE \
516
       -w $FREEDOMBONE_WEBSITE \
514
       -b $FREEDOMBONE_BITMESSAGE \
517
       -b $FREEDOMBONE_BITMESSAGE \
515
       -m $MINIMUM_PASSWORD_LENGTH
518
       -m $MINIMUM_PASSWORD_LENGTH
519
+  if [ -f /tmp/meshuserdevice ]; then
520
+      # mesh network installation
521
+      rm -f /tmp/meshuserdevice
522
+      exit 0
523
+  fi
516
   if [ ! "$?" = "0" ]; then
524
   if [ ! "$?" = "0" ]; then
517
       echo 'Command failed:'
525
       echo 'Command failed:'
518
       echo ''
526
       echo ''

+ 66
- 28
src/freedombone-config Parādīt failu

52
 VARIANT_MEDIA="media"
52
 VARIANT_MEDIA="media"
53
 VARIANT_DEVELOPER="developer"
53
 VARIANT_DEVELOPER="developer"
54
 VARIANT_MESH="mesh"
54
 VARIANT_MESH="mesh"
55
+VARIANT_MESH_USER="mesh-user"
55
 
56
 
56
 MY_USERNAME=
57
 MY_USERNAME=
57
 DEFAULT_DOMAIN_NAME=
58
 DEFAULT_DOMAIN_NAME=
490
   data=$(tempfile 2>/dev/null)
491
   data=$(tempfile 2>/dev/null)
491
   trap "rm -f $data" 0 1 2 5 15
492
   trap "rm -f $data" 0 1 2 5 15
492
   dialog --backtitle "Freedombone Configuration" \
493
   dialog --backtitle "Freedombone Configuration" \
493
-      --radiolist "Type of Installation:" 17 40 10 \
494
+      --radiolist "Type of Installation:" 18 40 11 \
494
       1 Full on \
495
       1 Full on \
495
       2 Writer off \
496
       2 Writer off \
496
       3 Cloud off \
497
       3 Cloud off \
500
       7 Social off \
501
       7 Social off \
501
       8 Media off \
502
       8 Media off \
502
       9 Developer off \
503
       9 Developer off \
503
-      10 Mesh off 2> $data
504
+      10 "Mesh (router)" off \
505
+      11 "Mesh (user device)" off 2> $data
504
   sel=$?
506
   sel=$?
505
   case $sel in
507
   case $sel in
506
       1) exit 1;;
508
       1) exit 1;;
517
       8) SYSTEM_TYPE=$VARIANT_MEDIA;;
519
       8) SYSTEM_TYPE=$VARIANT_MEDIA;;
518
       9) SYSTEM_TYPE=$VARIANT_DEVELOPER;;
520
       9) SYSTEM_TYPE=$VARIANT_DEVELOPER;;
519
       10) SYSTEM_TYPE=$VARIANT_MESH;;
521
       10) SYSTEM_TYPE=$VARIANT_MESH;;
522
+      11) SYSTEM_TYPE=$VARIANT_MESH_USER;;
520
   esac
523
   esac
521
   save_configuration_file
524
   save_configuration_file
522
 
525
 
523
-  if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
526
+  if [[ $SYSTEM_TYPE == "$VARIANT_MESH" || $SYSTEM_TYPE == "$VARIANT_MESH_USER" ]]; then
524
       ENABLE_BATMAN="yes"
527
       ENABLE_BATMAN="yes"
525
       ENABLE_CJDNS="no"
528
       ENABLE_CJDNS="no"
526
       ENABLE_BABEL="no"
529
       ENABLE_BABEL="no"
556
       esac
559
       esac
557
       save_configuration_file
560
       save_configuration_file
558
 
561
 
559
-      data=$(tempfile 2>/dev/null)
560
-      trap "rm -f $data" 0 1 2 5 15
561
-      dialog --backtitle "Freedombone Configuration" \
562
-          --inputbox "Give your mesh peer a name" 10 40 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
563
-      sel=$?
564
-      case $sel in
565
-          0) DEFAULT_DOMAIN_NAME=$(cat $data);;
566
-          1) exit 1;;
567
-          255) exit 1;;
568
-      esac
562
+      if [[ $SYSTEM_TYPE != "$VARIANT_MESH_USER" ]]; then
563
+          data=$(tempfile 2>/dev/null)
564
+          trap "rm -f $data" 0 1 2 5 15
565
+          dialog --backtitle "Freedombone Configuration" \
566
+                 --inputbox "Give your mesh peer a name" 10 40 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
567
+          sel=$?
568
+          case $sel in
569
+              0) DEFAULT_DOMAIN_NAME=$(cat $data);;
570
+              1) exit 1;;
571
+              255) exit 1;;
572
+          esac
573
+      else
574
+          DEFAULT_DOMAIN_NAME=$(hostname)
575
+      fi
569
       save_configuration_file
576
       save_configuration_file
570
   fi
577
   fi
571
 
578
 
572
-  if [[ $ENABLE_BATMAN == "yes" ]]; then
573
-      data=$(tempfile 2>/dev/null)
574
-      trap "rm -f $data" 0 1 2 5 15
575
-      dialog --backtitle "Freedombone Configuration" \
576
-          --inputbox "Optionally register with an Access Point" 10 40 "$(grep 'BATMAN_CELLID' temp.cfg | awk -F '=' '{print $2}')" 2> $data
577
-      sel=$?
578
-      case $sel in
579
-          0) BATMAN_CELLID=$(cat $data);;
580
-          1) exit 1;;
581
-          255) exit 1;;
582
-      esac
583
-      save_configuration_file
579
+  #if [[ $ENABLE_BATMAN == "yes" ]]; then
580
+  #    data=$(tempfile 2>/dev/null)
581
+  #    trap "rm -f $data" 0 1 2 5 15
582
+  #    dialog --backtitle "Freedombone Configuration" \
583
+  #        --inputbox "Optionally register with an Access Point" 10 40 "$(grep 'BATMAN_CELLID' temp.cfg | awk -F '=' '{print $2}')" 2> $data
584
+  #    sel=$?
585
+  #    case $sel in
586
+  #        0) BATMAN_CELLID=$(cat $data);;
587
+  #        1) exit 1;;
588
+  #        255) exit 1;;
589
+  #    esac
590
+  #    save_configuration_file
591
+  #fi
592
+
593
+  if [[ $SYSTEM_TYPE == "$VARIANT_MESH_USER" ]]; then
594
+      freedombone-client
595
+      if [ "$?" = "0" ]; then
596
+          clear
597
+          echo ".---.                  .              .                   "
598
+          echo "|                      |              |                   "
599
+          echo "|--- .--. .-.  .-.  .-.|  .-. .--.--. |.-.  .-. .--.  .-. "
600
+          echo "|    |   (.-' (.-' (   | (   )|  |  | |   )(   )|  | (.-' "
601
+          echo "'    '     --'  --'  -' -  -' '  '   -' -'   -' '   -  --'"
602
+          echo ''
603
+          echo 'Your system is now ready for connection to the mesh network'
604
+          echo ''
605
+          echo 'To connect to the network open a terminal and type:'
606
+          echo ''
607
+          echo '    meshweb'
608
+          echo ''
609
+          echo 'To disconnect from the mesh and return to the internet type:'
610
+          echo ''
611
+          echo '    sudo batman stop'
612
+          echo ''
613
+          echo 'To turn your system into a dedicated mesh peer you could add'
614
+          echo 'the meshweb command to your startup applications'
615
+          echo ''
616
+          touch /tmp/meshuserdevice
617
+          exit 0
618
+      else
619
+          echo 'Failed to fully install the mesh networking system'
620
+          exit 74589
621
+      fi
584
   fi
622
   fi
585
 
623
 
586
   if [[ $SYSTEM_TYPE == "$VARIANT_MESH" && $DEFAULT_DOMAIN_NAME && -d /home/$DEFAULT_DOMAIN_NAME ]]; then
624
   if [[ $SYSTEM_TYPE == "$VARIANT_MESH" && $DEFAULT_DOMAIN_NAME && -d /home/$DEFAULT_DOMAIN_NAME ]]; then
635
   esac
673
   esac
636
   if [[ $INSTALLING_ON_BBB == "yes" ]]; then
674
   if [[ $INSTALLING_ON_BBB == "yes" ]]; then
637
       USB_DRIVE=/dev/sda1
675
       USB_DRIVE=/dev/sda1
638
-	  # here a short diffie-hellman key length is used, because otherwise creation of keys
639
-	  # becomes impractically long on the beaglebone.
640
-	  DH_KEYLENGTH=1024
676
+      # here a short diffie-hellman key length is used, because otherwise creation of keys
677
+      # becomes impractically long on the beaglebone.
678
+      DH_KEYLENGTH=1024
641
   fi
679
   fi
642
   save_configuration_file
680
   save_configuration_file
643
 
681