Bob Mottram hace 9 años
padre
commit
bee3da28bc
Se han modificado 4 ficheros con 40 adiciones y 19 borrados
  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 Ver fichero

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

+ 16
- 4
src/freedombone-image-customise Ver fichero

@@ -301,7 +301,7 @@ EOF
301 301
             echo "    ${PROJECT_NAME} menuconfig-onion" >> $rootdir/root/.bashrc
302 302
         fi
303 303
     else
304
-        echo '    echo ""'
304
+        echo "    echo ''" >> $rootdir/root/.bashrc
305 305
     fi
306 306
     echo '    if [ "$?" = "0" ]; then' >> $rootdir/root/.bashrc
307 307
     echo "        if [ -f ~/${PROJECT_NAME}-completed.txt ]; then" >> $rootdir/root/.bashrc
@@ -501,7 +501,6 @@ mesh_firewall() {
501 501
 mesh_tox_node() {
502 502
     TOX_REPO='git://github.com/irungentoo/toxcore.git'
503 503
     TOX_COMMIT='73b2144edcfd1ca617e9054479b66ab0c0361a14'
504
-    TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
505 504
     # These are some default nodes, but you can replace them with trusted nodes
506 505
     # as you prefer. See https://wiki.tox.im/Nodes
507 506
     TOX_NODES=
@@ -515,7 +514,7 @@ mesh_tox_node() {
515 514
     chroot "$rootdir" apt-get -y install libsodium13 libsodium-dev libcap2-bin
516 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 518
     chroot "$rootdir" cd $INSTALL_DIR/toxcore
520 519
     chroot "$rootdir" git checkout $TOX_COMMIT -b $TOX_COMMIT
521 520
 
@@ -588,6 +587,18 @@ mesh_tox_node() {
588 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 602
 function mesh_zeronet {
592 603
     ZERONET_REPO='https://github.com/HelloZeroNet/ZeroNet.git'
593 604
     ZERONET_COMMIT='675bd462556c541d65e2d95f91f899146a373aad'
@@ -621,7 +632,7 @@ function mesh_zeronet {
621 632
     echo 'User=zeronet' >> $rootdir/etc/systemd/system/zeronet.service
622 633
     echo 'Group=zeronet' >> $rootdir/etc/systemd/system/zeronet.service
623 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 636
     echo '' >> $rootdir/etc/systemd/system/zeronet.service
626 637
     echo 'TimeoutSec=300' >> $rootdir/etc/systemd/system/zeronet.service
627 638
     echo '' >> $rootdir/etc/systemd/system/zeronet.service
@@ -665,6 +676,7 @@ initialise_mesh() {
665 676
     mesh_avahi
666 677
     mesh_batman
667 678
     mesh_tox_node
679
+    mesh_tox_client
668 680
     mesh_zeronet
669 681
 
670 682
     MESH_SERVICE='mesh-setup.service'

+ 21
- 12
src/freedombone-image-mesh Ver fichero

@@ -32,6 +32,7 @@ export TEXTDOMAIN=${PROJECT_NAME}-image-mesh
32 32
 export TEXTDOMAINDIR="/usr/share/locale"
33 33
 
34 34
 MY_USERNAME='fbone'
35
+PEER_ID=
35 36
 
36 37
 function change_avahi_name {
37 38
     decarray=( 1 2 3 4 5 6 7 8 9 0 )
@@ -53,6 +54,10 @@ function regenerate_ssh_host_keys {
53 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 61
 function configure_zeronet_blog {
57 62
     echo $'Updating ZeroNet Blog'
58 63
     ZERONET_DEFAULT_BLOG_TITLE="${MY_USERNAME}'s Blog"
@@ -60,8 +65,8 @@ function configure_zeronet_blog {
60 65
     cd /opt/zeronet
61 66
     python zeronet.py --batch siteCreate 2> /opt/zeronet/blog.txt
62 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 70
     fi
66 71
     blog_address=$(cat blog.txt | grep "Site address" | awk -F ':' '{print $2}')
67 72
     blog_private_key=$(cat blog.txt | grep "Site private key" | awk -F ':' '{print $2}')
@@ -132,8 +137,8 @@ function configure_zeronet_mail {
132 137
     cd /opt/zeronet
133 138
     python zeronet.py --batch siteCreate 2> /opt/zeronet/mail.txt
134 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 142
     fi
138 143
     mail_address=$(cat mail.txt | grep "Site address" | awk -F ':' '{print $2}')
139 144
     mail_private_key=$(cat mail.txt | grep "Site private key" | awk -F ':' '{print $2}')
@@ -204,8 +209,8 @@ function configure_zeronet_forum {
204 209
     cd /opt/zeronet
205 210
     python zeronet.py --batch siteCreate 2> /opt/zeronet/forum.txt
206 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 214
     fi
210 215
     forum_address=$(cat forum.txt | grep "Site address" | awk -F ':' '{print $2}')
211 216
     forum_private_key=$(cat forum.txt | grep "Site private key" | awk -F ':' '{print $2}')
@@ -274,8 +279,8 @@ function configure_tox {
274 279
     TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
275 280
     TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
276 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 284
     fi
280 285
 
281 286
     # save the public key for later reference
@@ -284,10 +289,10 @@ function configure_tox {
284 289
     echo $'Resetting toxic client'
285 290
     if [ -d /home/$MY_USERNAME/.config/tox ]; then
286 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 294
 /exit
290
-" | /usr/bin/toxic -d' - $MY_USERNAME
295
+' | /usr/bin/toxic -d" - $MY_USERNAME
291 296
     fi
292 297
 }
293 298
 
@@ -296,12 +301,16 @@ if [ -f /root/.initial_mesh_setup ]; then
296 301
         MY_USERNAME=$1
297 302
     fi
298 303
 
304
+    # sleep in order to allow other daemons to start up
305
+    sleep 15
306
+
307
+    change_avahi_name
299 308
     regenerate_ssh_host_keys
300 309
     configure_zeronet_blog
301 310
     configure_zeronet_mail
302 311
     configure_zeronet_forum
303 312
     configure_tox
304
-    change_avahi_name
313
+    configure_zeronet
305 314
 
306 315
     rm /root/.initial_mesh_setup
307 316
     systemctl disable mesh-setup.service

+ 1
- 1
src/zeronetavahi Ver fichero

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