ソースを参照

Add babel script to client

Bob Mottram 9 年 前
コミット
80c175b036
共有2 個のファイルを変更した47 個の追加5 個の削除を含む
  1. 2
    2
      src/freedombone
  2. 45
    3
      src/freedombone-client

+ 2
- 2
src/freedombone ファイルの表示

@@ -1676,7 +1676,7 @@ function mesh_babel {
1676 1676
   echo 'IFACE=wlan0' >> $babel_script
1677 1677
   echo 'IFACE_EXISTS=$(grep "$IFACE" /proc/net/dev)' >> $babel_script
1678 1678
   echo '' >> $babel_script
1679
-  echo 'if [ ! $IFACE_EXISTS ]; then' >> $babel_script
1679
+  echo 'if [[ ! $IFACE_EXISTS || $1 == "stop" ]]; then' >> $babel_script
1680 1680
   echo '    echo "Interface $IFACE was not found"' >> $babel_script
1681 1681
   echo '    ifconfig $IFACE down' >> $babel_script
1682 1682
   echo '    systemctl restart networking' >> $babel_script
@@ -8120,7 +8120,7 @@ function install_irc_server {
8120 8120
   if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
8121 8121
       DEFAULTDOMAIN="${DEFAULT_DOMAIN_NAME}.local"
8122 8122
   fi
8123
-  
8123
+
8124 8124
   echo '**************************************************' > /etc/ngircd/motd
8125 8125
   echo '*           F R E E D O M B O N E   I R C        *' >> /etc/ngircd/motd
8126 8126
   echo '*                                                *' >> /etc/ngircd/motd

+ 45
- 3
src/freedombone-client ファイルの表示

@@ -85,10 +85,51 @@ function configure_ssh_client {
85 85
   echo ''
86 86
 }
87 87
 
88
+function mesh_babel {
89
+  sudo apt-get -y install babeld
90
+
91
+  babel_script=/tmp/babel
92
+
93
+  echo '#!/bin/sh' > $babel_script
94
+  echo 'IFACE=wlan0' >> $babel_script
95
+  echo 'IFACE_EXISTS=$(grep "$IFACE" /proc/net/dev)' >> $babel_script
96
+  echo '' >> $babel_script
97
+  echo 'if [[ ! $IFACE_EXISTS || $1 == "stop" ]]; then' >> $babel_script
98
+  echo '    echo "Interface $IFACE was not found"' >> $babel_script
99
+  echo '    ifconfig $IFACE down' >> $babel_script
100
+  echo '    pkill babeld' >> $babel_script
101
+  echo '    if [ -f /etc/init.d/networking ]; then' >> $babel_script
102
+  echo '        service networking restart' >> $babel_script
103
+  echo '    else' >> $babel_script
104
+  echo '        systemctl restart networking' >> $babel_script
105
+  echo '    fi' >> $babel_script
106
+  echo '    exit 1' >> $babel_script
107
+  echo 'fi' >> $babel_script
108
+  echo '' >> $babel_script
109
+  echo 'if [ -f /etc/init.d/networking ]; then' >> $babel_script
110
+  echo '    service networking stop' >> $babel_script
111
+  echo 'else' >> $babel_script
112
+  echo '    systemctl stop networking' >> $babel_script
113
+  echo 'fi' >> $babel_script
114
+  echo 'ifconfig $IFACE down' >> $babel_script
115
+  echo -n 'iwconfig $IFACE mode ad-hoc channel ' >> $babel_script
116
+  echo "$WIFI_CHANNEL essid \"$ESSID\"" >> $babel_script
117
+  echo 'ifconfig $IFACE up' >> $babel_script
118
+  echo 'avahi-autoipd $IFACE' >> $babel_script
119
+  echo -n 'ifconfig $IFACE:avahi ' >> $babel_script
120
+  echo -n "$LOCAL_NETWORK_STATIC_IP_ADDRESS netmask " >> $babel_script
121
+  echo '255.255.255.0 broadcast 192.168.13.255' >> $babel_script
122
+  echo -n 'babeld -D $IFACE:avahi -p ' >> $babel_script
123
+  echo "$BABEL_PORT -d 5 wlan0" >> $babel_script
124
+  echo 'exit 0' >> $babel_script
125
+  chmod +x $babel_script
126
+  sudo mv $babel_script /usr/bin/babel
127
+}
128
+
88 129
 function mesh_batman {
89
-  apt-get -y install iproute bridge-utils libnetfilter-conntrack3 batctl
90
-  apt-get -y install python-dev libevent-dev ebtables python-pip
91
-  apt-get -y install wireless-tools rfkill
130
+  sudo apt-get -y install iproute bridge-utils libnetfilter-conntrack3 batctl
131
+  sudo apt-get -y install python-dev libevent-dev ebtables python-pip
132
+  sudo apt-get -y install wireless-tools rfkill
92 133
 
93 134
   batman_script=/tmp/batman
94 135
 
@@ -223,6 +264,7 @@ done
223 264
 echo 'Configuring client'
224 265
 configure_ssh_client
225 266
 mesh_batman
267
+mesh_babel
226 268
 echo 'Configuration complete'
227 269
 if [[ $BRIDGE_BATMAN_IPV6 ]]; then
228 270
     echo ''