浏览代码

Starting mesh client improvements

In the new design installing things onto unknown clients isn't needed
Bob Mottram 8 年前
父节点
当前提交
f1734b0420
共有 1 个文件被更改,包括 3 次插入502 次删除
  1. 3
    502
      src/freedombone-meshweb

+ 3
- 502
src/freedombone-meshweb 查看文件

@@ -33,477 +33,13 @@ PROJECT_NAME='freedombone'
33 33
 export TEXTDOMAIN=${PROJECT_NAME}-meshweb
34 34
 export TEXTDOMAINDIR="/usr/share/locale"
35 35
 
36
-# client or server installations sounds odd for a mesh, but this
37
-# indicates whether this is a dedicated mesh peer ("yes") or
38
-# a 'client' such as a laptop or desktop machine with
39
-# the freedombone-client script installed
40
-SERVER_INSTALLATION="no"
41
-
42
-PEERS_FILE=/tmp/meshwebstart
43
-
44
-ZERONET_REPO='https://github.com/HelloZeroNet/ZeroNet.git'
45
-ZERONET_COMMIT='675bd462556c541d65e2d95f91f899146a373aad'
46
-ZERONET_BLOG_REPO='https://github.com/HelloZeroNet/ZeroBlog'
47
-ZERONET_BLOG_COMMIT='bbb0d6c36465fed2e6df71f1aab45fcc9c6ad609'
48
-ZERONET_MAIL_REPO='https://github.com/HelloZeroNet/ZeroMail'
49
-ZERONET_MAIL_COMMIT='955af09d643c72b02e4983d71eca5c0c93a6c131'
50
-ZERONET_FORUM_REPO='https://github.com/HelloZeroNet/ZeroTalk'
51
-ZERONET_FORUM_COMMIT='e2d2c9cb1cfbfef91b244935efb5c14c2ad95faa'
52
-ZERONET_URL=http://127.0.0.1:43110
53
-ZERONET_PORT=15441
54
-TRACKER_PORT=6969
55
-MY_USERNAME=$USER
56
-ZERONET_DIR=/home/$MY_USERNAME/zeronet
57
-UPDATED="no"
58
-ZERONET_DEFAULT_BLOG_TAGLINE=$"Blogging on the Mesh"
59
-ZERONET_DEFAULT_FORUM_TAGLINE=$"A decentralized discussion group"
60
-ZERONET_DEFAULT_MAIL_TAGLINE=$"Mail for the Mesh"
61
-
62
-IPFS_PORT=4001
63
-
64 36
 MESH_INSTALL_DIR=/var/lib
65
-
66
-function install_ipfs {
67
-  if [ ! -f /home/$MY_USERNAME/go/bin/ipfs ]; then
68
-      if [ ! -d /usr/local/go ]; then
69
-          sudo apt-get -y install golang
70
-      fi
71
-      sudo apt-get -y install libpam0g-dev fuse
72
-      if ! grep -q "GOROOT" /home/$MY_USERNAME/.bashrc; then
73
-          if [ -d /usr/local/go ]; then
74
-              echo "export GOROOT=/usr/local/go" >> /home/$MY_USERNAME/.bashrc
75
-          fi
76
-      fi
77
-      if ! grep -q "GOPATH/bin" /home/$MY_USERNAME/.bashrc; then
78
-          echo "export GOPATH=/home/$MY_USERNAME/go" >> /home/$MY_USERNAME/.bashrc
79
-          echo 'export PATH="$GOPATH/bin:$PATH:";' >> /home/$MY_USERNAME/.bashrc
80
-          chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.bashrc
81
-      fi
82
-      if [ ! -d /home/$MY_USERNAME/go ]; then
83
-          mkdir /home/$MY_USERNAME/go
84
-      fi
85
-      . /home/$MY_USERNAME/.bashrc
86
-      go get -u github.com/ipfs/go-ipfs/cmd/ipfs
87
-      if [ ! "$?" = "0" ]; then
88
-          exit 8242
89
-      fi
90
-  fi
91
-
92
-  if [ ! -d /home/$MY_USERNAME/.ipfs ]; then
93
-      ipfs init -b 4096
94
-      if [ ! -d /home/$MY_USERNAME/.ipfs ]; then
95
-          echo $"IPFS could not be initialised"
96
-          exit 7358
97
-      fi
98
-
99
-      # directories to mount to
100
-      if [ ! -d /ipfs ]; then
101
-          sudo mkdir /ipfs
102
-          sudo mkdir /ipns
103
-          sudo chown $MY_USERNAME:$MY_USERNAME /ipfs
104
-          sudo chown $MY_USERNAME:$MY_USERNAME /ipns
105
-      fi
106
-
107
-      if [ -f /etc/fuse.conf ]; then
108
-          sudo chown $MY_USERNAME:$MY_USERNAME /etc/fuse.conf
109
-      fi
110
-      if [ -f /dev/fuse ]; then
111
-          sudo chown $MY_USERNAME:$MY_USERNAME /dev/fuse
112
-      fi
113
-  fi
114
-
115
-  IPFS_PEER_ID=$(ipfs id | grep '\"ID\":' | awk -F '\"' '{print $4}')
116
-  if [ ${#IPFS_PEER_ID} -lt 10 ]; then
117
-      echo $'Invalid IPFS peer ID'
118
-      echo "$IPFS_PEER_ID"
119
-      exit 74782
120
-  fi
121
-
122
-  # Add an avahi service
123
-  echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/ipfs.service
124
-  echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/ipfs.service
125
-  echo '<service-group>' >> /tmp/ipfs.service
126
-  echo '  <name replace-wildcards="yes">%h IPFS</name>' >> /tmp/ipfs.service
127
-  echo '  <service>' >> /tmp/ipfs.service
128
-  echo '    <type>_ipfs._tcp</type>' >> /tmp/ipfs.service
129
-  echo "    <port>$IPFS_PORT</port>" >> /tmp/ipfs.service
130
-  echo "    <txt-record>$IPFS_PEER_ID</txt-record>" >> /tmp/ipfs.service
131
-  echo '  </service>' >> /tmp/ipfs.service
132
-  echo '</service-group>' >> /tmp/ipfs.service
133
-  sudo cp /tmp/ipfs.service /etc/avahi/services/ipfs.service
134
-}
135
-
136
-function install_zeronet_blog {
137
-    if [ ! -f /home/$MY_USERNAME/README ]; then
138
-        touch /home/$MY_USERNAME/README
139
-    fi
140
-
141
-    if grep -q "ZeroNet Blog address" /home/$MY_USERNAME/README; then
142
-        return
143
-    fi
144
-
145
-    if [ ! -d /etc/avahi ]; then
146
-        echo $'Avahi is not installed'
147
-        exit 736
148
-    fi
149
-
150
-    ZERONET_DEFAULT_BLOG_TITLE=$"${MY_USERNAME}'s Blog"
151
-
152
-    cd $ZERONET_DIR
153
-    python zeronet.py --batch siteCreate 2> $ZERONET_DIR/blog.txt
154
-    if [ ! -f $ZERONET_DIR/blog.txt ]; then
155
-        echo $'Unable to create blog'
156
-        exit 479
157
-    fi
158
-    blog_address=$(cat blog.txt | grep "Site address" | awk -F ':' '{print $2}')
159
-    blog_private_key=$(cat blog.txt | grep "Site private key" | awk -F ':' '{print $2}')
160
-    ZERONET_BLOG_ADDRESS=${blog_address//[[:blank:]]/}
161
-    ZERONET_BLOG_PRIVATE_KEY=${blog_private_key//[[:blank:]]/}
162
-
163
-    if [ ${#ZERONET_BLOG_ADDRESS} -lt 20 ]; then
164
-        echo $"Address:    $ZERONET_BLOG_ADDRESS"
165
-        echo $"Public key: $ZERONET_BLOG_PRIVATE_KEY"
166
-        echo $'Unable to create zeronet blog address'
167
-        exit 7358
168
-    fi
169
-
170
-    if [ ${#ZERONET_BLOG_PRIVATE_KEY} -lt 20 ]; then
171
-        echo $"Address:    $ZERONET_BLOG_ADDRESS"
172
-        echo $"Public key: $ZERONET_BLOG_PRIVATE_KEY"
173
-        echo $'Unable to create zeronet blog private key'
174
-        exit 1639
175
-    fi
176
-
177
-    if [ ! -d "$ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS" ]; then
178
-        echo $"Unable to find site directory: $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS"
179
-        exit 7638
180
-    fi
181
-
182
-    git clone $ZERONET_BLOG_REPO ZeroBlog
183
-    if [ ! -d $ZERONET_DIR/ZeroBlog ]; then
184
-        echo $'ZeroBlog repo could not be cloned'
185
-        exit 6739
186
-    fi
187
-    cd $MESH_INSTALL_DIR/zeronet/ZeroBlog
188
-    git checkout $ZERONET_BLOG_COMMIT -b $ZERONET_BLOG_COMMIT
189
-
190
-    echo $"Blog address:     $ZERONET_BLOG_ADDRESS"
191
-    echo $"Blog private key: $ZERONET_BLOG_PRIVATE_KEY"
192
-    cp -r $ZERONET_DIR/ZeroBlog/* $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS
193
-    if [ ! -d $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/data ]; then
194
-        mkdir $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/data
195
-    fi
196
-    cp $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/data-default/data.json $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/data
197
-    sed -i "s/MyZeroBlog/$ZERONET_DEFAULT_BLOG_TITLE/g" $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/data/data.json
198
-    sed -i "s/My ZeroBlog./$ZERONET_DEFAULT_BLOG_TAGLINE/g" $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/data/data.json
199
-    sed -i "s/ZeroBlog Demo/$ZERONET_DEFAULT_BLOG_TITLE/g" $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/index.html
200
-    sed -i "s|<h3 class=\"description\">.*|<h3 class="description">$ZERONET_DEFAULT_BLOG_TAGLINE</h3>|g" $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/index.html
201
-    sed -i "s/Blogging platform Demo/Blogging platform/g" $ZERONET_DIR/data/$ZERONET_BLOG_ADDRESS/content.json
202
-    python zeronet.py siteSign $ZERONET_BLOG_ADDRESS $ZERONET_BLOG_PRIVATE_KEY
203
-
204
-    # Add an avahi service
205
-    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-blog.service
206
-    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-blog.service
207
-    echo '<service-group>' >> /tmp/zeronet-blog.service
208
-    echo '  <name replace-wildcards="yes">%h ZeroNet Blog</name>' >> /tmp/zeronet-blog.service
209
-    echo '  <service>' >> /tmp/zeronet-blog.service
210
-    echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-blog.service
211
-    echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-blog.service
212
-    echo "    <txt-record>$ZERONET_URL/$ZERONET_BLOG_ADDRESS</txt-record>" >> /tmp/zeronet-blog.service
213
-    echo '  </service>' >> /tmp/zeronet-blog.service
214
-    echo '</service-group>' >> /tmp/zeronet-blog.service
215
-    sudo cp /tmp/zeronet-blog.service /etc/avahi/services/zeronet-blog.service
216
-
217
-    if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
218
-        mkdir -p /home/$MY_USERNAME/.config/zeronet
219
-        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
220
-    fi
221
-    echo "$ZERONET_URL/$ZERONET_BLOG_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/myblog
222
-
223
-    if ! grep -q "ZeroNet Blog address" /home/$MY_USERNAME/README; then
224
-        echo '' >> /home/$MY_USERNAME/README
225
-        echo $"ZeroNet Blog address: $ZERONET_BLOG_ADDRESS" >> /home/$MY_USERNAME/README
226
-        echo $"ZeroNet Blog private key: $ZERONET_BLOG_PRIVATE_KEY" >> /home/$MY_USERNAME/README
227
-    fi
228
-
229
-    echo $'Zeronet blog installed'
230
-}
231
-
232
-function install_zeronet_mail {
233
-  if [ ! -f /home/$MY_USERNAME/README ]; then
234
-      touch /home/$MY_USERNAME/README
235
-  fi
236
-
237
-  if grep -q "ZeroNet Mail address" /home/$MY_USERNAME/README; then
238
-      return
239
-  fi
240
-
241
-  if [ ! -d /etc/avahi ]; then
242
-      echo $'Avahi is not installed'
243
-      exit 736
244
-  fi
245
-
246
-  ZERONET_DEFAULT_MAIL_TITLE=$"${MY_USERNAME}'s Mail"
247
-
248
-  cd $MESH_INSTALL_DIR/zeronet
249
-  python zeronet.py --batch siteCreate 2> $MESH_INSTALL_DIR/zeronet/mail.txt
250
-  if [ ! -f $MESH_INSTALL_DIR/zeronet/mail.txt ]; then
251
-      echo 'Unable to create mail'
252
-      exit 479
253
-  fi
254
-  mail_address=$(cat mail.txt | grep "Site address" | awk -F ':' '{print $2}')
255
-  mail_private_key=$(cat mail.txt | grep "Site private key" | awk -F ':' '{print $2}')
256
-  ZERONET_MAIL_ADDRESS=${mail_address//[[:blank:]]/}
257
-  ZERONET_MAIL_PRIVATE_KEY=${mail_private_key//[[:blank:]]/}
258
-
259
-  if [ ${#ZERONET_MAIL_ADDRESS} -lt 20 ]; then
260
-      echo $"Address:    $ZERONET_MAIL_ADDRESS"
261
-      echo $"Public key: $ZERONET_MAIL_PRIVATE_KEY"
262
-      echo $'Unable to create zeronet mail address'
263
-      exit 7358
264
-  fi
265
-
266
-  if [ ${#ZERONET_MAIL_PRIVATE_KEY} -lt 20 ]; then
267
-      echo $"Address:    $ZERONET_MAIL_ADDRESS"
268
-      echo $"Public key: $ZERONET_MAIL_PRIVATE_KEY"
269
-      echo $'Unable to create zeronet mail private key'
270
-      exit 1639
271
-  fi
272
-
273
-  if [ ! -d "$MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS" ]; then
274
-      echo $"Unable to find site directory: $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS"
275
-      exit 7638
276
-  fi
277
-
278
-  git clone $ZERONET_MAIL_REPO ZeroMail
279
-  if [ ! -d $MESH_INSTALL_DIR/zeronet/ZeroMail ]; then
280
-      echo $'ZeroMail repo could not be cloned'
281
-      exit 6739
282
-  fi
283
-  cd $MESH_INSTALL_DIR/zeronet/ZeroMail
284
-  git checkout $ZERONET_MAIL_COMMIT -b $ZERONET_MAIL_COMMIT
285
-
286
-  echo $"ZeroNet Mail address:     $ZERONET_MAIL_ADDRESS"
287
-  echo $"ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY"
288
-  cp -r $MESH_INSTALL_DIR/zeronet/ZeroMail/* $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS
289
-
290
-  if [ ! -d $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/data ]; then
291
-      mkdir $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/data
292
-  fi
293
-  cp $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/data-default/data.json $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/data
294
-  sed -i "s/MyZeroMail/$ZERONET_DEFAULT_MAIL_TITLE/g" $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/data/data.json
295
-  sed -i "s/My ZeroMail./$ZERONET_DEFAULT_MAIL_TAGLINE/g" $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/data/data.json
296
-  sed -i "s/ZeroMail Demo/$ZERONET_DEFAULT_MAIL_TITLE/g" $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/index.html
297
-  sed -i "s|<h3 class=\"description\">.*|<h3 class=\"description\">$ZERONET_DEFAULT_MAIL_TAGLINE</h3>|g" $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/index.html
298
-  sed -i "s/Mailging platform Demo/Mailging platform/g" $MESH_INSTALL_DIR/zeronet/data/$ZERONET_MAIL_ADDRESS/content.json
299
-  python zeronet.py siteSign $ZERONET_MAIL_ADDRESS $ZERONET_MAIL_PRIVATE_KEY
300
-
301
-  # Add an avahi service
302
-  echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-mail.service
303
-  echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-mail.service
304
-  echo '<service-group>' >> /tmp/zeronet-mail.service
305
-  echo '  <name replace-wildcards="yes">%h ZeroNet Mail</name>' >> /tmp/zeronet-mail.service
306
-  echo '  <service>' >> /tmp/zeronet-mail.service
307
-  echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-mail.service
308
-  echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-mail.service
309
-  echo "    <txt-record>$ZERONET_URL/$ZERONET_MAIL_ADDRESS</txt-record>" >> /tmp/zeronet-mail.service
310
-  echo '  </service>' >> /tmp/zeronet-mail.service
311
-  echo '</service-group>' >> /tmp/zeronet-mail.service
312
-  cp /tmp/zeronet-mail.service /etc/avahi/services/zeronet-mail.service
313
-
314
-  if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
315
-      mkdir -p /home/$MY_USERNAME/.config/zeronet
316
-      chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
317
-  fi
318
-  echo "$ZERONET_URL/$ZERONET_MAIL_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/mymail
319
-
320
-  if ! grep -q "ZeroNet Mail address" /home/$MY_USERNAME/README; then
321
-      echo '' >> /home/$MY_USERNAME/README
322
-      echo "ZeroNet Mail address: $ZERONET_MAIL_ADDRESS" >> /home/$MY_USERNAME/README
323
-      echo "ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY" >> /home/$MY_USERNAME/README
324
-  fi
325
-
326
-    echo $'Zeronet mail installed'
327
-}
328
-
329
-function install_zeronet_forum {
330
-    if [ ! -f /home/$MY_USERNAME/README ]; then
331
-        touch /home/$MY_USERNAME/README
332
-    fi
333
-
334
-    if grep -q "ZeroNet Forum address" /home/$MY_USERNAME/README; then
335
-        return
336
-    fi
337
-
338
-    if [ ! -d /etc/avahi ]; then
339
-        echo $'Avahi is not installed'
340
-        exit 736
341
-    fi
342
-
343
-    ZERONET_DEFAULT_FORUM_TITLE="${MY_USERNAME}'s Forum"
344
-
345
-    cd $ZERONET_DIR
346
-    python zeronet.py --batch siteCreate 2> $ZERONET_DIR/forum.txt
347
-    if [ ! -f $ZERONET_DIR/forum.txt ]; then
348
-        echo $'Unable to create forum'
349
-        exit 479
350
-    fi
351
-    forum_address=$(cat forum.txt | grep "Site address" | awk -F ':' '{print $2}')
352
-    forum_private_key=$(cat forum.txt | grep "Site private key" | awk -F ':' '{print $2}')
353
-    ZERONET_FORUM_ADDRESS=${forum_address//[[:blank:]]/}
354
-    ZERONET_FORUM_PRIVATE_KEY=${forum_private_key//[[:blank:]]/}
355
-
356
-    if [ ${#ZERONET_FORUM_ADDRESS} -lt 20 ]; then
357
-        echo $"Address:    $ZERONET_FORUM_ADDRESS"
358
-        echo $"Public key: $ZERONET_FORUM_PRIVATE_KEY"
359
-        echo $'Unable to create zeronet forum address'
360
-        exit 76352
361
-    fi
362
-
363
-    if [ ${#ZERONET_FORUM_PRIVATE_KEY} -lt 20 ]; then
364
-        echo $"Address:    $ZERONET_FORUM_ADDRESS"
365
-        echo $"Public key: $ZERONET_FORUM_PRIVATE_KEY"
366
-        echo $'Unable to create zeronet forum private key'
367
-        exit 87356
368
-    fi
369
-
370
-    if [ ! -d "$ZERONET_DIR/data/$ZERONET_FORUM_ADDRESS" ]; then
371
-        echo $"Unable to find site directory: $ZERONET_DIR/data/$ZERONET_FORUM_ADDRESS"
372
-        exit 7638
373
-    fi
374
-
375
-    git clone $ZERONET_FORUM_REPO ZeroTalk
376
-    if [ ! -d $ZERONET_DIR/ZeroTalk ]; then
377
-        echo $'ZeroTalk repo could not be cloned'
378
-        exit 6739
379
-    fi
380
-    cd $MESH_INSTALL_DIR/zeronet/ZeroTalk
381
-    git checkout $ZERONET_FORUM_COMMIT -b $ZERONET_FORUM_COMMIT
382
-
383
-    echo $"Forum address:     $ZERONET_FORUM_ADDRESS"
384
-    echo $"Forum private key: $ZERONET_FORUM_PRIVATE_KEY"
385
-    cp -r $ZERONET_DIR/ZeroTalk/* $ZERONET_DIR/data/$ZERONET_FORUM_ADDRESS
386
-    sed -i "s/ZeroBoard/$ZERONET_DEFAULT_FORUM_TITLE/g" $ZERONET_DIR/data/$ZERONET_FORUM_ADDRESS/index.html
387
-    sed -i "s/ZeroTalk/$ZERONET_DEFAULT_FORUM_TITLE/g" $ZERONET_DIR/data/$ZERONET_FORUM_ADDRESS/index.html
388
-    sed -i "s|Demo for dynamic, decentralized content publishing.|$ZERONET_DEFAULT_FORUM_TAGLINE|g" $ZERONET_DIR/data/$ZERONET_FORUM_ADDRESS/index.html
389
-    sed -i 's/Messaging Board Demo/Messaging Board/g' $ZERONET_DIR/data/$ZERONET_FORUM_ADDRESS/content.json
390
-    sed -i "s/ZeroBoard/$ZERONET_DEFAULT_FORUM_TITLE/g" $ZERONET_DIR/data/$ZERONET_FORUM_ADDRESS/content.json
391
-    python zeronet.py siteSign $ZERONET_FORUM_ADDRESS $ZERONET_FORUM_PRIVATE_KEY
392
-    python zeronet.py siteSign $ZERONET_FORUM_ADDRESS $ZERONET_FORUM_PRIVATE_KEY --inner_path data/users/content.json
393
-
394
-    # Add an avahi service
395
-    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-forum.service
396
-    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-forum.service
397
-    echo '<service-group>' >> /tmp/zeronet-forum.service
398
-    echo '  <name replace-wildcards="yes">%h ZeroNet Forum</name>' >> /tmp/zeronet-forum.service
399
-    echo '  <service>' >> /tmp/zeronet-forum.service
400
-    echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-forum.service
401
-    echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-forum.service
402
-    echo "    <txt-record>$ZERONET_URL/$ZERONET_FORUM_ADDRESS</txt-record>" >> /tmp/zeronet-forum.service
403
-    echo '  </service>' >> /tmp/zeronet-forum.service
404
-    echo '</service-group>' >> /tmp/zeronet-forum.service
405
-    sudo cp /tmp/zeronet-forum.service /etc/avahi/services/zeronet-forum.service
406
-
407
-    if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
408
-        mkdir -p /home/$MY_USERNAME/.config/zeronet
409
-        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
410
-    fi
411
-    echo "$ZERONET_URL/$ZERONET_FORUM_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/myforum
412
-
413
-    if ! grep -q "ZeroNet Forum address" /home/$MY_USERNAME/README; then
414
-        echo '' >> /home/$MY_USERNAME/README
415
-        echo $"ZeroNet Forum address: $ZERONET_FORUM_ADDRESS" >> /home/$MY_USERNAME/README
416
-        echo $"ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY" >> /home/$MY_USERNAME/README
417
-    fi
418
-
419
-    echo $'Zeronet forum installed'
420
-}
421
-
422
-function install_web_server {
423
-    if [ -d /etc/nginx ]; then
424
-        return
425
-    fi
426
-
427
-    if [[ $UPDATED == "no" ]]; then
428
-        sudo apt-get update
429
-        UPDATED="yes"
430
-    fi
431
-
432
-    sudo apt-get -y remove --purge apache2
433
-    if [ -d /etc/apache2 ]; then
434
-        sudo rm -rf /etc/apache2
435
-    fi
436
-    # install nginx
437
-    sudo apt-get -y install nginx
438
-
439
-    if [ ! -d /etc/nginx ]; then
440
-        echo $'Unable to install web server'
441
-        exit 51
442
-    fi
443
-}
444
-
445
-function install_zeronet {
446
-    if [ -d $ZERONET_DIR ]; then
447
-        return
448
-    fi
449
-
450
-    if [[ $UPDATED == "no" ]]; then
451
-        sudo apt-get update
452
-        UPDATED="yes"
453
-    fi
454
-
455
-    sudo apt-get -y install python python-msgpack python-gevent
456
-    sudo apt-get -y install python-pip bittornado
457
-    sudo pip install msgpack-python --upgrade
458
-
459
-    git clone $ZERONET_REPO $ZERONET_DIR
460
-    if [ ! -d $ZERONET_DIR ]; then
461
-        exit 56823
462
-    fi
463
-    cd $ZERONET_DIR
464
-    git checkout $ZERONET_COMMIT -b $ZERONET_COMMIT
465
-    #cd $ZERONET_DIR
466
-    #git checkout bashrc/bootstrap-file
467
-    # Hack to ensure that the file access port is opened
468
-    # This is because zeronet normally relies on an internet site
469
-    # to do this, but on a purely local mesh the internet isn't available
470
-    sed -i 's|fileserver_port = 0|fileserver_port = config.fileserver_port\n            sys.modules["main"].file_server.port_opened = True|g' $ZERONET_DIR/src/Site/Site.py
471
-}
472
-
473
-if [[ "$1" == "stop" ]]; then
474
-    sudo batman stop
475
-    exit 0
476
-fi
477
-
478
-if [ -f /var/lib/batman ]; then
479
-    SERVER_INSTALLATION="yes"
480
-fi
481
-
482
-if [[ $SERVER_INSTALLATION == "no" ]]; then
483
-    if [ ! -f /usr/bin/batman ]; then
484
-        ${PROJECT_NAME}-client
485
-    fi
486
-fi
37
+PEERS_FILE=/tmp/meshwebstart
487 38
 
488 39
 if [ -d $MESH_INSTALL_DIR/zeronet ]; then
489 40
     ZERONET_DIR=$MESH_INSTALL_DIR/zeronet
490 41
 fi
491 42
 
492
-if [[ $SERVER_INSTALLATION == "no" ]]; then
493
-    if [ ! -f /tmp/meshtype ]; then
494
-        install_web_server
495
-        install_zeronet
496
-        install_zeronet_blog
497
-        install_zeronet_mail
498
-        install_zeronet_forum
499
-        #install_ipfs
500
-        sudo batman start
501
-        if [ ! "$?" = "0" ]; then
502
-            exit 2
503
-        fi
504
-    fi
505
-fi
506
-
507 43
 avahi-browse -atl | awk -F ' ' '{print $4}' | sort -u > $PEERS_FILE
508 44
 
509 45
 if [ ! -f $PEERS_FILE ]; then
@@ -511,56 +47,21 @@ if [ ! -f $PEERS_FILE ]; then
511 47
    exit 0
512 48
 fi
513 49
 
50
+# count the peers
514 51
 ctr=0
515 52
 while IFS='' read -r line || [[ -n "$line" ]]; do
516 53
     ctr=$((ctr + 1))
517 54
 done < "$PEERS_FILE"
518
-
519 55
 rm $PEERS_FILE
520 56
 
57
+# enough peers
521 58
 if [ ${ctr} -lt "1" ]; then
522 59
    echo $'No peers were found'
523 60
    exit 0
524 61
 fi
525 62
 
526
-if [ ! -d $ZERONET_DIR ]; then
527
-    echo $'zeronet was not installed'
528
-    exit 63
529
-fi
530
-cd $ZERONET_DIR
531
-
532
-
533
-existing_bttrack=$(ps aux | grep bttrack | wc -l)
534
-if [ $existing_bttrack -lt "2" ]; then
535
-    if [ ! -d ~/.bttrack ]; then
536
-        mkdir ~/.bttrack
537
-    fi
538
-    bttrack --port ${TRACKER_PORT} --dfile ~/.bttrack/dstate --logfile ~/.bttrack/tracker.log --nat_check 0 --scrape_allowed full --ipv6_enabled 0 &
539
-fi
540
-
541
-existing_ipfs=$(ps aux | grep ipfs | wc -l)
542
-if [ $existing_ipfs -lt "2" ]; then
543
-    sudo umount /ipfs
544
-    sudo umount /ipns
545
-    ipfs daemon --mount &
546
-fi
547
-
548 63
 ZERONET_INDEX=/home/$MY_USERNAME/mesh.html
549 64
 
550
-cp /etc/crontab /tmp/crontab
551
-if ! grep -q "zeronetavahi" /tmp/crontab; then
552
-    echo "* *     * * *   $MY_USERNAME    cd /home/$MY_USERNAME; zeronetavahi > /dev/null" >> /tmp/crontab
553
-fi
554
-sudo cp /tmp/crontab /etc/crontab
555
-
556
-sleep 8
557
-zeronetavahi
558
-
559
-existing_zeronet=$(ps aux | grep zeronet | wc -l)
560
-if [ $existing_zeronet -lt "2" ]; then
561
-    python zeronet.py --ip_external $(hostname).local --trackers_file $ZERONET_DIR/bootstrap &
562
-fi
563
-
564 65
 if which firefox > /dev/null; then
565 66
     firefox $ZERONET_INDEX
566 67
 elif which iceweasel > /dev/null; then