Selaa lähdekoodia

Re-enable mesh networking variant

Bob Mottram 9 vuotta sitten
vanhempi
commit
7a2f4816ec
3 muutettua tiedostoa jossa 70 lisäystä ja 23 poistoa
  1. BIN
      man/freedombone-prep.1.gz
  2. 43
    21
      src/freedombone
  3. 27
    2
      src/freedombone-config

BIN
man/freedombone-prep.1.gz Näytä tiedosto


+ 43
- 21
src/freedombone Näytä tiedosto

53
 VARIANT_SOCIAL="social"
53
 VARIANT_SOCIAL="social"
54
 VARIANT_MEDIA="media"
54
 VARIANT_MEDIA="media"
55
 VARIANT_DEVELOPER="developer"
55
 VARIANT_DEVELOPER="developer"
56
+VARIANT_MESH="mesh"
56
 
57
 
57
 DEFAULT_DOMAIN_NAME=
58
 DEFAULT_DOMAIN_NAME=
58
 DEFAULT_DOMAIN_CODE=
59
 DEFAULT_DOMAIN_CODE=
376
 # B.A.T.M.A.N settings
377
 # B.A.T.M.A.N settings
377
 ENABLE_BATMAN="no"
378
 ENABLE_BATMAN="no"
378
 BATMAN_IPV6=
379
 BATMAN_IPV6=
380
+MESH_ESSID=
379
 
381
 
380
 # social key management
382
 # social key management
381
 ENABLE_SOCIAL_KEY_MANAGEMENT="no"
383
 ENABLE_SOCIAL_KEY_MANAGEMENT="no"
431
   echo '------------'
433
   echo '------------'
432
   echo 'This can either be blank if you wish to install the full system,'
434
   echo 'This can either be blank if you wish to install the full system,'
433
   echo "or for more specialised variants you can specify '$VARIANT_MAILBOX', '$VARIANT_CLOUD',"
435
   echo "or for more specialised variants you can specify '$VARIANT_MAILBOX', '$VARIANT_CLOUD',"
434
-  echo "'$VARIANT_CHAT', '$VARIANT_SOCIAL', '$VARIANT_MEDIA', '$VARIANT_WRITER' or '$VARIANT_DEVELOPER'."
436
+  echo "'$VARIANT_CHAT', '$VARIANT_SOCIAL', '$VARIANT_MEDIA', '$VARIANT_WRITER', '$VARIANT_DEVELOPER'"
437
+  echo "or '$VARIANT_MESH'."
438
+  echo ''
435
   echo "If you wish to install everything except email then use the '$VARIANT_NONMAILBOX' variaint."
439
   echo "If you wish to install everything except email then use the '$VARIANT_NONMAILBOX' variaint."
436
   echo ''
440
   echo ''
437
   exit 0
441
   exit 0
703
   if [ ! $SYSTEM_TYPE ]; then
707
   if [ ! $SYSTEM_TYPE ]; then
704
       SYSTEM_TYPE=$VARIANT_FULL
708
       SYSTEM_TYPE=$VARIANT_FULL
705
   fi
709
   fi
706
-  if [[ $SYSTEM_TYPE != $VARIANT_WRITER && $SYSTEM_TYPE != $VARIANT_CLOUD && $SYSTEM_TYPE != $VARIANT_CHAT && $SYSTEM_TYPE != $VARIANT_MAILBOX && $SYSTEM_TYPE != $VARIANT_NONMAILBOX && $SYSTEM_TYPE != $VARIANT_SOCIAL && $SYSTEM_TYPE != $VARIANT_MEDIA && $SYSTEM_TYPE != $VARIANT_DEVELOPER && $SYSTEM_TYPE != $VARIANT_FULL ]]; then
710
+  if [[ $SYSTEM_TYPE != $VARIANT_WRITER && $SYSTEM_TYPE != $VARIANT_CLOUD && $SYSTEM_TYPE != $VARIANT_CHAT && $SYSTEM_TYPE != $VARIANT_MAILBOX && $SYSTEM_TYPE != $VARIANT_NONMAILBOX && $SYSTEM_TYPE != $VARIANT_SOCIAL && $SYSTEM_TYPE != $VARIANT_MEDIA && $SYSTEM_TYPE != $VARIANT_DEVELOPER && $SYSTEM_TYPE != $VARIANT_MESH && $SYSTEM_TYPE != $VARIANT_FULL ]]; then
707
       echo "'$SYSTEM_TYPE' is an unrecognised Freedombone variant."
711
       echo "'$SYSTEM_TYPE' is an unrecognised Freedombone variant."
708
       exit 30
712
       exit 30
709
   fi
713
   fi
725
   fi
729
   fi
726
 
730
 
727
   if [ -f $CONFIGURATION_FILE ]; then
731
   if [ -f $CONFIGURATION_FILE ]; then
732
+      if grep -q "MESH_ESSID" $CONFIGURATION_FILE; then
733
+          MESH_ESSID=$(grep "MESH_ESSID" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
734
+      fi
728
       if grep -q "TOX_PORT" $CONFIGURATION_FILE; then
735
       if grep -q "TOX_PORT" $CONFIGURATION_FILE; then
729
           TOX_PORT=$(grep "TOX_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
736
           TOX_PORT=$(grep "TOX_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
730
       fi
737
       fi
1552
   fi
1559
   fi
1553
 }
1560
 }
1554
 
1561
 
1562
+function get_mesh_essid {
1563
+  if [ -f /home/$MY_USERNAME/README ]; then
1564
+      if grep -q 'Mesh ESSID:' /home/$MY_USERNAME/README; then
1565
+          MESH_ESSID==$(cat /home/$MY_USERNAME/README | grep "Mesh ESSID" | awk -F ':' '{print $2}' | sed 's/^ *//')
1566
+      fi
1567
+  fi
1568
+}
1569
+
1555
 function mesh_batman {
1570
 function mesh_batman {
1556
   # https://sudoroom.org/wiki/Mesh/Relay_setup
1571
   # https://sudoroom.org/wiki/Mesh/Relay_setup
1557
   # also see http://www.netlore.co.uk/airmesh/
1572
   # also see http://www.netlore.co.uk/airmesh/
1601
       fi
1616
       fi
1602
   fi
1617
   fi
1603
 
1618
 
1604
-  # TODO add wlan0
1605
-
1619
+  get_mesh_essid
1620
+  if [ ! $MESH_ESSID ]; then
1621
+      MESH_ESSID="$(openssl rand -base64 3)"
1622
+  fi
1606
 
1623
 
1607
   echo '#!/bin/bash' > /usr/bin/mesh
1624
   echo '#!/bin/bash' > /usr/bin/mesh
1608
   echo '' > /usr/bin/mesh
1625
   echo '' > /usr/bin/mesh
1615
   echo 'iwconfig wlan0 enc off' >> /usr/bin/mesh
1632
   echo 'iwconfig wlan0 enc off' >> /usr/bin/mesh
1616
   echo '' >> /usr/bin/mesh
1633
   echo '' >> /usr/bin/mesh
1617
   echo '# add the interface to the ad-hoc network - or create it.' >> /usr/bin/mesh
1634
   echo '# add the interface to the ad-hoc network - or create it.' >> /usr/bin/mesh
1618
-  echo "iwconfig wlan0 mode ad-hoc essid NetworkName ap $BATMAN_IPV6 channel 2" >> /usr/bin/mesh
1635
+  echo "iwconfig wlan0 mode ad-hoc essid mesh-$MESH_ESSID ap $BATMAN_IPV6 channel 2" >> /usr/bin/mesh
1619
   echo '' >> /usr/bin/mesh
1636
   echo '' >> /usr/bin/mesh
1620
   echo '# add wlan0 to the batman-adv virtual interface(so it can communicate with other batman-adv nodes)' >> /usr/bin/mesh
1637
   echo '# add wlan0 to the batman-adv virtual interface(so it can communicate with other batman-adv nodes)' >> /usr/bin/mesh
1621
   echo 'batctl if add wlan0' >> /usr/bin/mesh
1638
   echo 'batctl if add wlan0' >> /usr/bin/mesh
1640
       echo '' >> /home/$MY_USERNAME/README
1657
       echo '' >> /home/$MY_USERNAME/README
1641
       echo 'Mesh Networking (B.A.T.M.A.N)' >> /home/$MY_USERNAME/README
1658
       echo 'Mesh Networking (B.A.T.M.A.N)' >> /home/$MY_USERNAME/README
1642
       echo '=============================' >> /home/$MY_USERNAME/README
1659
       echo '=============================' >> /home/$MY_USERNAME/README
1660
+      echo "Mesh ESSID: $MESH_ESSID" >> /home/$MY_USERNAME/README
1643
       echo "BATMAN IPv6 address: $BATMAN_IPV6" >> /home/$MY_USERNAME/README
1661
       echo "BATMAN IPv6 address: $BATMAN_IPV6" >> /home/$MY_USERNAME/README
1644
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
1662
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
1645
       chmod 600 /home/$MY_USERNAME/README
1663
       chmod 600 /home/$MY_USERNAME/README
4678
   if [[ $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
4696
   if [[ $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
4679
       echo '             D E V E L O P E R   E D I T I O N' >> /etc/motd
4697
       echo '             D E V E L O P E R   E D I T I O N' >> /etc/motd
4680
   fi
4698
   fi
4699
+  if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
4700
+      echo '                   M E S H   E D I T I O N' >> /etc/motd
4701
+  fi
4681
 
4702
 
4682
   echo '' >> /etc/motd
4703
   echo '' >> /etc/motd
4683
   echo '                  Freedom in the Cloud' >> /etc/motd
4704
   echo '                  Freedom in the Cloud' >> /etc/motd
4697
           mkdir $USB_MOUNT
4718
           mkdir $USB_MOUNT
4698
           mount $USB_DRIVE $USB_MOUNT
4719
           mount $USB_DRIVE $USB_MOUNT
4699
       fi
4720
       fi
4700
-      if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4721
+      if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
4701
           if [ -d $USB_MOUNT/Maildir ]; then
4722
           if [ -d $USB_MOUNT/Maildir ]; then
4702
               echo 'Maildir found on USB drive'
4723
               echo 'Maildir found on USB drive'
4703
               IMPORT_MAILDIR=$USB_MOUNT/Maildir
4724
               IMPORT_MAILDIR=$USB_MOUNT/Maildir
5419
 }
5440
 }
5420
 
5441
 
5421
 function configure_firewall_for_voip {
5442
 function configure_firewall_for_voip {
5422
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
5443
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
5423
       return
5444
       return
5424
   fi
5445
   fi
5425
   if grep -Fxq "configure_firewall_for_voip" $COMPLETION_FILE; then
5446
   if grep -Fxq "configure_firewall_for_voip" $COMPLETION_FILE; then
5592
 }
5613
 }
5593
 
5614
 
5594
 function configure_firewall_for_email {
5615
 function configure_firewall_for_email {
5595
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5616
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
5596
       return
5617
       return
5597
   fi
5618
   fi
5598
   if grep -Fxq "configure_firewall_for_email" $COMPLETION_FILE; then
5619
   if grep -Fxq "configure_firewall_for_email" $COMPLETION_FILE; then
7042
 }
7063
 }
7043
 
7064
 
7044
 function install_owncloud_music_app {
7065
 function install_owncloud_music_app {
7045
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7066
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
7046
       return
7067
       return
7047
   fi
7068
   fi
7048
   if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
7069
   if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
7107
 }
7128
 }
7108
 
7129
 
7109
 function install_owncloud {
7130
 function install_owncloud {
7110
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7131
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
7111
       return
7132
       return
7112
   fi
7133
   fi
7113
   OWNCLOUD_COMPLETION_MSG1=" *** Freedombone $SYSTEM_TYPE is now installed ***"
7134
   OWNCLOUD_COMPLETION_MSG1=" *** Freedombone $SYSTEM_TYPE is now installed ***"
7562
 }
7583
 }
7563
 
7584
 
7564
 function install_tox_node {
7585
 function install_tox_node {
7565
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7586
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
7566
       return
7587
       return
7567
   fi
7588
   fi
7568
   if grep -Fxq "install_tox_node" $COMPLETION_FILE; then
7589
   if grep -Fxq "install_tox_node" $COMPLETION_FILE; then
7682
 }
7703
 }
7683
 
7704
 
7684
 function install_tox_client {
7705
 function install_tox_client {
7685
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7706
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
7686
       return
7707
       return
7687
   fi
7708
   fi
7688
   if grep -Fxq "install_tox_client" $COMPLETION_FILE; then
7709
   if grep -Fxq "install_tox_client" $COMPLETION_FILE; then
7703
 }
7724
 }
7704
 
7725
 
7705
 function install_xmpp {
7726
 function install_xmpp {
7706
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7727
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
7707
       return
7728
       return
7708
   fi
7729
   fi
7709
   if grep -Fxq "install_xmpp" $COMPLETION_FILE; then
7730
   if grep -Fxq "install_xmpp" $COMPLETION_FILE; then
7829
 }
7850
 }
7830
 
7851
 
7831
 function install_irc_server {
7852
 function install_irc_server {
7832
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7853
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
7833
       return
7854
       return
7834
   fi
7855
   fi
7835
   if grep -Fxq "install_irc_server" $COMPLETION_FILE; then
7856
   if grep -Fxq "install_irc_server" $COMPLETION_FILE; then
7912
 }
7933
 }
7913
 
7934
 
7914
 function install_wiki {
7935
 function install_wiki {
7915
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
7936
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MASH" ]]; then
7916
       return
7937
       return
7917
   fi
7938
   fi
7918
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
7939
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
8199
 }
8220
 }
8200
 
8221
 
8201
 function install_blog {
8222
 function install_blog {
8202
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
8223
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
8203
       return
8224
       return
8204
   fi
8225
   fi
8205
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
8226
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
8447
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
8468
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
8448
       return
8469
       return
8449
   fi
8470
   fi
8450
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
8471
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
8451
       return
8472
       return
8452
   fi
8473
   fi
8453
   if [ ! $MICROBLOG_DOMAIN_NAME ]; then
8474
   if [ ! $MICROBLOG_DOMAIN_NAME ]; then
8692
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
8713
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
8693
       return
8714
       return
8694
   fi
8715
   fi
8695
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
8716
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
8696
       return
8717
       return
8697
   fi
8718
   fi
8698
   if [ ! $REDMATRIX_DOMAIN_NAME ]; then
8719
   if [ ! $REDMATRIX_DOMAIN_NAME ]; then
8997
   if grep -Fxq "install_dlna_server" $COMPLETION_FILE; then
9018
   if grep -Fxq "install_dlna_server" $COMPLETION_FILE; then
8998
       return
9019
       return
8999
   fi
9020
   fi
9000
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
9021
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9001
       return
9022
       return
9002
   fi
9023
   fi
9003
   apt-get -y install minidlna
9024
   apt-get -y install minidlna
9048
   if grep -Fxq "install_mediagoblin" $COMPLETION_FILE; then
9069
   if grep -Fxq "install_mediagoblin" $COMPLETION_FILE; then
9049
       return
9070
       return
9050
   fi
9071
   fi
9051
-  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
9072
+  if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9052
       return
9073
       return
9053
   fi
9074
   fi
9054
   if [ ! $MEDIAGOBLIN_DOMAIN_NAME ]; then
9075
   if [ ! $MEDIAGOBLIN_DOMAIN_NAME ]; then
9589
 }
9610
 }
9590
 
9611
 
9591
 function install_voip {
9612
 function install_voip {
9592
-  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
9613
+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9593
       return
9614
       return
9594
   fi
9615
   fi
9595
   if grep -Fxq "install_voip" $COMPLETION_FILE; then
9616
   if grep -Fxq "install_voip" $COMPLETION_FILE; then
9719
 create_git_project
9740
 create_git_project
9720
 mesh_cjdns
9741
 mesh_cjdns
9721
 mesh_cjdns_tools
9742
 mesh_cjdns_tools
9743
+mesh_batman
9722
 backup_github_projects
9744
 backup_github_projects
9723
 configure_ssh
9745
 configure_ssh
9724
 remove_instructions_from_motd
9746
 remove_instructions_from_motd

+ 27
- 2
src/freedombone-config Näytä tiedosto

51
 VARIANT_SOCIAL="social"
51
 VARIANT_SOCIAL="social"
52
 VARIANT_MEDIA="media"
52
 VARIANT_MEDIA="media"
53
 VARIANT_DEVELOPER="developer"
53
 VARIANT_DEVELOPER="developer"
54
+VARIANT_MESH="mesh"
54
 
55
 
55
 MY_USERNAME=
56
 MY_USERNAME=
56
 DEFAULT_DOMAIN_NAME=
57
 DEFAULT_DOMAIN_NAME=
88
 USB_DRIVE=/dev/sdb1
89
 USB_DRIVE=/dev/sdb1
89
 HWRNG_TYPE=
90
 HWRNG_TYPE=
90
 ENABLE_SOCIAL_KEY_MANAGEMENT=
91
 ENABLE_SOCIAL_KEY_MANAGEMENT=
92
+BATMAN_IPV6=
93
+MESH_ESSID=
91
 
94
 
92
 CONFIGURATION_FILE=
95
 CONFIGURATION_FILE=
93
 
96
 
226
   if [ $ENABLE_SOCIAL_KEY_MANAGEMENT ]; then
229
   if [ $ENABLE_SOCIAL_KEY_MANAGEMENT ]; then
227
       echo "ENABLE_SOCIAL_KEY_MANAGEMENT=$ENABLE_SOCIAL_KEY_MANAGEMENT" >> $CONFIGURATION_FILE
230
       echo "ENABLE_SOCIAL_KEY_MANAGEMENT=$ENABLE_SOCIAL_KEY_MANAGEMENT" >> $CONFIGURATION_FILE
228
   fi
231
   fi
232
+  if [ $BATMAN_IPV6 ]; then
233
+      echo "BATMAN_IPV6=$BATMAN_IPV6" >> $CONFIGURATION_FILE
234
+  fi
235
+  if [ $MESH_ESSID ]; then
236
+      echo "MESH_ESSID=$MESH_ESSID" >> $CONFIGURATION_FILE
237
+  fi
229
 }
238
 }
230
 
239
 
231
 # test a domain name to see if it's valid
240
 # test a domain name to see if it's valid
468
   data=$(tempfile 2>/dev/null)
477
   data=$(tempfile 2>/dev/null)
469
   trap "rm -f $data" 0 1 2 5 15
478
   trap "rm -f $data" 0 1 2 5 15
470
   dialog --backtitle "Freedombone Configuration" \
479
   dialog --backtitle "Freedombone Configuration" \
471
-      --radiolist "Type of Installation:" 17 40 9 \
480
+      --radiolist "Type of Installation:" 17 40 10 \
472
       1 Full on \
481
       1 Full on \
473
       2 Writer off \
482
       2 Writer off \
474
       3 Cloud off \
483
       3 Cloud off \
477
       6 Non-Mailbox off \
486
       6 Non-Mailbox off \
478
       7 Social off \
487
       7 Social off \
479
       8 Media off \
488
       8 Media off \
480
-      9 Developer off 2> $data
489
+      9 Developer off \
490
+	  10 Mesh off 2> $data
481
   sel=$?
491
   sel=$?
482
   case $sel in
492
   case $sel in
483
       1) exit 1;;
493
       1) exit 1;;
493
       7) SYSTEM_TYPE=$VARIANT_SOCIAL;;
503
       7) SYSTEM_TYPE=$VARIANT_SOCIAL;;
494
       8) SYSTEM_TYPE=$VARIANT_MEDIA;;
504
       8) SYSTEM_TYPE=$VARIANT_MEDIA;;
495
       9) SYSTEM_TYPE=$VARIANT_DEVELOPER;;
505
       9) SYSTEM_TYPE=$VARIANT_DEVELOPER;;
506
+      10) SYSTEM_TYPE=$VARIANT_MESH;;
496
   esac
507
   esac
497
   save_configuration_file
508
   save_configuration_file
498
 
509
 
510
+  if [[ SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
511
+	  ENABLE_BATMAN="yes"
512
+	  ENABLE_CJDNS="no"
513
+  fi
514
+
499
   data=$(tempfile 2>/dev/null)
515
   data=$(tempfile 2>/dev/null)
500
   trap "rm -f $data" 0 1 2 5 15
516
   trap "rm -f $data" 0 1 2 5 15
501
   dialog --title "Select the user account to install as" \
517
   dialog --title "Select the user account to install as" \
1363
       if grep -q "ENABLE_CJDNS" $CONFIGURATION_FILE; then
1379
       if grep -q "ENABLE_CJDNS" $CONFIGURATION_FILE; then
1364
           ENABLE_CJDNS=$(grep "ENABLE_CJDNS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1380
           ENABLE_CJDNS=$(grep "ENABLE_CJDNS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1365
       fi
1381
       fi
1382
+      if grep -q "ENABLE_BATMAN" $CONFIGURATION_FILE; then
1383
+          ENABLE_BATMAN=$(grep "ENABLE_BATMAN" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1384
+      fi
1385
+      if grep -q "MESH_ESSID" $CONFIGURATION_FILE; then
1386
+          MESH_ESSID=$(grep "MESH_ESSID" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1387
+      fi
1388
+      if grep -q "BATMAN_IPV6" $CONFIGURATION_FILE; then
1389
+          BATMAN_IPV6=$(grep "BATMAN_IPV6" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1390
+      fi
1366
       if grep -q "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE; then
1391
       if grep -q "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE; then
1367
           ROUTER_IP_ADDRESS=$(grep "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1392
           ROUTER_IP_ADDRESS=$(grep "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1368
       fi
1393
       fi