Sfoglia il codice sorgente

Single definition of toxic file

Bob Mottram 9 anni fa
parent
commit
c4ef5b707d
5 ha cambiato i file con 349 aggiunte e 314 eliminazioni
  1. 2
    1
      src/freedombone
  2. 303
    297
      src/freedombone-client
  3. 7
    1
      src/freedombone-image-mesh
  4. 14
    10
      src/freedombone-mesh
  5. 23
    5
      src/freedombone-mesh-install

+ 2
- 1
src/freedombone Vedi File

@@ -483,6 +483,7 @@ TOX_NODES=
483 483
 #)
484 484
 TOXIC_REPO="https://github.com/Tox/toxic"
485 485
 TOXIC_COMMIT='4e0e322e32b0d7b5d1692f72876ac7f9ae2e610a'
486
+TOXIC_FILE=/usr/local/bin/toxic
486 487
 
487 488
 ZERONET_REPO="https://github.com/HelloZeroNet/ZeroNet.git"
488 489
 ZERONET_COMMIT='675bd462556c541d65e2d95f91f899146a373aad'
@@ -6589,7 +6590,7 @@ function install_tox_client {
6589 6590
     su -c "echo 'n
6590 6591
 /nick $MY_USERNAME
6591 6592
 /exit
6592
-' | /usr/bin/toxic -d" - $MY_USERNAME
6593
+' | $TOXIC_FILE -d" - $MY_USERNAME
6593 6594
 
6594 6595
     echo 'install_tox_client' >> $COMPLETION_FILE
6595 6596
 }

+ 303
- 297
src/freedombone-client Vedi File

@@ -60,318 +60,324 @@ TOXID_REPO='https://github.com/bashrc/toxid'
60 60
 
61 61
 # see https://stribika.github.io/2015/01/04/secure-secure-shell.html
62 62
 function ssh_remove_small_moduli {
63
-  sudo awk '$5 > 2000' /etc/ssh/moduli > /home/$CURR_USER/moduli
64
-  sudo mv /home/$CURR_USER/moduli /etc/ssh/moduli
63
+    sudo awk '$5 > 2000' /etc/ssh/moduli > /home/$CURR_USER/moduli
64
+    sudo mv /home/$CURR_USER/moduli /etc/ssh/moduli
65 65
 }
66 66
 
67 67
 function configure_ssh_client {
68
-  #sudo sed -i 's/#   PasswordAuthentication.*/   PasswordAuthentication no/g' /etc/ssh/ssh_config
69
-  #sudo sed -i 's/#   ChallengeResponseAuthentication.*/   ChallengeResponseAuthentication no/g' /etc/ssh/ssh_config
70
-  sudo sed -i "s/#   HostKeyAlgorithms.*/   HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS/g" /etc/ssh/ssh_config
71
-  sudo sed -i "s/#   Ciphers.*/   Ciphers $SSH_CIPHERS/g" /etc/ssh/ssh_config
72
-  sudo sed -i "s/#   MACs.*/   MACs $SSH_MACS/g" /etc/ssh/ssh_config
73
-  if ! grep -q "HostKeyAlgorithms" /etc/ssh/ssh_config; then
74
-      sudo cp /etc/ssh/ssh_config ~/ssh_config
75
-      sudo chown $CURR_USER:$CURR_USER ~/ssh_config
76
-      echo "   HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS" >> ~/ssh_config
77
-      sudo mv ~/ssh_config /etc/ssh/ssh_config
78
-      sudo chown root:root /etc/ssh/ssh_config
79
-  fi
80
-  sudo sed -i "s/Ciphers.*/Ciphers $SSH_CIPHERS/g" /etc/ssh/ssh_config
81
-  if ! grep -q "Ciphers " /etc/ssh/ssh_config; then
82
-      sudo cp /etc/ssh/ssh_config ~/ssh_config
83
-      sudo chown $CURR_USER:$CURR_USER ~/ssh_config
84
-      echo "   Ciphers $SSH_CIPHERS" >> ~/ssh_config
85
-      sudo mv ~/ssh_config /etc/ssh/ssh_config
86
-      sudo chown root:root /etc/ssh/ssh_config
87
-  fi
88
-  sudo sed -i "s/MACs.*/MACs $SSH_MACS/g" /etc/ssh/ssh_config
89
-  if ! grep -q "MACs " /etc/ssh/ssh_config; then
90
-      sudo cp /etc/ssh/ssh_config ~/ssh_config
91
-      sudo chown $CURR_USER:$CURR_USER ~/ssh_config
92
-      echo "   MACs $SSH_MACS" >> ~/ssh_config
93
-      sudo mv ~/ssh_config /etc/ssh/ssh_config
94
-      sudo chown root:root /etc/ssh/ssh_config
95
-  fi
68
+    #sudo sed -i 's/#   PasswordAuthentication.*/   PasswordAuthentication no/g' /etc/ssh/ssh_config
69
+    #sudo sed -i 's/#   ChallengeResponseAuthentication.*/   ChallengeResponseAuthentication no/g' /etc/ssh/ssh_config
70
+    sudo sed -i "s/#   HostKeyAlgorithms.*/   HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS/g" /etc/ssh/ssh_config
71
+    sudo sed -i "s/#   Ciphers.*/   Ciphers $SSH_CIPHERS/g" /etc/ssh/ssh_config
72
+    sudo sed -i "s/#   MACs.*/   MACs $SSH_MACS/g" /etc/ssh/ssh_config
73
+    if ! grep -q "HostKeyAlgorithms" /etc/ssh/ssh_config; then
74
+        sudo cp /etc/ssh/ssh_config ~/ssh_config
75
+        sudo chown $CURR_USER:$CURR_USER ~/ssh_config
76
+        echo "   HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS" >> ~/ssh_config
77
+        sudo mv ~/ssh_config /etc/ssh/ssh_config
78
+        sudo chown root:root /etc/ssh/ssh_config
79
+    fi
80
+    sudo sed -i "s/Ciphers.*/Ciphers $SSH_CIPHERS/g" /etc/ssh/ssh_config
81
+    if ! grep -q "Ciphers " /etc/ssh/ssh_config; then
82
+        sudo cp /etc/ssh/ssh_config ~/ssh_config
83
+        sudo chown $CURR_USER:$CURR_USER ~/ssh_config
84
+        echo "   Ciphers $SSH_CIPHERS" >> ~/ssh_config
85
+        sudo mv ~/ssh_config /etc/ssh/ssh_config
86
+        sudo chown root:root /etc/ssh/ssh_config
87
+    fi
88
+    sudo sed -i "s/MACs.*/MACs $SSH_MACS/g" /etc/ssh/ssh_config
89
+    if ! grep -q "MACs " /etc/ssh/ssh_config; then
90
+        sudo cp /etc/ssh/ssh_config ~/ssh_config
91
+        sudo chown $CURR_USER:$CURR_USER ~/ssh_config
92
+        echo "   MACs $SSH_MACS" >> ~/ssh_config
93
+        sudo mv ~/ssh_config /etc/ssh/ssh_config
94
+        sudo chown root:root /etc/ssh/ssh_config
95
+    fi
96 96
 
97
-  # Create ssh keys
98
-  if [ ! -f /home/$CURR_USER/.ssh/id_ed25519 ]; then
99
-      ssh-keygen -t ed25519 -o -a 100
100
-  fi
101
-  if [ ! -f /home/$CURR_USER/.ssh/id_rsa ]; then
102
-      ssh-keygen -t rsa -b 4096 -o -a 100
103
-  fi
97
+    # Create ssh keys
98
+    if [ ! -f /home/$CURR_USER/.ssh/id_ed25519 ]; then
99
+        ssh-keygen -t ed25519 -o -a 100
100
+    fi
101
+    if [ ! -f /home/$CURR_USER/.ssh/id_rsa ]; then
102
+        ssh-keygen -t rsa -b 4096 -o -a 100
103
+    fi
104 104
 
105
-  ssh_remove_small_moduli
105
+    ssh_remove_small_moduli
106 106
 
107
-  echo ''
108
-  echo $'Copy the following into a file called /home/username/.ssh/authorized_keys on the Freedombone server'
109
-  echo ''
110
-  echo $(cat /home/$CURR_USER/.ssh/id_rsa.pub)
111
-  echo $(cat /home/$CURR_USER/.ssh/id_ed25519.pub)
112
-  echo ''
107
+    echo ''
108
+    echo $'Copy the following into a file called /home/username/.ssh/authorized_keys on the Freedombone server'
109
+    echo ''
110
+    echo $(cat /home/$CURR_USER/.ssh/id_rsa.pub)
111
+    echo $(cat /home/$CURR_USER/.ssh/id_ed25519.pub)
112
+    echo ''
113 113
 }
114 114
 
115 115
 
116 116
 function mesh_batman {
117
-	if [ ! -f /tmp/meshtype ]; then
118
-		sudo apt-get -y install iproute bridge-utils libnetfilter-conntrack3 batctl
119
-		sudo apt-get -y install python-dev libevent-dev ebtables python-pip
120
-		sudo apt-get -y install wireless-tools rfkill
121
-		sudo apt-get -y install irssi mumble
122
-		if [ ! -f /usr/bin/toxic ]; then
123
-			sudo apt-get -y install toxic
124
-			echo "n
117
+    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
118
+        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
119
+    else
120
+        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')       
121
+    fi 
122
+    
123
+    if [ ! -f /tmp/meshtype ]; then
124
+        sudo apt-get -y install iproute bridge-utils libnetfilter-conntrack3 batctl
125
+        sudo apt-get -y install python-dev libevent-dev ebtables python-pip
126
+        sudo apt-get -y install wireless-tools rfkill
127
+        sudo apt-get -y install irssi mumble
128
+        if [ ! -f $TOXIC_FILE ]; then
129
+            sudo apt-get -y install toxic
130
+            echo "n
125 131
 /nick $USER
126 132
 /exit
127
-" | /usr/bin/toxic -d
128
-		fi
129
-	fi
133
+" | $TOXIC_FILE -d
134
+        fi
135
+    fi
130 136
 
131
-	BATMAN_SCRIPT=/tmp/batman
137
+    BATMAN_SCRIPT=/tmp/batman
132 138
 
133
-	echo '#!/bin/bash' > $BATMAN_SCRIPT
134
-	echo '' >> $BATMAN_SCRIPT
135
-	echo 'if [[ $1 == "start" ]]; then' >> $BATMAN_SCRIPT
136
-	echo '    # install avahi' >> $BATMAN_SCRIPT
137
-	echo '    apt-get -y install avahi-utils avahi-autoipd avahi-daemon avahi-dnsconfd bittornado' >> $BATMAN_SCRIPT
138
-	echo '    sed -i "s|#host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
139
-	echo '    sed -i "s|host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
140
-	echo '    sed -i "s|use-ipv4=.*|use-ipv4=yes|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
141
-	echo '    sed -i "s|use-ipv6=.*|use-ipv6=no|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
142
-	echo '    sed -i "s|#disallow-other-stacks=.*|disallow-other-stacks=yes|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
143
-	echo '    sed -i "s|hosts:.*|hosts:          files mdns4_minimal dns mdns4 mdns|g" /etc/nsswitch.conf' >> $BATMAN_SCRIPT
144
-	echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
145
-	echo '        systemctl restart avahi-daemon' >> $BATMAN_SCRIPT
146
-	echo '    else' >> $BATMAN_SCRIPT
147
-	echo '        service avahi-daemon restart' >> $BATMAN_SCRIPT
148
-	echo '    fi' >> $BATMAN_SCRIPT
149
-	echo 'fi' >> $BATMAN_SCRIPT
150
-	echo '' >> $BATMAN_SCRIPT
151
-	echo '# Mesh definition' >> $BATMAN_SCRIPT
152
-	echo "ESSID=$ESSID" >> $BATMAN_SCRIPT
153
-	echo "CELLID=$BATMAN_CELLID" >> $BATMAN_SCRIPT
154
-	echo "CHANNEL=$WIFI_CHANNEL" >> $BATMAN_SCRIPT
155
-	echo '' >> $BATMAN_SCRIPT
156
-	echo '# Ethernet bridge definition (bridged to bat0)' >> $BATMAN_SCRIPT
157
-	echo 'BRIDGE=br-mesh' >> $BATMAN_SCRIPT
158
-	echo "IFACE=$WIFI_INTERFACE" >> $BATMAN_SCRIPT
159
-	echo 'EIFACE=eth0' >> $BATMAN_SCRIPT
160
-	echo '' >> $BATMAN_SCRIPT
161
-	echo 'if [[ $IFACE == "wlan0" ]]; then' >> $BATMAN_SCRIPT
162
-	echo '    if grep -q "wlan1" /proc/net/dev; then' >> $BATMAN_SCRIPT
163
-	echo '        IFACE=wlan1' >> $BATMAN_SCRIPT
164
-	echo '    fi' >> $BATMAN_SCRIPT
165
-	echo 'fi' >> $BATMAN_SCRIPT
166
-	echo 'if [[ $IFACE == "wlan0" ]]; then' >> $BATMAN_SCRIPT
167
-	echo '    if grep -q "wlan2" /proc/net/dev; then' >> $BATMAN_SCRIPT
168
-	echo '        IFACE=wlan2' >> $BATMAN_SCRIPT
169
-	echo '    fi' >> $BATMAN_SCRIPT
170
-	echo 'fi' >> $BATMAN_SCRIPT
171
-	echo 'if [[ $IFACE == "wlan0" ]]; then' >> $BATMAN_SCRIPT
172
-	echo '    if grep -q "wlan3" /proc/net/dev; then' >> $BATMAN_SCRIPT
173
-	echo '        IFACE=wlan3' >> $BATMAN_SCRIPT
174
-	echo '    fi' >> $BATMAN_SCRIPT
175
-	echo 'fi' >> $BATMAN_SCRIPT
176
-	echo '' >> $BATMAN_SCRIPT
177
-	echo 'if [ -e /etc/default/batctl ]; then' >> $BATMAN_SCRIPT
178
-	echo '    . /etc/default/batctl' >> $BATMAN_SCRIPT
179
-	echo 'fi' >> $BATMAN_SCRIPT
180
-	echo '' >> $BATMAN_SCRIPT
181
-	echo 'start() {' >> $BATMAN_SCRIPT
182
-	echo '    if [ -f /tmp/meshtype ] ; then' >> $BATMAN_SCRIPT
183
-	echo '        echo "Mesh already running"' >> $BATMAN_SCRIPT
184
-	echo '        return' >> $BATMAN_SCRIPT
185
-	echo '    fi' >> $BATMAN_SCRIPT
186
-	echo '    if [ -z "$IFACE" ] ; then' >> $BATMAN_SCRIPT
187
-	echo '        echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $BATMAN_SCRIPT
188
-	echo '        return' >> $BATMAN_SCRIPT
189
-	echo '    fi' >> $BATMAN_SCRIPT
190
-	echo '    echo "info: enabling batman-adv mesh network $ESSID on $IFACE"' >> $BATMAN_SCRIPT
139
+    echo '#!/bin/bash' > $BATMAN_SCRIPT
140
+    echo '' >> $BATMAN_SCRIPT
141
+    echo 'if [[ $1 == "start" ]]; then' >> $BATMAN_SCRIPT
142
+    echo '    # install avahi' >> $BATMAN_SCRIPT
143
+    echo '    apt-get -y install avahi-utils avahi-autoipd avahi-daemon avahi-dnsconfd bittornado' >> $BATMAN_SCRIPT
144
+    echo '    sed -i "s|#host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
145
+    echo '    sed -i "s|host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
146
+    echo '    sed -i "s|use-ipv4=.*|use-ipv4=yes|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
147
+    echo '    sed -i "s|use-ipv6=.*|use-ipv6=no|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
148
+    echo '    sed -i "s|#disallow-other-stacks=.*|disallow-other-stacks=yes|g" /etc/avahi/avahi-daemon.conf' >> $BATMAN_SCRIPT
149
+    echo '    sed -i "s|hosts:.*|hosts:          files mdns4_minimal dns mdns4 mdns|g" /etc/nsswitch.conf' >> $BATMAN_SCRIPT
150
+    echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
151
+    echo '        systemctl restart avahi-daemon' >> $BATMAN_SCRIPT
152
+    echo '    else' >> $BATMAN_SCRIPT
153
+    echo '        service avahi-daemon restart' >> $BATMAN_SCRIPT
154
+    echo '    fi' >> $BATMAN_SCRIPT
155
+    echo 'fi' >> $BATMAN_SCRIPT
156
+    echo '' >> $BATMAN_SCRIPT
157
+    echo '# Mesh definition' >> $BATMAN_SCRIPT
158
+    echo "ESSID=$ESSID" >> $BATMAN_SCRIPT
159
+    echo "CELLID=$BATMAN_CELLID" >> $BATMAN_SCRIPT
160
+    echo "CHANNEL=$WIFI_CHANNEL" >> $BATMAN_SCRIPT
161
+    echo '' >> $BATMAN_SCRIPT
162
+    echo '# Ethernet bridge definition (bridged to bat0)' >> $BATMAN_SCRIPT
163
+    echo 'BRIDGE=br-mesh' >> $BATMAN_SCRIPT
164
+    echo "IFACE=$WIFI_INTERFACE" >> $BATMAN_SCRIPT
165
+    echo 'EIFACE=eth0' >> $BATMAN_SCRIPT
166
+    echo '' >> $BATMAN_SCRIPT
167
+    echo 'if [[ $IFACE == "wlan0" ]]; then' >> $BATMAN_SCRIPT
168
+    echo '    if grep -q "wlan1" /proc/net/dev; then' >> $BATMAN_SCRIPT
169
+    echo '        IFACE=wlan1' >> $BATMAN_SCRIPT
170
+    echo '    fi' >> $BATMAN_SCRIPT
171
+    echo 'fi' >> $BATMAN_SCRIPT
172
+    echo 'if [[ $IFACE == "wlan0" ]]; then' >> $BATMAN_SCRIPT
173
+    echo '    if grep -q "wlan2" /proc/net/dev; then' >> $BATMAN_SCRIPT
174
+    echo '        IFACE=wlan2' >> $BATMAN_SCRIPT
175
+    echo '    fi' >> $BATMAN_SCRIPT
176
+    echo 'fi' >> $BATMAN_SCRIPT
177
+    echo 'if [[ $IFACE == "wlan0" ]]; then' >> $BATMAN_SCRIPT
178
+    echo '    if grep -q "wlan3" /proc/net/dev; then' >> $BATMAN_SCRIPT
179
+    echo '        IFACE=wlan3' >> $BATMAN_SCRIPT
180
+    echo '    fi' >> $BATMAN_SCRIPT
181
+    echo 'fi' >> $BATMAN_SCRIPT
182
+    echo '' >> $BATMAN_SCRIPT
183
+    echo 'if [ -e /etc/default/batctl ]; then' >> $BATMAN_SCRIPT
184
+    echo '    . /etc/default/batctl' >> $BATMAN_SCRIPT
185
+    echo 'fi' >> $BATMAN_SCRIPT
186
+    echo '' >> $BATMAN_SCRIPT
187
+    echo 'start() {' >> $BATMAN_SCRIPT
188
+    echo '    if [ -f /tmp/meshtype ] ; then' >> $BATMAN_SCRIPT
189
+    echo '        echo "Mesh already running"' >> $BATMAN_SCRIPT
190
+    echo '        return' >> $BATMAN_SCRIPT
191
+    echo '    fi' >> $BATMAN_SCRIPT
192
+    echo '    if [ -z "$IFACE" ] ; then' >> $BATMAN_SCRIPT
193
+    echo '        echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $BATMAN_SCRIPT
194
+    echo '        return' >> $BATMAN_SCRIPT
195
+    echo '    fi' >> $BATMAN_SCRIPT
196
+    echo '    echo "info: enabling batman-adv mesh network $ESSID on $IFACE"' >> $BATMAN_SCRIPT
191 197
 
192
-	echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
193
-	echo '        systemctl stop network-manager' >> $BATMAN_SCRIPT
194
-	echo '    else' >> $BATMAN_SCRIPT
195
-	echo '        service network-manager stop' >> $BATMAN_SCRIPT
196
-	echo '    fi' >> $BATMAN_SCRIPT
197
-	echo '    sleep 5' >> $BATMAN_SCRIPT
198
-	echo '' >> $BATMAN_SCRIPT
199
-	echo "    # remove an avahi service which isn't used" >> $BATMAN_SCRIPT
200
-	echo '    if [ -f /etc/avahi/services/udisks.service ]; then' >> $BATMAN_SCRIPT
201
-	echo '        sudo rm /etc/avahi/services/udisks.service' >> $BATMAN_SCRIPT
202
-	echo '    fi' >> $BATMAN_SCRIPT
203
-	echo '' >> $BATMAN_SCRIPT
204
-	echo '    # Might have to re-enable wifi' >> $BATMAN_SCRIPT
205
-	echo '    rfkill unblock $(rfkill list|awk -F: "/phy/ {print $1}") || true' >> $BATMAN_SCRIPT
206
-	echo '' >> $BATMAN_SCRIPT
207
-	echo '    ifconfig $IFACE down' >> $BATMAN_SCRIPT
208
-	echo '    ifconfig $IFACE mtu 1532' >> $BATMAN_SCRIPT
209
-	echo '    iwconfig $IFACE enc off' >> $BATMAN_SCRIPT
210
-	echo '    iwconfig $IFACE mode ad-hoc essid $ESSID channel $CHANNEL' >> $BATMAN_SCRIPT
211
-	echo '    sleep 1' >> $BATMAN_SCRIPT
212
-	echo '    iwconfig $IFACE ap $CELLID' >> $BATMAN_SCRIPT
213
-	echo '' >> $BATMAN_SCRIPT
214
-	echo '    modprobe batman-adv' >> $BATMAN_SCRIPT
215
-	echo '    batctl if add $IFACE' >> $BATMAN_SCRIPT
216
-	echo '    ifconfig $IFACE up' >> $BATMAN_SCRIPT
217
-	echo '    avahi-autoipd --force-bind --daemonize --wait $BRIDGE' >> $BATMAN_SCRIPT
218
-	echo '    avahi-autoipd --force-bind --daemonize --wait $IFACE' >> $BATMAN_SCRIPT
219
-	echo '    ifconfig bat0 up promisc' >> $BATMAN_SCRIPT
220
-	echo '' >> $BATMAN_SCRIPT
221
-	echo '    #Use persistent HWAddr' >> $BATMAN_SCRIPT
222
-	echo '    ether_new=$(ifconfig eth0 | grep HWaddr | sed -e "s/.*HWaddr //")' >> $BATMAN_SCRIPT
223
-	echo '    if [ ! -f /var/lib/mesh-node/bat0 ]; then' >> $BATMAN_SCRIPT
224
-	echo '        mkdir /var/lib/mesh-node' >> $BATMAN_SCRIPT
225
-	echo '        echo "${ether_new}" > /var/lib/mesh-node/bat0' >> $BATMAN_SCRIPT
226
-	echo '    else' >> $BATMAN_SCRIPT
227
-	echo '        ether=$(cat /var/lib/mesh-node/bat0)' >> $BATMAN_SCRIPT
228
-	echo '        ifconfig bat0 hw ether ${ether}' >> $BATMAN_SCRIPT
229
-	echo '    fi' >> $BATMAN_SCRIPT
230
-	echo '' >> $BATMAN_SCRIPT
231
-	echo '    if [ "$EIFACE" ] ; then' >> $BATMAN_SCRIPT
232
-	echo '        brctl addbr $BRIDGE' >> $BATMAN_SCRIPT
233
-	echo '        brctl addif $BRIDGE bat0' >> $BATMAN_SCRIPT
234
-	echo '        brctl addif $BRIDGE $EIFACE' >> $BATMAN_SCRIPT
235
-	echo '        ifconfig bat0 0.0.0.0' >> $BATMAN_SCRIPT
236
-	echo '        ifconfig $EIFACE 0.0.0.0' >> $BATMAN_SCRIPT
237
-	echo '        ifconfig $EIFACE up promisc' >> $BATMAN_SCRIPT
238
-	echo '        ifconfig $BRIDGE up' >> $BATMAN_SCRIPT
239
-	echo '    fi' >> $BATMAN_SCRIPT
240
-	echo '' >> $BATMAN_SCRIPT
241
-	echo '    iptables -A INPUT -p tcp --dport 548 -j ACCEPT' >> $BATMAN_SCRIPT
242
-	echo '    iptables -A INPUT -p udp --dport 548 -j ACCEPT' >> $BATMAN_SCRIPT
243
-	echo '    iptables -A INPUT -p tcp --dport 5353 -j ACCEPT' >> $BATMAN_SCRIPT
244
-	echo '    iptables -A INPUT -p udp --dport 5353 -j ACCEPT' >> $BATMAN_SCRIPT
245
-	echo '    iptables -A INPUT -p tcp --dport 5354 -j ACCEPT' >> $BATMAN_SCRIPT
246
-	echo '    iptables -A INPUT -p udp --dport 5354 -j ACCEPT' >> $BATMAN_SCRIPT
247
-	echo "    iptables -A INPUT -p tcp --dport $ZERONET_PORT -j ACCEPT" >> $BATMAN_SCRIPT
248
-	echo "    iptables -A INPUT -p udp --dport $ZERONET_PORT -j ACCEPT" >> $BATMAN_SCRIPT
249
-	echo "    iptables -A INPUT -p udp --dport $TRACKER_PORT -j ACCEPT" >> $BATMAN_SCRIPT
250
-	echo "    iptables -A INPUT -p tcp --dport $TRACKER_PORT -j ACCEPT" >> $BATMAN_SCRIPT
251
-	echo "    iptables -A INPUT -p tcp --dport $IPFS_PORT -j ACCEPT" >> $BATMAN_SCRIPT
252
-	echo "    iptables -A INPUT -p udp --dport 1900 -j ACCEPT" >> $BATMAN_SCRIPT
253
-	echo "    iptables -A INPUT -p tcp --dport 80 -j ACCEPT" >> $BATMAN_SCRIPT
254
-	echo "    iptables -A INPUT -p udp -m udp -j ACCEPT" >> $BATMAN_SCRIPT
255
-	echo '' >> $BATMAN_SCRIPT
256
-	echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
257
-	echo '        systemctl restart avahi-daemon' >> $BATMAN_SCRIPT
258
-	echo '    else' >> $BATMAN_SCRIPT
259
-	echo '        service avahi-daemon restart' >> $BATMAN_SCRIPT
260
-	echo '    fi' >> $BATMAN_SCRIPT
261
-	echo '    echo "batman" > /tmp/meshtype' >> $BATMAN_SCRIPT
262
-	echo '}' >> $BATMAN_SCRIPT
263
-	echo '' >> $BATMAN_SCRIPT
264
-	echo 'stop() {' >> $BATMAN_SCRIPT
265
-	echo '    if [ -z "$IFACE" ]; then' >> $BATMAN_SCRIPT
266
-	echo '        echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $BATMAN_SCRIPT
267
-	echo '        return' >> $BATMAN_SCRIPT
268
-	echo '    fi' >> $BATMAN_SCRIPT
269
-	echo '    if [ "$EIFACE" ]; then' >> $BATMAN_SCRIPT
270
-	echo '        brctl delif $BRIDGE bat0' >> $BATMAN_SCRIPT
271
-	echo '        brctl delif $BRIDGE $EIFACE' >> $BATMAN_SCRIPT
272
-	echo '        ifconfig $BRIDGE down || true' >> $BATMAN_SCRIPT
273
-	echo '        brctl delbr $BRIDGE' >> $BATMAN_SCRIPT
274
-	echo '        ifconfig $EIFACE down -promisc' >> $BATMAN_SCRIPT
275
-	echo '    fi' >> $BATMAN_SCRIPT
276
-	echo '' >> $BATMAN_SCRIPT
277
-	echo '    avahi-autoipd -k $BRIDGE' >> $BATMAN_SCRIPT
278
-	echo '    avahi-autoipd -k $IFACE' >> $BATMAN_SCRIPT
279
-	echo '    ifconfig bat0 down -promisc' >> $BATMAN_SCRIPT
280
-	echo '' >> $BATMAN_SCRIPT
281
-	echo '    batctl if del $IFACE' >> $BATMAN_SCRIPT
282
-	echo '    rmmod batman-adv' >> $BATMAN_SCRIPT
283
-	echo '    ifconfig $IFACE mtu 1500' >> $BATMAN_SCRIPT
284
-	echo '    ifconfig $IFACE down' >> $BATMAN_SCRIPT
285
-	echo '    iwconfig $IFACE mode managed' >> $BATMAN_SCRIPT
286
-	echo '' >> $BATMAN_SCRIPT
287
-	echo '    iptables -D INPUT -p tcp --dport 548 -j ACCEPT' >> $BATMAN_SCRIPT
288
-	echo '    iptables -D INPUT -p udp --dport 548 -j ACCEPT' >> $BATMAN_SCRIPT
289
-	echo '    iptables -D INPUT -p tcp --dport 5353 -j ACCEPT' >> $BATMAN_SCRIPT
290
-	echo '    iptables -D INPUT -p udp --dport 5353 -j ACCEPT' >> $BATMAN_SCRIPT
291
-	echo '    iptables -D INPUT -p tcp --dport 5354 -j ACCEPT' >> $BATMAN_SCRIPT
292
-	echo '    iptables -D INPUT -p udp --dport 5354 -j ACCEPT' >> $BATMAN_SCRIPT
293
-	echo "    iptables -D INPUT -p tcp --dport $ZERONET_PORT -j ACCEPT" >> $BATMAN_SCRIPT
294
-	echo "    iptables -D INPUT -p udp --dport $ZERONET_PORT -j ACCEPT" >> $BATMAN_SCRIPT
295
-	echo "    iptables -D INPUT -p udp --dport $TRACKER_PORT -j ACCEPT" >> $BATMAN_SCRIPT
296
-	echo "    iptables -D INPUT -p tcp --dport $TRACKER_PORT -j ACCEPT" >> $BATMAN_SCRIPT
297
-	echo "    iptables -D INPUT -p tcp --dport $IPFS_PORT -j ACCEPT" >> $BATMAN_SCRIPT
298
-	echo "    iptables -D INPUT -p udp --dport 1900 -j ACCEPT" >> $BATMAN_SCRIPT
299
-	echo "    iptables -D INPUT -p tcp --dport 80 -j ACCEPT" >> $BATMAN_SCRIPT
300
-	echo "    iptables -D INPUT -p udp -m udp -j ACCEPT" >> $BATMAN_SCRIPT
301
-	echo '' >> $BATMAN_SCRIPT
302
-	echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
303
-	echo '        systemctl restart network-manager' >> $BATMAN_SCRIPT
304
-	echo '    else' >> $BATMAN_SCRIPT
305
-	echo '        service network-manager restart' >> $BATMAN_SCRIPT
306
-	echo '    fi' >> $BATMAN_SCRIPT
307
-	echo '    ' >> $BATMAN_SCRIPT
308
-	echo '    # restore tox bootstrap nodes for the internet' >> $BATMAN_SCRIPT
309
-	echo '    if [ -f /usr/share/toxic/DHTnodes.internet ]; then' >> $BATMAN_SCRIPT
310
-	echo '        mv /usr/share/toxic/DHTnodes.internet /usr/share/toxic/DHTnodes' >> $BATMAN_SCRIPT
311
-	echo '    fi' >> $BATMAN_SCRIPT
312
-	echo '    if [ -f /usr/local/share/toxic/DHTnodes.internet ]; then' >> $BATMAN_SCRIPT
313
-	echo '        mv /usr/local/share/toxic/DHTnodes.internet /usr/local/share/toxic/DHTnodes' >> $BATMAN_SCRIPT
314
-	echo '    fi' >> $BATMAN_SCRIPT
315
-	echo '' >> $BATMAN_SCRIPT
316
-	echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
317
-	echo '        systemctl stop avahi-daemon' >> $BATMAN_SCRIPT
318
-	echo '    else' >> $BATMAN_SCRIPT
319
-	echo '        service avahi-daemon stop' >> $BATMAN_SCRIPT
320
-	echo '    fi' >> $BATMAN_SCRIPT
321
-	echo '' >> $BATMAN_SCRIPT
322
-	echo '    sudo rm -f /tmp/meshtype' >> $BATMAN_SCRIPT
323
-	echo '' >> $BATMAN_SCRIPT
324
-	echo '    # kill processes' >> $BATMAN_SCRIPT
325
-	echo '    zeronet_proc=$(ps aux | grep zeronet | grep -v grep | awk -F " " "{print $2}" | head -n1)' >> $BATMAN_SCRIPT
326
-	echo '    if [ "$zeronet_proc" ]; then' >> $BATMAN_SCRIPT
327
-	echo '        kill -9 $zeronet_proc 2> /dev/null' >> $BATMAN_SCRIPT
328
-	echo '    fi' >> $BATMAN_SCRIPT
329
-	echo '    tracker_proc=$(ps aux | grep bttrack | grep -v grep | awk -F " " "{print $2}" | head -n1)' >> $BATMAN_SCRIPT
330
-	echo '    if [ "$tracker_proc" ]; then' >> $BATMAN_SCRIPT
331
-	echo '        kill -9 $tracker_proc 2> /dev/null' >> $BATMAN_SCRIPT
332
-	echo '    fi' >> $BATMAN_SCRIPT
333
-	echo '    if [ ! -f /etc/systemd/system/ipfs.service ]; then' >> $BATMAN_SCRIPT
334
-	echo '        ipfs_proc=$(ps aux | grep ipfs | grep -v grep | awk -F " " "{print $2}" | head -n1)' >> $BATMAN_SCRIPT
335
-	echo '        if [ "$ipfs_proc" ]; then' >> $BATMAN_SCRIPT
336
-	echo '            kill -9 $ipfs_proc 2> /dev/null' >> $BATMAN_SCRIPT
337
-	echo '        fi' >> $BATMAN_SCRIPT
338
-	echo '    fi' >> $BATMAN_SCRIPT
339
-	echo '}' >> $BATMAN_SCRIPT
340
-	echo '' >> $BATMAN_SCRIPT
341
-	echo 'if ! grep -q "$IFACE" /proc/net/dev; then' >> $BATMAN_SCRIPT
342
-	echo '    echo "Interface $IFACE was not found"' >> $BATMAN_SCRIPT
343
-	echo '    stop' >> $BATMAN_SCRIPT
344
-	echo '    exit 1' >> $BATMAN_SCRIPT
345
-	echo 'fi' >> $BATMAN_SCRIPT
346
-	echo '' >> $BATMAN_SCRIPT
347
-	echo 'case "$1" in' >> $BATMAN_SCRIPT
348
-	echo '    start|stop)' >> $BATMAN_SCRIPT
349
-	echo '        $1' >> $BATMAN_SCRIPT
350
-	echo '        ;;' >> $BATMAN_SCRIPT
351
-	echo '    restart)' >> $BATMAN_SCRIPT
352
-	echo '        stop' >> $BATMAN_SCRIPT
353
-	echo '        sleep 10' >> $BATMAN_SCRIPT
354
-	echo '        start' >> $BATMAN_SCRIPT
355
-	echo '        ;;' >> $BATMAN_SCRIPT
356
-	echo '    status)' >> $BATMAN_SCRIPT
357
-	echo '        batctl o' >> $BATMAN_SCRIPT
358
-	echo '        ;;' >> $BATMAN_SCRIPT
359
-	echo '    ping)' >> $BATMAN_SCRIPT
360
-	echo '        batctl ping $2' >> $BATMAN_SCRIPT
361
-	echo '        ;;' >> $BATMAN_SCRIPT
362
-	echo '    ls|list)' >> $BATMAN_SCRIPT
363
-	echo '        avahi-browse -atl' >> $BATMAN_SCRIPT
364
-	echo '        ;;' >> $BATMAN_SCRIPT
365
-	echo '    *)' >> $BATMAN_SCRIPT
366
-	echo '    echo "error: invalid parameter $1"' >> $BATMAN_SCRIPT
367
-	echo '    echo "usage: $0 {start|stop|restart|status|ping|ls|list}"' >> $BATMAN_SCRIPT
368
-	echo '    exit 2' >> $BATMAN_SCRIPT
369
-	echo '    ;;' >> $BATMAN_SCRIPT
370
-	echo 'esac' >> $BATMAN_SCRIPT
371
-	echo 'exit 0' >> $BATMAN_SCRIPT
372
-	chmod +x $BATMAN_SCRIPT
373
-	sudo cp -f $BATMAN_SCRIPT /usr/bin/batman
374
-	rm $BATMAN_SCRIPT
198
+    echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
199
+    echo '        systemctl stop network-manager' >> $BATMAN_SCRIPT
200
+    echo '    else' >> $BATMAN_SCRIPT
201
+    echo '        service network-manager stop' >> $BATMAN_SCRIPT
202
+    echo '    fi' >> $BATMAN_SCRIPT
203
+    echo '    sleep 5' >> $BATMAN_SCRIPT
204
+    echo '' >> $BATMAN_SCRIPT
205
+    echo "    # remove an avahi service which isn't used" >> $BATMAN_SCRIPT
206
+    echo '    if [ -f /etc/avahi/services/udisks.service ]; then' >> $BATMAN_SCRIPT
207
+    echo '        sudo rm /etc/avahi/services/udisks.service' >> $BATMAN_SCRIPT
208
+    echo '    fi' >> $BATMAN_SCRIPT
209
+    echo '' >> $BATMAN_SCRIPT
210
+    echo '    # Might have to re-enable wifi' >> $BATMAN_SCRIPT
211
+    echo '    rfkill unblock $(rfkill list|awk -F: "/phy/ {print $1}") || true' >> $BATMAN_SCRIPT
212
+    echo '' >> $BATMAN_SCRIPT
213
+    echo '    ifconfig $IFACE down' >> $BATMAN_SCRIPT
214
+    echo '    ifconfig $IFACE mtu 1532' >> $BATMAN_SCRIPT
215
+    echo '    iwconfig $IFACE enc off' >> $BATMAN_SCRIPT
216
+    echo '    iwconfig $IFACE mode ad-hoc essid $ESSID channel $CHANNEL' >> $BATMAN_SCRIPT
217
+    echo '    sleep 1' >> $BATMAN_SCRIPT
218
+    echo '    iwconfig $IFACE ap $CELLID' >> $BATMAN_SCRIPT
219
+    echo '' >> $BATMAN_SCRIPT
220
+    echo '    modprobe batman-adv' >> $BATMAN_SCRIPT
221
+    echo '    batctl if add $IFACE' >> $BATMAN_SCRIPT
222
+    echo '    ifconfig $IFACE up' >> $BATMAN_SCRIPT
223
+    echo '    avahi-autoipd --force-bind --daemonize --wait $BRIDGE' >> $BATMAN_SCRIPT
224
+    echo '    avahi-autoipd --force-bind --daemonize --wait $IFACE' >> $BATMAN_SCRIPT
225
+    echo '    ifconfig bat0 up promisc' >> $BATMAN_SCRIPT
226
+    echo '' >> $BATMAN_SCRIPT
227
+    echo '    #Use persistent HWAddr' >> $BATMAN_SCRIPT
228
+    echo '    ether_new=$(ifconfig eth0 | grep HWaddr | sed -e "s/.*HWaddr //")' >> $BATMAN_SCRIPT
229
+    echo '    if [ ! -f /var/lib/mesh-node/bat0 ]; then' >> $BATMAN_SCRIPT
230
+    echo '        mkdir /var/lib/mesh-node' >> $BATMAN_SCRIPT
231
+    echo '        echo "${ether_new}" > /var/lib/mesh-node/bat0' >> $BATMAN_SCRIPT
232
+    echo '    else' >> $BATMAN_SCRIPT
233
+    echo '        ether=$(cat /var/lib/mesh-node/bat0)' >> $BATMAN_SCRIPT
234
+    echo '        ifconfig bat0 hw ether ${ether}' >> $BATMAN_SCRIPT
235
+    echo '    fi' >> $BATMAN_SCRIPT
236
+    echo '' >> $BATMAN_SCRIPT
237
+    echo '    if [ "$EIFACE" ] ; then' >> $BATMAN_SCRIPT
238
+    echo '        brctl addbr $BRIDGE' >> $BATMAN_SCRIPT
239
+    echo '        brctl addif $BRIDGE bat0' >> $BATMAN_SCRIPT
240
+    echo '        brctl addif $BRIDGE $EIFACE' >> $BATMAN_SCRIPT
241
+    echo '        ifconfig bat0 0.0.0.0' >> $BATMAN_SCRIPT
242
+    echo '        ifconfig $EIFACE 0.0.0.0' >> $BATMAN_SCRIPT
243
+    echo '        ifconfig $EIFACE up promisc' >> $BATMAN_SCRIPT
244
+    echo '        ifconfig $BRIDGE up' >> $BATMAN_SCRIPT
245
+    echo '    fi' >> $BATMAN_SCRIPT
246
+    echo '' >> $BATMAN_SCRIPT
247
+    echo '    iptables -A INPUT -p tcp --dport 548 -j ACCEPT' >> $BATMAN_SCRIPT
248
+    echo '    iptables -A INPUT -p udp --dport 548 -j ACCEPT' >> $BATMAN_SCRIPT
249
+    echo '    iptables -A INPUT -p tcp --dport 5353 -j ACCEPT' >> $BATMAN_SCRIPT
250
+    echo '    iptables -A INPUT -p udp --dport 5353 -j ACCEPT' >> $BATMAN_SCRIPT
251
+    echo '    iptables -A INPUT -p tcp --dport 5354 -j ACCEPT' >> $BATMAN_SCRIPT
252
+    echo '    iptables -A INPUT -p udp --dport 5354 -j ACCEPT' >> $BATMAN_SCRIPT
253
+    echo "    iptables -A INPUT -p tcp --dport $ZERONET_PORT -j ACCEPT" >> $BATMAN_SCRIPT
254
+    echo "    iptables -A INPUT -p udp --dport $ZERONET_PORT -j ACCEPT" >> $BATMAN_SCRIPT
255
+    echo "    iptables -A INPUT -p udp --dport $TRACKER_PORT -j ACCEPT" >> $BATMAN_SCRIPT
256
+    echo "    iptables -A INPUT -p tcp --dport $TRACKER_PORT -j ACCEPT" >> $BATMAN_SCRIPT
257
+    echo "    iptables -A INPUT -p tcp --dport $IPFS_PORT -j ACCEPT" >> $BATMAN_SCRIPT
258
+    echo "    iptables -A INPUT -p udp --dport 1900 -j ACCEPT" >> $BATMAN_SCRIPT
259
+    echo "    iptables -A INPUT -p tcp --dport 80 -j ACCEPT" >> $BATMAN_SCRIPT
260
+    echo "    iptables -A INPUT -p udp -m udp -j ACCEPT" >> $BATMAN_SCRIPT
261
+    echo '' >> $BATMAN_SCRIPT
262
+    echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
263
+    echo '        systemctl restart avahi-daemon' >> $BATMAN_SCRIPT
264
+    echo '    else' >> $BATMAN_SCRIPT
265
+    echo '        service avahi-daemon restart' >> $BATMAN_SCRIPT
266
+    echo '    fi' >> $BATMAN_SCRIPT
267
+    echo '    echo "batman" > /tmp/meshtype' >> $BATMAN_SCRIPT
268
+    echo '}' >> $BATMAN_SCRIPT
269
+    echo '' >> $BATMAN_SCRIPT
270
+    echo 'stop() {' >> $BATMAN_SCRIPT
271
+    echo '    if [ -z "$IFACE" ]; then' >> $BATMAN_SCRIPT
272
+    echo '        echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $BATMAN_SCRIPT
273
+    echo '        return' >> $BATMAN_SCRIPT
274
+    echo '    fi' >> $BATMAN_SCRIPT
275
+    echo '    if [ "$EIFACE" ]; then' >> $BATMAN_SCRIPT
276
+    echo '        brctl delif $BRIDGE bat0' >> $BATMAN_SCRIPT
277
+    echo '        brctl delif $BRIDGE $EIFACE' >> $BATMAN_SCRIPT
278
+    echo '        ifconfig $BRIDGE down || true' >> $BATMAN_SCRIPT
279
+    echo '        brctl delbr $BRIDGE' >> $BATMAN_SCRIPT
280
+    echo '        ifconfig $EIFACE down -promisc' >> $BATMAN_SCRIPT
281
+    echo '    fi' >> $BATMAN_SCRIPT
282
+    echo '' >> $BATMAN_SCRIPT
283
+    echo '    avahi-autoipd -k $BRIDGE' >> $BATMAN_SCRIPT
284
+    echo '    avahi-autoipd -k $IFACE' >> $BATMAN_SCRIPT
285
+    echo '    ifconfig bat0 down -promisc' >> $BATMAN_SCRIPT
286
+    echo '' >> $BATMAN_SCRIPT
287
+    echo '    batctl if del $IFACE' >> $BATMAN_SCRIPT
288
+    echo '    rmmod batman-adv' >> $BATMAN_SCRIPT
289
+    echo '    ifconfig $IFACE mtu 1500' >> $BATMAN_SCRIPT
290
+    echo '    ifconfig $IFACE down' >> $BATMAN_SCRIPT
291
+    echo '    iwconfig $IFACE mode managed' >> $BATMAN_SCRIPT
292
+    echo '' >> $BATMAN_SCRIPT
293
+    echo '    iptables -D INPUT -p tcp --dport 548 -j ACCEPT' >> $BATMAN_SCRIPT
294
+    echo '    iptables -D INPUT -p udp --dport 548 -j ACCEPT' >> $BATMAN_SCRIPT
295
+    echo '    iptables -D INPUT -p tcp --dport 5353 -j ACCEPT' >> $BATMAN_SCRIPT
296
+    echo '    iptables -D INPUT -p udp --dport 5353 -j ACCEPT' >> $BATMAN_SCRIPT
297
+    echo '    iptables -D INPUT -p tcp --dport 5354 -j ACCEPT' >> $BATMAN_SCRIPT
298
+    echo '    iptables -D INPUT -p udp --dport 5354 -j ACCEPT' >> $BATMAN_SCRIPT
299
+    echo "    iptables -D INPUT -p tcp --dport $ZERONET_PORT -j ACCEPT" >> $BATMAN_SCRIPT
300
+    echo "    iptables -D INPUT -p udp --dport $ZERONET_PORT -j ACCEPT" >> $BATMAN_SCRIPT
301
+    echo "    iptables -D INPUT -p udp --dport $TRACKER_PORT -j ACCEPT" >> $BATMAN_SCRIPT
302
+    echo "    iptables -D INPUT -p tcp --dport $TRACKER_PORT -j ACCEPT" >> $BATMAN_SCRIPT
303
+    echo "    iptables -D INPUT -p tcp --dport $IPFS_PORT -j ACCEPT" >> $BATMAN_SCRIPT
304
+    echo "    iptables -D INPUT -p udp --dport 1900 -j ACCEPT" >> $BATMAN_SCRIPT
305
+    echo "    iptables -D INPUT -p tcp --dport 80 -j ACCEPT" >> $BATMAN_SCRIPT
306
+    echo "    iptables -D INPUT -p udp -m udp -j ACCEPT" >> $BATMAN_SCRIPT
307
+    echo '' >> $BATMAN_SCRIPT
308
+    echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
309
+    echo '        systemctl restart network-manager' >> $BATMAN_SCRIPT
310
+    echo '    else' >> $BATMAN_SCRIPT
311
+    echo '        service network-manager restart' >> $BATMAN_SCRIPT
312
+    echo '    fi' >> $BATMAN_SCRIPT
313
+    echo '    ' >> $BATMAN_SCRIPT
314
+    echo '    # restore tox bootstrap nodes for the internet' >> $BATMAN_SCRIPT
315
+    echo '    if [ -f /usr/share/toxic/DHTnodes.internet ]; then' >> $BATMAN_SCRIPT
316
+    echo '        mv /usr/share/toxic/DHTnodes.internet /usr/share/toxic/DHTnodes' >> $BATMAN_SCRIPT
317
+    echo '    fi' >> $BATMAN_SCRIPT
318
+    echo '    if [ -f /usr/local/share/toxic/DHTnodes.internet ]; then' >> $BATMAN_SCRIPT
319
+    echo '        mv /usr/local/share/toxic/DHTnodes.internet /usr/local/share/toxic/DHTnodes' >> $BATMAN_SCRIPT
320
+    echo '    fi' >> $BATMAN_SCRIPT
321
+    echo '' >> $BATMAN_SCRIPT
322
+    echo '    if [ -f /bin/systemctl ]; then' >> $BATMAN_SCRIPT
323
+    echo '        systemctl stop avahi-daemon' >> $BATMAN_SCRIPT
324
+    echo '    else' >> $BATMAN_SCRIPT
325
+    echo '        service avahi-daemon stop' >> $BATMAN_SCRIPT
326
+    echo '    fi' >> $BATMAN_SCRIPT
327
+    echo '' >> $BATMAN_SCRIPT
328
+    echo '    sudo rm -f /tmp/meshtype' >> $BATMAN_SCRIPT
329
+    echo '' >> $BATMAN_SCRIPT
330
+    echo '    # kill processes' >> $BATMAN_SCRIPT
331
+    echo '    zeronet_proc=$(ps aux | grep zeronet | grep -v grep | awk -F " " "{print $2}" | head -n1)' >> $BATMAN_SCRIPT
332
+    echo '    if [ "$zeronet_proc" ]; then' >> $BATMAN_SCRIPT
333
+    echo '        kill -9 $zeronet_proc 2> /dev/null' >> $BATMAN_SCRIPT
334
+    echo '    fi' >> $BATMAN_SCRIPT
335
+    echo '    tracker_proc=$(ps aux | grep bttrack | grep -v grep | awk -F " " "{print $2}" | head -n1)' >> $BATMAN_SCRIPT
336
+    echo '    if [ "$tracker_proc" ]; then' >> $BATMAN_SCRIPT
337
+    echo '        kill -9 $tracker_proc 2> /dev/null' >> $BATMAN_SCRIPT
338
+    echo '    fi' >> $BATMAN_SCRIPT
339
+    echo '    if [ ! -f /etc/systemd/system/ipfs.service ]; then' >> $BATMAN_SCRIPT
340
+    echo '        ipfs_proc=$(ps aux | grep ipfs | grep -v grep | awk -F " " "{print $2}" | head -n1)' >> $BATMAN_SCRIPT
341
+    echo '        if [ "$ipfs_proc" ]; then' >> $BATMAN_SCRIPT
342
+    echo '            kill -9 $ipfs_proc 2> /dev/null' >> $BATMAN_SCRIPT
343
+    echo '        fi' >> $BATMAN_SCRIPT
344
+    echo '    fi' >> $BATMAN_SCRIPT
345
+    echo '}' >> $BATMAN_SCRIPT
346
+    echo '' >> $BATMAN_SCRIPT
347
+    echo 'if ! grep -q "$IFACE" /proc/net/dev; then' >> $BATMAN_SCRIPT
348
+    echo '    echo "Interface $IFACE was not found"' >> $BATMAN_SCRIPT
349
+    echo '    stop' >> $BATMAN_SCRIPT
350
+    echo '    exit 1' >> $BATMAN_SCRIPT
351
+    echo 'fi' >> $BATMAN_SCRIPT
352
+    echo '' >> $BATMAN_SCRIPT
353
+    echo 'case "$1" in' >> $BATMAN_SCRIPT
354
+    echo '    start|stop)' >> $BATMAN_SCRIPT
355
+    echo '        $1' >> $BATMAN_SCRIPT
356
+    echo '        ;;' >> $BATMAN_SCRIPT
357
+    echo '    restart)' >> $BATMAN_SCRIPT
358
+    echo '        stop' >> $BATMAN_SCRIPT
359
+    echo '        sleep 10' >> $BATMAN_SCRIPT
360
+    echo '        start' >> $BATMAN_SCRIPT
361
+    echo '        ;;' >> $BATMAN_SCRIPT
362
+    echo '    status)' >> $BATMAN_SCRIPT
363
+    echo '        batctl o' >> $BATMAN_SCRIPT
364
+    echo '        ;;' >> $BATMAN_SCRIPT
365
+    echo '    ping)' >> $BATMAN_SCRIPT
366
+    echo '        batctl ping $2' >> $BATMAN_SCRIPT
367
+    echo '        ;;' >> $BATMAN_SCRIPT
368
+    echo '    ls|list)' >> $BATMAN_SCRIPT
369
+    echo '        avahi-browse -atl' >> $BATMAN_SCRIPT
370
+    echo '        ;;' >> $BATMAN_SCRIPT
371
+    echo '    *)' >> $BATMAN_SCRIPT
372
+    echo '    echo "error: invalid parameter $1"' >> $BATMAN_SCRIPT
373
+    echo '    echo "usage: $0 {start|stop|restart|status|ping|ls|list}"' >> $BATMAN_SCRIPT
374
+    echo '    exit 2' >> $BATMAN_SCRIPT
375
+    echo '    ;;' >> $BATMAN_SCRIPT
376
+    echo 'esac' >> $BATMAN_SCRIPT
377
+    echo 'exit 0' >> $BATMAN_SCRIPT
378
+    chmod +x $BATMAN_SCRIPT
379
+    sudo cp -f $BATMAN_SCRIPT /usr/bin/batman
380
+    rm $BATMAN_SCRIPT
375 381
 }
376 382
 
377 383
 function show_help {

+ 7
- 1
src/freedombone-image-mesh Vedi File

@@ -270,6 +270,12 @@ function configure_zeronet_forum {
270 270
 }
271 271
 
272 272
 function configure_tox {
273
+    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
274
+        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
275
+    else
276
+        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')       
277
+    fi 
278
+
273 279
     echo $'Regenerating Tox bootstrap node keys'
274 280
     systemctl stop tox-bootstrapd.service
275 281
     if [ -f /var/lib/tox-bootstrapd/keys ]; then
@@ -292,7 +298,7 @@ function configure_tox {
292 298
         su -c "echo 'n
293 299
 /nick P$PEER_ID
294 300
 /exit
295
-' | /usr/bin/toxic -d" - $MY_USERNAME
301
+' | $TOXIC_FILE -d" - $MY_USERNAME
296 302
     fi
297 303
 }
298 304
 

+ 14
- 10
src/freedombone-mesh Vedi File

@@ -34,7 +34,11 @@ export TEXTDOMAIN=${PROJECT_NAME}-mesh
34 34
 export TEXTDOMAINDIR="/usr/share/locale"
35 35
 
36 36
 MUMBLE_PATH=/usr/bin/mumble
37
-TOXIC_PATH=/usr/bin/toxic
37
+if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
38
+    TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
39
+else
40
+    TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')       
41
+fi 
38 42
 DHTNODES=/usr/share/toxic/DHTnodes
39 43
 
40 44
 PEERS_FILE=/tmp/meshpeers.txt
@@ -164,7 +168,7 @@ function install_toxid {
164 168
 
165 169
 function run_tox {
166 170
     echo $QTOX_INI
167
-    if [[ -f $TOXIC_PATH || -f $QTOX_INI ]]; then
171
+    if [[ -f $TOXIC_FILE || -f $QTOX_INI ]]; then
168 172
         if [[ $SERVER_INSTALLATION == "no" ]]; then
169 173
             # update bootstrap nodes
170 174
             if [ -f $DHTNODES ]; then
@@ -213,9 +217,9 @@ function run_tox {
213 217
 /nick $USER
214 218
 /add $PEER_TOX_ID
215 219
 /exit
216
-" | $TOXIC_PATH -d
220
+" | $TOXIC_FILE -d
217 221
                 # Running twice is a hack to get around buggyness in the client
218
-                $TOXIC_PATH -d
222
+                $TOXIC_FILE -d
219 223
             fi
220 224
             exit 0
221 225
         else
@@ -239,7 +243,7 @@ fi
239 243
 
240 244
 # alternative toxic paths
241 245
 if [ -f /usr/local/bin/toxic ]; then
242
-    TOXIC_PATH=/usr/local/bin/toxic
246
+    TOXIC_FILE=/usr/local/bin/toxic
243 247
 fi
244 248
 if [ -f /usr/local/share/toxic/DHTnodes ]; then
245 249
     DHTNODES=/usr/local/share/toxic/DHTnodes
@@ -259,8 +263,8 @@ fi
259 263
 avahi-browse -atl | awk -F ' ' '{print $4}' | sort -u > $PEERS_FILE
260 264
 
261 265
 if [ ! -f $PEERS_FILE ]; then
262
-   echo $'No peers were found'
263
-   exit 0
266
+    echo $'No peers were found'
267
+    exit 0
264 268
 fi
265 269
 
266 270
 ctr=0
@@ -269,8 +273,8 @@ while IFS='' read -r line || [[ -n "$line" ]]; do
269 273
 done < "$PEERS_FILE"
270 274
 
271 275
 if [ ${ctr} -lt "1" ]; then
272
-   echo $'No peers were found'
273
-   exit 0
276
+    echo $'No peers were found'
277
+    exit 0
274 278
 fi
275 279
 
276 280
 clear
@@ -315,7 +319,7 @@ if [ ! $AVAHI_DOMAIN ]; then
315 319
 fi
316 320
 
317 321
 # if only mumble is installed
318
-if [ ! -f $TOXIC_PATH ]; then
322
+if [ ! -f $TOXIC_FILE ]; then
319 323
     if [ -f $MUMBLE_PATH ]; then
320 324
         $MUMBLE_PATH &
321 325
         exit 0

+ 23
- 5
src/freedombone-mesh-install Vedi File

@@ -225,15 +225,21 @@ function mesh_avahi {
225 225
 }
226 226
 
227 227
 function mesh_babel_client {
228
+    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
229
+        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
230
+    else
231
+        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')       
232
+    fi 
233
+
228 234
     if [ ! -f ${rootdir}/tmp/meshtype ]; then
229 235
         $CHROOT_PREFIX sudo apt-get -y install babeld
230 236
         $CHROOT_PREFIX sudo apt-get -y install irssi mumble
231
-        if [ ! -f /usr/bin/toxic ]; then
237
+        if [ ! -f $TOXIC_FILE ]; then
232 238
             $CHROOT_PREFIX sudo apt-get -y install toxic
233 239
             echo "n
234 240
 /nick $USER
235 241
 /exit
236
-" | ${rootdir}/usr/bin/toxic -d
242
+" | ${rootdir}$TOXIC_FILE -d
237 243
         fi
238 244
 
239 245
         CURR_DIR=$(pwd)
@@ -562,6 +568,12 @@ function mesh_tox_node {
562 568
 }
563 569
 
564 570
 function mesh_tox_client {
571
+    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
572
+        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
573
+    else
574
+        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')       
575
+    fi 
576
+
565 577
     # obtain commits from the main file
566 578
     if [ -f /usr/local/bin/freedombone ]; then
567 579
         TOXIC_COMMIT_MAIN=$(cat /usr/local/bin/freedombone | grep "TOXIC_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
@@ -587,7 +599,7 @@ function mesh_tox_client {
587 599
         exit 74872
588 600
     fi
589 601
     $CHROOT_PREFIX make install
590
-    if [ ! -f /usr/local/bin/toxic ]; then
602
+    if [ ! -f $TOXIC_FILE ]; then
591 603
         echo $'Tox client was not installed'
592 604
         exit 63278
593 605
     fi  
@@ -706,17 +718,23 @@ function mesh_zeronet {
706 718
 }
707 719
 
708 720
 function mesh_batman_client {
721
+    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
722
+        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
723
+    else
724
+        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')       
725
+    fi 
726
+
709 727
     if [ ! -f ${rootdir}/tmp/meshtype ]; then
710 728
         $CHROOT_PREFIX sudo apt-get -y install iproute bridge-utils libnetfilter-conntrack3 batctl
711 729
         $CHROOT_PREFIX sudo apt-get -y install python-dev libevent-dev ebtables python-pip
712 730
         $CHROOT_PREFIX sudo apt-get -y install wireless-tools rfkill
713 731
         $CHROOT_PREFIX sudo apt-get -y install irssi mumble
714
-        if [ ! -f /usr/bin/toxic ]; then
732
+        if [ ! -f $TOXIC_FILE ]; then
715 733
             $CHROOT_PREFIX sudo apt-get -y install toxic
716 734
             echo "n
717 735
        /nick $USER
718 736
        /exit
719
-       " | ${rootdir}/usr/bin/toxic -d
737
+       " | ${rootdir}$TOXIC_FILE -d
720 738
         fi
721 739
     fi
722 740