浏览代码

Start the mesh if necessary

Bob Mottram 9 年前
父节点
当前提交
bf8aeb54b2
共有 2 个文件被更改,包括 27 次插入0 次删除
  1. 11
    0
      src/freedombone-client
  2. 16
    0
      src/freedombone-mesh

+ 11
- 0
src/freedombone-client 查看文件

114
   echo 'fi' >> $babel_script
114
   echo 'fi' >> $babel_script
115
   echo '' >> $babel_script
115
   echo '' >> $babel_script
116
   echo 'if [[ $1 == "start" ]]; then' >> $babel_script
116
   echo 'if [[ $1 == "start" ]]; then' >> $babel_script
117
+  echo '    if [ -f /tmp/meshtype ] ; then' >> $babel_script
118
+  echo '        echo "Mesh already running"' >> $babel_script
119
+  echo '        return' >> $babel_script
120
+  echo '    fi' >> $batman_script
117
   echo '    # install avahi' >> $babel_script
121
   echo '    # install avahi' >> $babel_script
118
   echo '    apt-get -y install avahi-utils avahi-autoipd avahi-daemon avahi-dnsconfd' >> $babel_script
122
   echo '    apt-get -y install avahi-utils avahi-autoipd avahi-daemon avahi-dnsconfd' >> $babel_script
119
   echo '    sed -i "s|#host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $babel_script
123
   echo '    sed -i "s|#host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $babel_script
129
   echo '        systemctl restart avahi-daemon' >> $babel_script
133
   echo '        systemctl restart avahi-daemon' >> $babel_script
130
   echo '    else' >> $babel_script
134
   echo '    else' >> $babel_script
131
   echo '        service avahi-daemon restart' >> $babel_script
135
   echo '        service avahi-daemon restart' >> $babel_script
136
+  echo '    echo "babel" > /tmp/meshtype' >> $babel_script
132
   echo '    fi' >> $babel_script
137
   echo '    fi' >> $babel_script
133
   echo 'fi' >> $babel_script
138
   echo 'fi' >> $babel_script
134
   echo '' >> $babel_script
139
   echo '' >> $babel_script
242
   echo 'fi' >> $batman_script
247
   echo 'fi' >> $batman_script
243
   echo '' >> $batman_script
248
   echo '' >> $batman_script
244
   echo 'start() {' >> $batman_script
249
   echo 'start() {' >> $batman_script
250
+  echo '    if [ -f /tmp/meshtype ] ; then' >> $batman_script
251
+  echo '        echo "Mesh already running"' >> $batman_script
252
+  echo '        return' >> $batman_script
253
+  echo '    fi' >> $batman_script
245
   echo '    if [ -z "$IFACE" ] ; then' >> $batman_script
254
   echo '    if [ -z "$IFACE" ] ; then' >> $batman_script
246
   echo '        echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $batman_script
255
   echo '        echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $batman_script
247
   echo '        return' >> $batman_script
256
   echo '        return' >> $batman_script
309
   echo '    else' >> $batman_script
318
   echo '    else' >> $batman_script
310
   echo '        service avahi-daemon restart' >> $batman_script
319
   echo '        service avahi-daemon restart' >> $batman_script
311
   echo '    fi' >> $batman_script
320
   echo '    fi' >> $batman_script
321
+  echo '    echo "batman" > /tmp/meshtype' >> $batman_script
312
   echo '}' >> $batman_script
322
   echo '}' >> $batman_script
313
   echo '' >> $batman_script
323
   echo '' >> $batman_script
314
   echo 'stop() {' >> $batman_script
324
   echo 'stop() {' >> $batman_script
346
   echo '    else' >> $batman_script
356
   echo '    else' >> $batman_script
347
   echo '        service network-manager restart' >> $batman_script
357
   echo '        service network-manager restart' >> $batman_script
348
   echo '    fi' >> $batman_script
358
   echo '    fi' >> $batman_script
359
+  echo '    rm -f /tmp/meshtype' >> $batman_script
349
   echo '}' >> $batman_script
360
   echo '}' >> $batman_script
350
   echo '' >> $batman_script
361
   echo '' >> $batman_script
351
   echo 'if ! grep -q "$IFACE" /proc/net/dev; then' >> $batman_script
362
   echo 'if ! grep -q "$IFACE" /proc/net/dev; then' >> $batman_script

+ 16
- 0
src/freedombone-mesh 查看文件

30
 
30
 
31
 IRC_PORT=6697
31
 IRC_PORT=6697
32
 PEERS_FILE=/tmp/meshpeers.txt
32
 PEERS_FILE=/tmp/meshpeers.txt
33
+
34
+if [ ! -f /usr/bin/batman ]; then
35
+    echo 'Mesh networking is not configured on your system'
36
+    echo 'Run freedombone-client to install the necessary packages'
37
+    exit 1
38
+fi
39
+
40
+if [ ! -f /tmp/meshtype ]; then
41
+    sudo batman start
42
+    clear
43
+fi
44
+
33
 avahi-browse -at | awk -F ' ' '{print $4}' > $PEERS_FILE
45
 avahi-browse -at | awk -F ' ' '{print $4}' > $PEERS_FILE
34
 
46
 
35
 if [ ! -f $PEERS_FILE ]; then
47
 if [ ! -f $PEERS_FILE ]; then
76
 if [ ! -f /usr/bin/irssi ]; then
88
 if [ ! -f /usr/bin/irssi ]; then
77
     if [ ! -f /usr/local/bin/irssi ]; then
89
     if [ ! -f /usr/local/bin/irssi ]; then
78
         echo 'You need irssi installed on your system'
90
         echo 'You need irssi installed on your system'
91
+        sudo batman stop
79
         exit 3
92
         exit 3
80
     fi
93
     fi
81
 fi
94
 fi
95
+
96
+MESH_RUNNING=$(pgrep ngircd > /dev/null && echo Running)' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
97
+
82
 irssi -c $AVAHI_DOMAIN -p $IRC_PORT -n $USER
98
 irssi -c $AVAHI_DOMAIN -p $IRC_PORT -n $USER
83
 
99
 
84
 exit 0
100
 exit 0