Procházet zdrojové kódy

Re-enable mesh networking variant

Bob Mottram před 9 roky
rodič
revize
7a2f4816ec
3 změnil soubory, kde provedl 70 přidání a 23 odebrání
  1. binární
      man/freedombone-prep.1.gz
  2. 43
    21
      src/freedombone
  3. 27
    2
      src/freedombone-config

binární
man/freedombone-prep.1.gz Zobrazit soubor


+ 43
- 21
src/freedombone Zobrazit soubor

@@ -53,6 +53,7 @@ VARIANT_NONMAILBOX="nonmailbox"
53 53
 VARIANT_SOCIAL="social"
54 54
 VARIANT_MEDIA="media"
55 55
 VARIANT_DEVELOPER="developer"
56
+VARIANT_MESH="mesh"
56 57
 
57 58
 DEFAULT_DOMAIN_NAME=
58 59
 DEFAULT_DOMAIN_CODE=
@@ -376,6 +377,7 @@ CJDNS_PORT=
376 377
 # B.A.T.M.A.N settings
377 378
 ENABLE_BATMAN="no"
378 379
 BATMAN_IPV6=
380
+MESH_ESSID=
379 381
 
380 382
 # social key management
381 383
 ENABLE_SOCIAL_KEY_MANAGEMENT="no"
@@ -431,7 +433,9 @@ function show_help {
431 433
   echo '------------'
432 434
   echo 'This can either be blank if you wish to install the full system,'
433 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 439
   echo "If you wish to install everything except email then use the '$VARIANT_NONMAILBOX' variaint."
436 440
   echo ''
437 441
   exit 0
@@ -703,7 +707,7 @@ function parse_args {
703 707
   if [ ! $SYSTEM_TYPE ]; then
704 708
       SYSTEM_TYPE=$VARIANT_FULL
705 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 711
       echo "'$SYSTEM_TYPE' is an unrecognised Freedombone variant."
708 712
       exit 30
709 713
   fi
@@ -725,6 +729,9 @@ function read_configuration {
725 729
   fi
726 730
 
727 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 735
       if grep -q "TOX_PORT" $CONFIGURATION_FILE; then
729 736
           TOX_PORT=$(grep "TOX_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
730 737
       fi
@@ -1552,6 +1559,14 @@ function get_batman_ipv6_address {
1552 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 1570
 function mesh_batman {
1556 1571
   # https://sudoroom.org/wiki/Mesh/Relay_setup
1557 1572
   # also see http://www.netlore.co.uk/airmesh/
@@ -1601,8 +1616,10 @@ function mesh_batman {
1601 1616
       fi
1602 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 1624
   echo '#!/bin/bash' > /usr/bin/mesh
1608 1625
   echo '' > /usr/bin/mesh
@@ -1615,7 +1632,7 @@ function mesh_batman {
1615 1632
   echo 'iwconfig wlan0 enc off' >> /usr/bin/mesh
1616 1633
   echo '' >> /usr/bin/mesh
1617 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 1636
   echo '' >> /usr/bin/mesh
1620 1637
   echo '# add wlan0 to the batman-adv virtual interface(so it can communicate with other batman-adv nodes)' >> /usr/bin/mesh
1621 1638
   echo 'batctl if add wlan0' >> /usr/bin/mesh
@@ -1640,6 +1657,7 @@ function mesh_batman {
1640 1657
       echo '' >> /home/$MY_USERNAME/README
1641 1658
       echo 'Mesh Networking (B.A.T.M.A.N)' >> /home/$MY_USERNAME/README
1642 1659
       echo '=============================' >> /home/$MY_USERNAME/README
1660
+      echo "Mesh ESSID: $MESH_ESSID" >> /home/$MY_USERNAME/README
1643 1661
       echo "BATMAN IPv6 address: $BATMAN_IPV6" >> /home/$MY_USERNAME/README
1644 1662
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
1645 1663
       chmod 600 /home/$MY_USERNAME/README
@@ -4678,6 +4696,9 @@ function change_login_message {
4678 4696
   if [[ $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
4679 4697
       echo '             D E V E L O P E R   E D I T I O N' >> /etc/motd
4680 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 4703
   echo '' >> /etc/motd
4683 4704
   echo '                  Freedom in the Cloud' >> /etc/motd
@@ -4697,7 +4718,7 @@ function search_for_attached_usb_drive {
4697 4718
           mkdir $USB_MOUNT
4698 4719
           mount $USB_DRIVE $USB_MOUNT
4699 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 4722
           if [ -d $USB_MOUNT/Maildir ]; then
4702 4723
               echo 'Maildir found on USB drive'
4703 4724
               IMPORT_MAILDIR=$USB_MOUNT/Maildir
@@ -5419,7 +5440,7 @@ function save_firewall_settings {
5419 5440
 }
5420 5441
 
5421 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 5444
       return
5424 5445
   fi
5425 5446
   if grep -Fxq "configure_firewall_for_voip" $COMPLETION_FILE; then
@@ -5592,7 +5613,7 @@ function configure_firewall_for_git {
5592 5613
 }
5593 5614
 
5594 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 5617
       return
5597 5618
   fi
5598 5619
   if grep -Fxq "configure_firewall_for_email" $COMPLETION_FILE; then
@@ -7042,7 +7063,7 @@ function repair_databases_script {
7042 7063
 }
7043 7064
 
7044 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 7067
       return
7047 7068
   fi
7048 7069
   if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
@@ -7107,7 +7128,7 @@ function add_ddns_domain {
7107 7128
 }
7108 7129
 
7109 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 7132
       return
7112 7133
   fi
7113 7134
   OWNCLOUD_COMPLETION_MSG1=" *** Freedombone $SYSTEM_TYPE is now installed ***"
@@ -7562,7 +7583,7 @@ quit" > $INSTALL_DIR/batch.sql
7562 7583
 }
7563 7584
 
7564 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 7587
       return
7567 7588
   fi
7568 7589
   if grep -Fxq "install_tox_node" $COMPLETION_FILE; then
@@ -7682,7 +7703,7 @@ function install_tox_node {
7682 7703
 }
7683 7704
 
7684 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 7707
       return
7687 7708
   fi
7688 7709
   if grep -Fxq "install_tox_client" $COMPLETION_FILE; then
@@ -7703,7 +7724,7 @@ function install_tox_client {
7703 7724
 }
7704 7725
 
7705 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 7728
       return
7708 7729
   fi
7709 7730
   if grep -Fxq "install_xmpp" $COMPLETION_FILE; then
@@ -7829,7 +7850,7 @@ function install_watchdog_script {
7829 7850
 }
7830 7851
 
7831 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 7854
       return
7834 7855
   fi
7835 7856
   if grep -Fxq "install_irc_server" $COMPLETION_FILE; then
@@ -7912,7 +7933,7 @@ function get_wiki_admin_password {
7912 7933
 }
7913 7934
 
7914 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 7937
       return
7917 7938
   fi
7918 7939
   if grep -Fxq "install_wiki" $COMPLETION_FILE; then
@@ -8199,7 +8220,7 @@ function get_blog_admin_password {
8199 8220
 }
8200 8221
 
8201 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 8224
       return
8204 8225
   fi
8205 8226
   if grep -Fxq "install_blog" $COMPLETION_FILE; then
@@ -8447,7 +8468,7 @@ function install_gnu_social {
8447 8468
   if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
8448 8469
       return
8449 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 8472
       return
8452 8473
   fi
8453 8474
   if [ ! $MICROBLOG_DOMAIN_NAME ]; then
@@ -8692,7 +8713,7 @@ function install_redmatrix {
8692 8713
   if grep -Fxq "install_redmatrix" $COMPLETION_FILE; then
8693 8714
       return
8694 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 8717
       return
8697 8718
   fi
8698 8719
   if [ ! $REDMATRIX_DOMAIN_NAME ]; then
@@ -8997,7 +9018,7 @@ function install_dlna_server {
8997 9018
   if grep -Fxq "install_dlna_server" $COMPLETION_FILE; then
8998 9019
       return
8999 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 9022
       return
9002 9023
   fi
9003 9024
   apt-get -y install minidlna
@@ -9048,7 +9069,7 @@ function install_mediagoblin {
9048 9069
   if grep -Fxq "install_mediagoblin" $COMPLETION_FILE; then
9049 9070
       return
9050 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 9073
       return
9053 9074
   fi
9054 9075
   if [ ! $MEDIAGOBLIN_DOMAIN_NAME ]; then
@@ -9589,7 +9610,7 @@ function get_voip_server_password {
9589 9610
 }
9590 9611
 
9591 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 9614
       return
9594 9615
   fi
9595 9616
   if grep -Fxq "install_voip" $COMPLETION_FILE; then
@@ -9719,6 +9740,7 @@ configure_internet_protocol
9719 9740
 create_git_project
9720 9741
 mesh_cjdns
9721 9742
 mesh_cjdns_tools
9743
+mesh_batman
9722 9744
 backup_github_projects
9723 9745
 configure_ssh
9724 9746
 remove_instructions_from_motd

+ 27
- 2
src/freedombone-config Zobrazit soubor

@@ -51,6 +51,7 @@ VARIANT_NONMAILBOX="nonmailbox"
51 51
 VARIANT_SOCIAL="social"
52 52
 VARIANT_MEDIA="media"
53 53
 VARIANT_DEVELOPER="developer"
54
+VARIANT_MESH="mesh"
54 55
 
55 56
 MY_USERNAME=
56 57
 DEFAULT_DOMAIN_NAME=
@@ -88,6 +89,8 @@ MEDIAGOBLIN_CODE=
88 89
 USB_DRIVE=/dev/sdb1
89 90
 HWRNG_TYPE=
90 91
 ENABLE_SOCIAL_KEY_MANAGEMENT=
92
+BATMAN_IPV6=
93
+MESH_ESSID=
91 94
 
92 95
 CONFIGURATION_FILE=
93 96
 
@@ -226,6 +229,12 @@ function save_configuration_file {
226 229
   if [ $ENABLE_SOCIAL_KEY_MANAGEMENT ]; then
227 230
       echo "ENABLE_SOCIAL_KEY_MANAGEMENT=$ENABLE_SOCIAL_KEY_MANAGEMENT" >> $CONFIGURATION_FILE
228 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 240
 # test a domain name to see if it's valid
@@ -468,7 +477,7 @@ function interactive_configuration {
468 477
   data=$(tempfile 2>/dev/null)
469 478
   trap "rm -f $data" 0 1 2 5 15
470 479
   dialog --backtitle "Freedombone Configuration" \
471
-      --radiolist "Type of Installation:" 17 40 9 \
480
+      --radiolist "Type of Installation:" 17 40 10 \
472 481
       1 Full on \
473 482
       2 Writer off \
474 483
       3 Cloud off \
@@ -477,7 +486,8 @@ function interactive_configuration {
477 486
       6 Non-Mailbox off \
478 487
       7 Social off \
479 488
       8 Media off \
480
-      9 Developer off 2> $data
489
+      9 Developer off \
490
+	  10 Mesh off 2> $data
481 491
   sel=$?
482 492
   case $sel in
483 493
       1) exit 1;;
@@ -493,9 +503,15 @@ function interactive_configuration {
493 503
       7) SYSTEM_TYPE=$VARIANT_SOCIAL;;
494 504
       8) SYSTEM_TYPE=$VARIANT_MEDIA;;
495 505
       9) SYSTEM_TYPE=$VARIANT_DEVELOPER;;
506
+      10) SYSTEM_TYPE=$VARIANT_MESH;;
496 507
   esac
497 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 515
   data=$(tempfile 2>/dev/null)
500 516
   trap "rm -f $data" 0 1 2 5 15
501 517
   dialog --title "Select the user account to install as" \
@@ -1363,6 +1379,15 @@ function read_configuration {
1363 1379
       if grep -q "ENABLE_CJDNS" $CONFIGURATION_FILE; then
1364 1380
           ENABLE_CJDNS=$(grep "ENABLE_CJDNS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1365 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 1391
       if grep -q "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE; then
1367 1392
           ROUTER_IP_ADDRESS=$(grep "ROUTER_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1368 1393
       fi