Browse Source

Mesh install

Bob Mottram 9 years ago
parent
commit
bee3da28bc
4 changed files with 40 additions and 19 deletions
  1. 2
    2
      src/freedombone
  2. 16
    4
      src/freedombone-image-customise
  3. 21
    12
      src/freedombone-image-mesh
  4. 1
    1
      src/zeronetavahi

+ 2
- 2
src/freedombone View File

7030
         exit 74872
7030
         exit 74872
7031
     fi
7031
     fi
7032
     make install
7032
     make install
7033
-    su -c 'echo "n
7033
+    su -c "echo 'n
7034
 /nick $MY_USERNAME
7034
 /nick $MY_USERNAME
7035
 /exit
7035
 /exit
7036
-" | /usr/bin/toxic -d' - $MY_USERNAME
7036
+' | /usr/bin/toxic -d" - $MY_USERNAME
7037
 
7037
 
7038
     echo 'install_tox_client' >> $COMPLETION_FILE
7038
     echo 'install_tox_client' >> $COMPLETION_FILE
7039
 }
7039
 }

+ 16
- 4
src/freedombone-image-customise View File

301
             echo "    ${PROJECT_NAME} menuconfig-onion" >> $rootdir/root/.bashrc
301
             echo "    ${PROJECT_NAME} menuconfig-onion" >> $rootdir/root/.bashrc
302
         fi
302
         fi
303
     else
303
     else
304
-        echo '    echo ""'
304
+        echo "    echo ''" >> $rootdir/root/.bashrc
305
     fi
305
     fi
306
     echo '    if [ "$?" = "0" ]; then' >> $rootdir/root/.bashrc
306
     echo '    if [ "$?" = "0" ]; then' >> $rootdir/root/.bashrc
307
     echo "        if [ -f ~/${PROJECT_NAME}-completed.txt ]; then" >> $rootdir/root/.bashrc
307
     echo "        if [ -f ~/${PROJECT_NAME}-completed.txt ]; then" >> $rootdir/root/.bashrc
501
 mesh_tox_node() {
501
 mesh_tox_node() {
502
     TOX_REPO='git://github.com/irungentoo/toxcore.git'
502
     TOX_REPO='git://github.com/irungentoo/toxcore.git'
503
     TOX_COMMIT='73b2144edcfd1ca617e9054479b66ab0c0361a14'
503
     TOX_COMMIT='73b2144edcfd1ca617e9054479b66ab0c0361a14'
504
-    TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
505
     # These are some default nodes, but you can replace them with trusted nodes
504
     # These are some default nodes, but you can replace them with trusted nodes
506
     # as you prefer. See https://wiki.tox.im/Nodes
505
     # as you prefer. See https://wiki.tox.im/Nodes
507
     TOX_NODES=
506
     TOX_NODES=
515
     chroot "$rootdir" apt-get -y install libsodium13 libsodium-dev libcap2-bin
514
     chroot "$rootdir" apt-get -y install libsodium13 libsodium-dev libcap2-bin
516
     chroot "$rootdir" apt-get -y install libconfig9 libconfig-dev
515
     chroot "$rootdir" apt-get -y install libconfig9 libconfig-dev
517
 
516
 
518
-    git clone $TOX_REPO $rootdir/$INSTALL_DIR/toxcore
517
+    chroot "$rootdir" git clone $TOX_REPO $INSTALL_DIR/toxcore
519
     chroot "$rootdir" cd $INSTALL_DIR/toxcore
518
     chroot "$rootdir" cd $INSTALL_DIR/toxcore
520
     chroot "$rootdir" git checkout $TOX_COMMIT -b $TOX_COMMIT
519
     chroot "$rootdir" git checkout $TOX_COMMIT -b $TOX_COMMIT
521
 
520
 
588
     chroot "$rootdir" systemctl enable tox-bootstrapd.service
587
     chroot "$rootdir" systemctl enable tox-bootstrapd.service
589
 }
588
 }
590
 
589
 
590
+function mesh_tox_client {
591
+    chroot "$rootdir" apt-get -y install libncursesw5-dev libconfig-dev libqrencode-dev libcurl4-openssl-dev
592
+
593
+    chroot "$rootdir" git clone $TOXIC_REPO $INSTALL_DIR/toxic
594
+    chroot "$rootdir" cd $INSTALL_DIR/toxic
595
+    chroot "$rootdir" git checkout $TOXIC_COMMIT -b $TOXIC_COMMIT
596
+    echo "Toxic commit:$TOXIC_COMMIT" >> $rootdir$COMPLETION_FILE
597
+
598
+    chroot "$rootdir" make
599
+    chroot "$rootdir" make install
600
+}
601
+
591
 function mesh_zeronet {
602
 function mesh_zeronet {
592
     ZERONET_REPO='https://github.com/HelloZeroNet/ZeroNet.git'
603
     ZERONET_REPO='https://github.com/HelloZeroNet/ZeroNet.git'
593
     ZERONET_COMMIT='675bd462556c541d65e2d95f91f899146a373aad'
604
     ZERONET_COMMIT='675bd462556c541d65e2d95f91f899146a373aad'
621
     echo 'User=zeronet' >> $rootdir/etc/systemd/system/zeronet.service
632
     echo 'User=zeronet' >> $rootdir/etc/systemd/system/zeronet.service
622
     echo 'Group=zeronet' >> $rootdir/etc/systemd/system/zeronet.service
633
     echo 'Group=zeronet' >> $rootdir/etc/systemd/system/zeronet.service
623
     echo 'WorkingDirectory=/opt/zeronet' >> $rootdir/etc/systemd/system/zeronet.service
634
     echo 'WorkingDirectory=/opt/zeronet' >> $rootdir/etc/systemd/system/zeronet.service
624
-    echo "ExecStart=/usr/bin/python zeronet.py --ip_external ${DEFAULT_DOMAIN_NAME}.local --trackers_file /opt/zeronet/bootstrap" >> $rootdir/etc/systemd/system/zeronet.service
635
+    echo 'ExecStart=/usr/bin/python zeronet.py --ip_external replace.local --trackers_file /opt/zeronet/bootstrap' >> $rootdir/etc/systemd/system/zeronet.service
625
     echo '' >> $rootdir/etc/systemd/system/zeronet.service
636
     echo '' >> $rootdir/etc/systemd/system/zeronet.service
626
     echo 'TimeoutSec=300' >> $rootdir/etc/systemd/system/zeronet.service
637
     echo 'TimeoutSec=300' >> $rootdir/etc/systemd/system/zeronet.service
627
     echo '' >> $rootdir/etc/systemd/system/zeronet.service
638
     echo '' >> $rootdir/etc/systemd/system/zeronet.service
665
     mesh_avahi
676
     mesh_avahi
666
     mesh_batman
677
     mesh_batman
667
     mesh_tox_node
678
     mesh_tox_node
679
+    mesh_tox_client
668
     mesh_zeronet
680
     mesh_zeronet
669
 
681
 
670
     MESH_SERVICE='mesh-setup.service'
682
     MESH_SERVICE='mesh-setup.service'

+ 21
- 12
src/freedombone-image-mesh View File

32
 export TEXTDOMAINDIR="/usr/share/locale"
32
 export TEXTDOMAINDIR="/usr/share/locale"
33
 
33
 
34
 MY_USERNAME='fbone'
34
 MY_USERNAME='fbone'
35
+PEER_ID=
35
 
36
 
36
 function change_avahi_name {
37
 function change_avahi_name {
37
     decarray=( 1 2 3 4 5 6 7 8 9 0 )
38
     decarray=( 1 2 3 4 5 6 7 8 9 0 )
53
     echo $'ssh small moduli removed'
54
     echo $'ssh small moduli removed'
54
 }
55
 }
55
 
56
 
57
+function configure_zeronet {
58
+    sed -i "s|replace.local|P${PEER_ID}.local|g" /etc/systemd/system/zeronet.service
59
+}
60
+
56
 function configure_zeronet_blog {
61
 function configure_zeronet_blog {
57
     echo $'Updating ZeroNet Blog'
62
     echo $'Updating ZeroNet Blog'
58
     ZERONET_DEFAULT_BLOG_TITLE="${MY_USERNAME}'s Blog"
63
     ZERONET_DEFAULT_BLOG_TITLE="${MY_USERNAME}'s Blog"
60
     cd /opt/zeronet
65
     cd /opt/zeronet
61
     python zeronet.py --batch siteCreate 2> /opt/zeronet/blog.txt
66
     python zeronet.py --batch siteCreate 2> /opt/zeronet/blog.txt
62
     if [ ! -f /opt/zeronet/blog.txt ]; then
67
     if [ ! -f /opt/zeronet/blog.txt ]; then
63
-        echo $'Unable to create blog'
64
-        exit 479
68
+        echo $'Unable to create ZeroNet blog'
69
+        exit 7386
65
     fi
70
     fi
66
     blog_address=$(cat blog.txt | grep "Site address" | awk -F ':' '{print $2}')
71
     blog_address=$(cat blog.txt | grep "Site address" | awk -F ':' '{print $2}')
67
     blog_private_key=$(cat blog.txt | grep "Site private key" | awk -F ':' '{print $2}')
72
     blog_private_key=$(cat blog.txt | grep "Site private key" | awk -F ':' '{print $2}')
132
     cd /opt/zeronet
137
     cd /opt/zeronet
133
     python zeronet.py --batch siteCreate 2> /opt/zeronet/mail.txt
138
     python zeronet.py --batch siteCreate 2> /opt/zeronet/mail.txt
134
     if [ ! -f /opt/zeronet/mail.txt ]; then
139
     if [ ! -f /opt/zeronet/mail.txt ]; then
135
-        echo 'Unable to create mail'
136
-        exit 479
140
+        echo $'Unable to create ZeroNet mail'
141
+        exit 72574
137
     fi
142
     fi
138
     mail_address=$(cat mail.txt | grep "Site address" | awk -F ':' '{print $2}')
143
     mail_address=$(cat mail.txt | grep "Site address" | awk -F ':' '{print $2}')
139
     mail_private_key=$(cat mail.txt | grep "Site private key" | awk -F ':' '{print $2}')
144
     mail_private_key=$(cat mail.txt | grep "Site private key" | awk -F ':' '{print $2}')
204
     cd /opt/zeronet
209
     cd /opt/zeronet
205
     python zeronet.py --batch siteCreate 2> /opt/zeronet/forum.txt
210
     python zeronet.py --batch siteCreate 2> /opt/zeronet/forum.txt
206
     if [ ! -f /opt/zeronet/forum.txt ]; then
211
     if [ ! -f /opt/zeronet/forum.txt ]; then
207
-        echo 'Unable to create forum'
208
-        exit 479
212
+        echo $'Unable to create ZeroNet forum'
213
+        exit 47962
209
     fi
214
     fi
210
     forum_address=$(cat forum.txt | grep "Site address" | awk -F ':' '{print $2}')
215
     forum_address=$(cat forum.txt | grep "Site address" | awk -F ':' '{print $2}')
211
     forum_private_key=$(cat forum.txt | grep "Site private key" | awk -F ':' '{print $2}')
216
     forum_private_key=$(cat forum.txt | grep "Site private key" | awk -F ':' '{print $2}')
274
     TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
279
     TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
275
     TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
280
     TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
276
     if [ ${#TOX_PUBLIC_KEY} -lt 30 ]; then
281
     if [ ${#TOX_PUBLIC_KEY} -lt 30 ]; then
277
-        echo 'Could not obtain the tox node public key'
278
-        exit 6529
282
+        echo $'WARNING: Could not obtain the tox node public key'
283
+        exit 46362
279
     fi
284
     fi
280
 
285
 
281
     # save the public key for later reference
286
     # save the public key for later reference
284
     echo $'Resetting toxic client'
289
     echo $'Resetting toxic client'
285
     if [ -d /home/$MY_USERNAME/.config/tox ]; then
290
     if [ -d /home/$MY_USERNAME/.config/tox ]; then
286
         rm -rf /home/$MY_USERNAME/.config/tox
291
         rm -rf /home/$MY_USERNAME/.config/tox
287
-        su -c 'echo "n
288
-/nick $MY_USERNAME
292
+        su -c "echo 'n
293
+/nick P$PEER_ID
289
 /exit
294
 /exit
290
-" | /usr/bin/toxic -d' - $MY_USERNAME
295
+' | /usr/bin/toxic -d" - $MY_USERNAME
291
     fi
296
     fi
292
 }
297
 }
293
 
298
 
296
         MY_USERNAME=$1
301
         MY_USERNAME=$1
297
     fi
302
     fi
298
 
303
 
304
+    # sleep in order to allow other daemons to start up
305
+    sleep 15
306
+
307
+    change_avahi_name
299
     regenerate_ssh_host_keys
308
     regenerate_ssh_host_keys
300
     configure_zeronet_blog
309
     configure_zeronet_blog
301
     configure_zeronet_mail
310
     configure_zeronet_mail
302
     configure_zeronet_forum
311
     configure_zeronet_forum
303
     configure_tox
312
     configure_tox
304
-    change_avahi_name
313
+    configure_zeronet
305
 
314
 
306
     rm /root/.initial_mesh_setup
315
     rm /root/.initial_mesh_setup
307
     systemctl disable mesh-setup.service
316
     systemctl disable mesh-setup.service

+ 1
- 1
src/zeronetavahi View File

33
 
33
 
34
 PROJECT_NAME='freedombone'
34
 PROJECT_NAME='freedombone'
35
 
35
 
36
-export TEXTDOMAIN=$PROJECT_NAME
36
+export TEXTDOMAIN=$PROJECT_NAME-zeronetavahi
37
 export TEXTDOMAINDIR="/usr/share/locale"
37
 export TEXTDOMAINDIR="/usr/share/locale"
38
 
38
 
39
 WEB_PAGE_TITLE=$"${PROJECT_NAME} Mesh"
39
 WEB_PAGE_TITLE=$"${PROJECT_NAME} Mesh"