Przeglądaj źródła

Compiling toxcore and toxic

Bob Mottram 9 lat temu
rodzic
commit
fb5314f228
1 zmienionych plików z 397 dodań i 395 usunięć
  1. 397
    395
      src/freedombone-image-mesh

+ 397
- 395
src/freedombone-image-mesh Wyświetl plik

@@ -43,428 +43,430 @@ TOX_NODES=
43 43
 #)
44 44
 
45 45
 function change_avahi_name {
46
-	decarray=( 1 2 3 4 5 6 7 8 9 0 )
47
-	PEER_ID=${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}
48
-	sed -i "s|#host-name=.*|host-name=P$PEER_ID|g" /etc/avahi/avahi-daemon.conf
49
-	sed -i "s|host-name=.*|host-name=P$PEER_ID|g" /etc/avahi/avahi-daemon.conf
50
-	echo "New avahi name for this peer is P$PEER_ID"
51
-	toilet "mesh-$PEER_ID"
52
-	echo $"avahi name changed to P${PEER_ID}.local" >> $INSTALL_LOG
46
+    decarray=( 1 2 3 4 5 6 7 8 9 0 )
47
+    PEER_ID=${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}${decarray[$RANDOM%10]}
48
+    sed -i "s|#host-name=.*|host-name=P$PEER_ID|g" /etc/avahi/avahi-daemon.conf
49
+    sed -i "s|host-name=.*|host-name=P$PEER_ID|g" /etc/avahi/avahi-daemon.conf
50
+    echo "New avahi name for this peer is P$PEER_ID"
51
+    toilet "mesh-$PEER_ID"
52
+    echo $"avahi name changed to P${PEER_ID}.local" >> $INSTALL_LOG
53 53
 }
54 54
 
55 55
 function regenerate_ssh_host_keys {
56
-	echo $"Regenerating ssh host keys" >> $INSTALL_LOG
57
-	rm -f /etc/ssh/ssh_host_*
58
-	dpkg-reconfigure openssh-server
59
-	echo $'ssh host keys regenerated' >> $INSTALL_LOG
60
-	# remove small moduli
61
-	awk '$5 > 2000' /etc/ssh/moduli > ~/moduli
62
-	mv ~/moduli /etc/ssh/moduli
63
-	echo $'ssh small moduli removed' >> $INSTALL_LOG
56
+    echo $"Regenerating ssh host keys" >> $INSTALL_LOG
57
+    rm -f /etc/ssh/ssh_host_*
58
+    dpkg-reconfigure openssh-server
59
+    echo $'ssh host keys regenerated' >> $INSTALL_LOG
60
+    # remove small moduli
61
+    awk '$5 > 2000' /etc/ssh/moduli > ~/moduli
62
+    mv ~/moduli /etc/ssh/moduli
63
+    echo $'ssh small moduli removed' >> $INSTALL_LOG
64 64
 }
65 65
 
66 66
 function configure_zeronet {
67
-	sed -i "s|replace.local|P${PEER_ID}.local|g" /etc/systemd/system/zeronet.service
68
-	echo $"zeronet daemon updated to P${PEER_ID}.local" >> $INSTALL_LOG
67
+    sed -i "s|replace.local|P${PEER_ID}.local|g" /etc/systemd/system/zeronet.service
68
+    echo $"zeronet daemon updated to P${PEER_ID}.local" >> $INSTALL_LOG
69 69
 }
70 70
 
71 71
 function configure_zeronet_blog {
72
-	echo $'Updating ZeroNet Blog' >> $INSTALL_LOG
73
-	ZERONET_DEFAULT_BLOG_TITLE="${MY_USERNAME}'s Blog"
74
-
75
-	cd /opt/zeronet
76
-	python zeronet.py --batch siteCreate 2> /opt/zeronet/blog.txt
77
-	if [ ! -f /opt/zeronet/blog.txt ]; then
78
-		echo $'Unable to create ZeroNet blog' >> $INSTALL_LOG
79
-		exit 7386
80
-	fi
81
-	blog_address=$(cat blog.txt | grep "Site address" | awk -F ':' '{print $2}')
82
-	blog_private_key=$(cat blog.txt | grep "Site private key" | awk -F ':' '{print $2}')
83
-	ZERONET_BLOG_ADDRESS=${blog_address//[[:blank:]]/}
84
-	ZERONET_BLOG_PRIVATE_KEY=${blog_private_key//[[:blank:]]/}
85
-
86
-	if [ ${#ZERONET_BLOG_ADDRESS} -lt 20 ]; then
87
-		echo $"Address:    $ZERONET_BLOG_ADDRESS" >> $INSTALL_LOG
88
-		echo $"Public key: $ZERONET_BLOG_PRIVATE_KEY" >> $INSTALL_LOG
89
-		echo $'Unable to create zeronet blog address' >> $INSTALL_LOG
90
-		exit 7358
91
-	fi
92
-
93
-	if [ ${#ZERONET_BLOG_PRIVATE_KEY} -lt 20 ]; then
94
-		echo $"Address:    $ZERONET_BLOG_ADDRESS" >> $INSTALL_LOG
95
-		echo $"Public key: $ZERONET_BLOG_PRIVATE_KEY" >> $INSTALL_LOG
96
-		echo $'Unable to create zeronet blog private key' >> $INSTALL_LOG
97
-		exit 1639
98
-	fi
99
-
100
-	if [ ! -d "/opt/zeronet/data/$ZERONET_BLOG_ADDRESS" ]; then
101
-		echo $"Unable to find site directory: /opt/zeronet/data/$ZERONET_BLOG_ADDRESS" >> $INSTALL_LOG
102
-		exit 7638
103
-	fi
104
-
105
-	echo $"ZeroNet Blog address:     $ZERONET_BLOG_ADDRESS" >> $INSTALL_LOG
106
-	echo $"ZeroNet Blog private key: $ZERONET_BLOG_PRIVATE_KEY" >> $INSTALL_LOG
107
-	cp -r /opt/zeronet/ZeroBlog/* /opt/zeronet/data/$ZERONET_BLOG_ADDRESS
108
-
109
-	if [ ! -d /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data ]; then
110
-		mkdir /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data
111
-	fi
112
-	cp /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data-default/data.json /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data
113
-	sed -i "s/MyZeroBlog/$ZERONET_DEFAULT_BLOG_TITLE/g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data/data.json
114
-	sed -i "s/My ZeroBlog./$ZERONET_DEFAULT_BLOG_TAGLINE/g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data/data.json
115
-	sed -i "s/ZeroBlog Demo/$ZERONET_DEFAULT_BLOG_TITLE/g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/index.html
116
-	sed -i "s|<h3 class=\"description\">.*|<h3 class=\"description\">$ZERONET_DEFAULT_BLOG_TAGLINE</h3>|g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/index.html
117
-	sed -i "s/Blogging platform Demo/Blogging platform/g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/content.json
118
-	python zeronet.py siteSign $ZERONET_BLOG_ADDRESS $ZERONET_BLOG_PRIVATE_KEY
119
-
120
-	# update the avahi service
121
-	echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-blog.service
122
-	echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-blog.service
123
-	echo '<service-group>' >> /tmp/zeronet-blog.service
124
-	echo '  <name replace-wildcards="yes">%h ZeroNet Blog</name>' >> /tmp/zeronet-blog.service
125
-	echo '  <service>' >> /tmp/zeronet-blog.service
126
-	echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-blog.service
127
-	echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-blog.service
128
-	echo "    <txt-record>$ZERONET_URL/$ZERONET_BLOG_ADDRESS</txt-record>" >> /tmp/zeronet-blog.service
129
-	echo '  </service>' >> /tmp/zeronet-blog.service
130
-	echo '</service-group>' >> /tmp/zeronet-blog.service
131
-	cp /tmp/zeronet-blog.service /etc/avahi/services/zeronet-blog.service
132
-
133
-	if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
134
-		mkdir -p /home/$MY_USERNAME/.config/zeronet
135
-		chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
136
-	fi
137
-	echo "$ZERONET_URL/$ZERONET_BLOG_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/myblog
138
-
139
-	sed -i "s|ZeroNet Blog address.*|ZeroNet Blog address: $ZERONET_BLOG_ADDRESS|g" /home/$MY_USERNAME/README
140
-	sed -i "s|ZeroNet Blog private key.*|ZeroNet Blog private key: $ZERONET_BLOG_PRIVATE_KEY|g" /home/$MY_USERNAME/README
141
-
142
-	echo $'Update of ZeroNet Blog completed' >> $INSTALL_LOG
72
+    echo $'Updating ZeroNet Blog' >> $INSTALL_LOG
73
+    ZERONET_DEFAULT_BLOG_TITLE="${MY_USERNAME}'s Blog"
74
+
75
+    cd /opt/zeronet
76
+    python zeronet.py --batch siteCreate 2> /opt/zeronet/blog.txt
77
+    if [ ! -f /opt/zeronet/blog.txt ]; then
78
+        echo $'Unable to create ZeroNet blog' >> $INSTALL_LOG
79
+        exit 7386
80
+    fi
81
+    blog_address=$(cat blog.txt | grep "Site address" | awk -F ':' '{print $2}')
82
+    blog_private_key=$(cat blog.txt | grep "Site private key" | awk -F ':' '{print $2}')
83
+    ZERONET_BLOG_ADDRESS=${blog_address//[[:blank:]]/}
84
+    ZERONET_BLOG_PRIVATE_KEY=${blog_private_key//[[:blank:]]/}
85
+
86
+    if [ ${#ZERONET_BLOG_ADDRESS} -lt 20 ]; then
87
+        echo $"Address:    $ZERONET_BLOG_ADDRESS" >> $INSTALL_LOG
88
+        echo $"Public key: $ZERONET_BLOG_PRIVATE_KEY" >> $INSTALL_LOG
89
+        echo $'Unable to create zeronet blog address' >> $INSTALL_LOG
90
+        exit 7358
91
+    fi
92
+
93
+    if [ ${#ZERONET_BLOG_PRIVATE_KEY} -lt 20 ]; then
94
+        echo $"Address:    $ZERONET_BLOG_ADDRESS" >> $INSTALL_LOG
95
+        echo $"Public key: $ZERONET_BLOG_PRIVATE_KEY" >> $INSTALL_LOG
96
+        echo $'Unable to create zeronet blog private key' >> $INSTALL_LOG
97
+        exit 1639
98
+    fi
99
+
100
+    if [ ! -d "/opt/zeronet/data/$ZERONET_BLOG_ADDRESS" ]; then
101
+        echo $"Unable to find site directory: /opt/zeronet/data/$ZERONET_BLOG_ADDRESS" >> $INSTALL_LOG
102
+        exit 7638
103
+    fi
104
+
105
+    echo $"ZeroNet Blog address:     $ZERONET_BLOG_ADDRESS" >> $INSTALL_LOG
106
+    echo $"ZeroNet Blog private key: $ZERONET_BLOG_PRIVATE_KEY" >> $INSTALL_LOG
107
+    cp -r /opt/zeronet/ZeroBlog/* /opt/zeronet/data/$ZERONET_BLOG_ADDRESS
108
+
109
+    if [ ! -d /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data ]; then
110
+        mkdir /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data
111
+    fi
112
+    cp /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data-default/data.json /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data
113
+    sed -i "s/MyZeroBlog/$ZERONET_DEFAULT_BLOG_TITLE/g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data/data.json
114
+    sed -i "s/My ZeroBlog./$ZERONET_DEFAULT_BLOG_TAGLINE/g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/data/data.json
115
+    sed -i "s/ZeroBlog Demo/$ZERONET_DEFAULT_BLOG_TITLE/g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/index.html
116
+    sed -i "s|<h3 class=\"description\">.*|<h3 class=\"description\">$ZERONET_DEFAULT_BLOG_TAGLINE</h3>|g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/index.html
117
+    sed -i "s/Blogging platform Demo/Blogging platform/g" /opt/zeronet/data/$ZERONET_BLOG_ADDRESS/content.json
118
+    python zeronet.py siteSign $ZERONET_BLOG_ADDRESS $ZERONET_BLOG_PRIVATE_KEY
119
+
120
+    # update the avahi service
121
+    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-blog.service
122
+    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-blog.service
123
+    echo '<service-group>' >> /tmp/zeronet-blog.service
124
+    echo '  <name replace-wildcards="yes">%h ZeroNet Blog</name>' >> /tmp/zeronet-blog.service
125
+    echo '  <service>' >> /tmp/zeronet-blog.service
126
+    echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-blog.service
127
+    echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-blog.service
128
+    echo "    <txt-record>$ZERONET_URL/$ZERONET_BLOG_ADDRESS</txt-record>" >> /tmp/zeronet-blog.service
129
+    echo '  </service>' >> /tmp/zeronet-blog.service
130
+    echo '</service-group>' >> /tmp/zeronet-blog.service
131
+    cp /tmp/zeronet-blog.service /etc/avahi/services/zeronet-blog.service
132
+
133
+    if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
134
+        mkdir -p /home/$MY_USERNAME/.config/zeronet
135
+        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
136
+    fi
137
+    echo "$ZERONET_URL/$ZERONET_BLOG_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/myblog
138
+
139
+    sed -i "s|ZeroNet Blog address.*|ZeroNet Blog address: $ZERONET_BLOG_ADDRESS|g" /home/$MY_USERNAME/README
140
+    sed -i "s|ZeroNet Blog private key.*|ZeroNet Blog private key: $ZERONET_BLOG_PRIVATE_KEY|g" /home/$MY_USERNAME/README
141
+
142
+    echo $'Update of ZeroNet Blog completed' >> $INSTALL_LOG
143 143
 }
144 144
 
145 145
 function configure_zeronet_mail {
146
-	echo $'Updating ZeroNet Mail' >> $INSTALL_LOG
147
-	ZERONET_DEFAULT_MAIL_TITLE="${MY_USERNAME}'s Mail"
148
-
149
-	cd /opt/zeronet
150
-	python zeronet.py --batch siteCreate 2> /opt/zeronet/mail.txt
151
-	if [ ! -f /opt/zeronet/mail.txt ]; then
152
-		echo $'Unable to create ZeroNet mail' >> $INSTALL_LOG
153
-		exit 72574
154
-	fi
155
-	mail_address=$(cat mail.txt | grep "Site address" | awk -F ':' '{print $2}')
156
-	mail_private_key=$(cat mail.txt | grep "Site private key" | awk -F ':' '{print $2}')
157
-	ZERONET_MAIL_ADDRESS=${mail_address//[[:blank:]]/}
158
-	ZERONET_MAIL_PRIVATE_KEY=${mail_private_key//[[:blank:]]/}
159
-
160
-	if [ ${#ZERONET_MAIL_ADDRESS} -lt 20 ]; then
161
-		echo $"Address:    $ZERONET_MAIL_ADDRESS" >> $INSTALL_LOG
162
-		echo $"Public key: $ZERONET_MAIL_PRIVATE_KEY" >> $INSTALL_LOG
163
-		echo $'Unable to create zeronet mail address' >> $INSTALL_LOG
164
-		exit 7358
165
-	fi
166
-
167
-	if [ ${#ZERONET_MAIL_PRIVATE_KEY} -lt 20 ]; then
168
-		echo $"Address:    $ZERONET_MAIL_ADDRESS" >> $INSTALL_LOG
169
-		echo $"Public key: $ZERONET_MAIL_PRIVATE_KEY" >> $INSTALL_LOG
170
-		echo $'Unable to create zeronet mail private key' >> $INSTALL_LOG
171
-		exit 1639
172
-	fi
173
-
174
-	if [ ! -d "/opt/zeronet/data/$ZERONET_MAIL_ADDRESS" ]; then
175
-		echo $"Unable to find site directory: /opt/zeronet/data/$ZERONET_MAIL_ADDRESS" >> $INSTALL_LOG
176
-		exit 7638
177
-	fi
178
-
179
-	echo $"ZeroNet Mail address:     $ZERONET_MAIL_ADDRESS" >> $INSTALL_LOG
180
-	echo $"ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY" >> $INSTALL_LOG
181
-	cp -r /opt/zeronet/ZeroMail/* /opt/zeronet/data/$ZERONET_MAIL_ADDRESS
182
-
183
-	if [ ! -d /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data ]; then
184
-		mkdir /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data
185
-	fi
186
-	cp /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data-default/data.json /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data
187
-	sed -i "s/MyZeroMail/$ZERONET_DEFAULT_MAIL_TITLE/g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data/data.json
188
-	sed -i "s/My ZeroMail./$ZERONET_DEFAULT_MAIL_TAGLINE/g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data/data.json
189
-	sed -i "s/ZeroMail Demo/$ZERONET_DEFAULT_MAIL_TITLE/g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/index.html
190
-	sed -i "s|<h3 class=\"description\">.*|<h3 class=\"description\">$ZERONET_DEFAULT_MAIL_TAGLINE</h3>|g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/index.html
191
-	sed -i "s/Mailging platform Demo/Mailging platform/g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/content.json
192
-	python zeronet.py siteSign $ZERONET_MAIL_ADDRESS $ZERONET_MAIL_PRIVATE_KEY
193
-
194
-	# Add an avahi service
195
-	echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-mail.service
196
-	echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-mail.service
197
-	echo '<service-group>' >> /tmp/zeronet-mail.service
198
-	echo '  <name replace-wildcards="yes">%h ZeroNet Mail</name>' >> /tmp/zeronet-mail.service
199
-	echo '  <service>' >> /tmp/zeronet-mail.service
200
-	echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-mail.service
201
-	echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-mail.service
202
-	echo "    <txt-record>$ZERONET_URL/$ZERONET_MAIL_ADDRESS</txt-record>" >> /tmp/zeronet-mail.service
203
-	echo '  </service>' >> /tmp/zeronet-mail.service
204
-	echo '</service-group>' >> /tmp/zeronet-mail.service
205
-	cp /tmp/zeronet-mail.service /etc/avahi/services/zeronet-mail.service
206
-
207
-	if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
208
-		mkdir -p /home/$MY_USERNAME/.config/zeronet
209
-		chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
210
-	fi
211
-	echo "$ZERONET_URL/$ZERONET_MAIL_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/mymail
212
-
213
-	sed -i "s|ZeroNet Mail address.*|ZeroNet Mail address: $ZERONET_MAIL_ADDRESS|g" /home/$MY_USERNAME/README
214
-	sed -i "s|ZeroNet Mail private key.*|ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY|g" /home/$MY_USERNAME/README
215
-
216
-	echo $'Update of ZeroNet Mail completed' >> $INSTALL_LOG
146
+    echo $'Updating ZeroNet Mail' >> $INSTALL_LOG
147
+    ZERONET_DEFAULT_MAIL_TITLE="${MY_USERNAME}'s Mail"
148
+
149
+    cd /opt/zeronet
150
+    python zeronet.py --batch siteCreate 2> /opt/zeronet/mail.txt
151
+    if [ ! -f /opt/zeronet/mail.txt ]; then
152
+        echo $'Unable to create ZeroNet mail' >> $INSTALL_LOG
153
+        exit 72574
154
+    fi
155
+    mail_address=$(cat mail.txt | grep "Site address" | awk -F ':' '{print $2}')
156
+    mail_private_key=$(cat mail.txt | grep "Site private key" | awk -F ':' '{print $2}')
157
+    ZERONET_MAIL_ADDRESS=${mail_address//[[:blank:]]/}
158
+    ZERONET_MAIL_PRIVATE_KEY=${mail_private_key//[[:blank:]]/}
159
+
160
+    if [ ${#ZERONET_MAIL_ADDRESS} -lt 20 ]; then
161
+        echo $"Address:    $ZERONET_MAIL_ADDRESS" >> $INSTALL_LOG
162
+        echo $"Public key: $ZERONET_MAIL_PRIVATE_KEY" >> $INSTALL_LOG
163
+        echo $'Unable to create zeronet mail address' >> $INSTALL_LOG
164
+        exit 7358
165
+    fi
166
+
167
+    if [ ${#ZERONET_MAIL_PRIVATE_KEY} -lt 20 ]; then
168
+        echo $"Address:    $ZERONET_MAIL_ADDRESS" >> $INSTALL_LOG
169
+        echo $"Public key: $ZERONET_MAIL_PRIVATE_KEY" >> $INSTALL_LOG
170
+        echo $'Unable to create zeronet mail private key' >> $INSTALL_LOG
171
+        exit 1639
172
+    fi
173
+
174
+    if [ ! -d "/opt/zeronet/data/$ZERONET_MAIL_ADDRESS" ]; then
175
+        echo $"Unable to find site directory: /opt/zeronet/data/$ZERONET_MAIL_ADDRESS" >> $INSTALL_LOG
176
+        exit 7638
177
+    fi
178
+
179
+    echo $"ZeroNet Mail address:     $ZERONET_MAIL_ADDRESS" >> $INSTALL_LOG
180
+    echo $"ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY" >> $INSTALL_LOG
181
+    cp -r /opt/zeronet/ZeroMail/* /opt/zeronet/data/$ZERONET_MAIL_ADDRESS
182
+
183
+    if [ ! -d /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data ]; then
184
+        mkdir /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data
185
+    fi
186
+    cp /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data-default/data.json /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data
187
+    sed -i "s/MyZeroMail/$ZERONET_DEFAULT_MAIL_TITLE/g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data/data.json
188
+    sed -i "s/My ZeroMail./$ZERONET_DEFAULT_MAIL_TAGLINE/g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/data/data.json
189
+    sed -i "s/ZeroMail Demo/$ZERONET_DEFAULT_MAIL_TITLE/g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/index.html
190
+    sed -i "s|<h3 class=\"description\">.*|<h3 class=\"description\">$ZERONET_DEFAULT_MAIL_TAGLINE</h3>|g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/index.html
191
+    sed -i "s/Mailging platform Demo/Mailging platform/g" /opt/zeronet/data/$ZERONET_MAIL_ADDRESS/content.json
192
+    python zeronet.py siteSign $ZERONET_MAIL_ADDRESS $ZERONET_MAIL_PRIVATE_KEY
193
+
194
+    # Add an avahi service
195
+    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-mail.service
196
+    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-mail.service
197
+    echo '<service-group>' >> /tmp/zeronet-mail.service
198
+    echo '  <name replace-wildcards="yes">%h ZeroNet Mail</name>' >> /tmp/zeronet-mail.service
199
+    echo '  <service>' >> /tmp/zeronet-mail.service
200
+    echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-mail.service
201
+    echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-mail.service
202
+    echo "    <txt-record>$ZERONET_URL/$ZERONET_MAIL_ADDRESS</txt-record>" >> /tmp/zeronet-mail.service
203
+    echo '  </service>' >> /tmp/zeronet-mail.service
204
+    echo '</service-group>' >> /tmp/zeronet-mail.service
205
+    cp /tmp/zeronet-mail.service /etc/avahi/services/zeronet-mail.service
206
+
207
+    if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
208
+        mkdir -p /home/$MY_USERNAME/.config/zeronet
209
+        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
210
+    fi
211
+    echo "$ZERONET_URL/$ZERONET_MAIL_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/mymail
212
+
213
+    sed -i "s|ZeroNet Mail address.*|ZeroNet Mail address: $ZERONET_MAIL_ADDRESS|g" /home/$MY_USERNAME/README
214
+    sed -i "s|ZeroNet Mail private key.*|ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY|g" /home/$MY_USERNAME/README
215
+
216
+    echo $'Update of ZeroNet Mail completed' >> $INSTALL_LOG
217 217
 }
218 218
 
219 219
 function configure_zeronet_forum {
220
-	echo $'Updating ZeroNet Forum' >> $INSTALL_LOG
221
-	ZERONET_DEFAULT_FORUM_TITLE="${MY_USERNAME}'s Forum"
222
-
223
-	cd /opt/zeronet
224
-	python zeronet.py --batch siteCreate 2> /opt/zeronet/forum.txt
225
-	if [ ! -f /opt/zeronet/forum.txt ]; then
226
-		echo $'Unable to create ZeroNet forum' >> $INSTALL_LOG
227
-		exit 47962
228
-	fi
229
-	forum_address=$(cat forum.txt | grep "Site address" | awk -F ':' '{print $2}')
230
-	forum_private_key=$(cat forum.txt | grep "Site private key" | awk -F ':' '{print $2}')
231
-	ZERONET_FORUM_ADDRESS=${forum_address//[[:blank:]]/}
232
-	ZERONET_FORUM_PRIVATE_KEY=${forum_private_key//[[:blank:]]/}
233
-
234
-	if [ ${#ZERONET_FORUM_ADDRESS} -lt 20 ]; then
235
-		echo $"Address:    $ZERONET_FORUM_ADDRESS" >> $INSTALL_LOG
236
-		echo $"Public key: $ZERONET_FORUM_PRIVATE_KEY" >> $INSTALL_LOG
237
-		echo $'Unable to create zeronet forum address' >> $INSTALL_LOG
238
-		exit 76352
239
-	fi
240
-
241
-	if [ ${#ZERONET_FORUM_PRIVATE_KEY} -lt 20 ]; then
242
-		echo $"Address:    $ZERONET_FORUM_ADDRESS" >> $INSTALL_LOG
243
-		echo $"Public key: $ZERONET_FORUM_PRIVATE_KEY" >> $INSTALL_LOG
244
-		echo $'Unable to create zeronet forum private key' >> $INSTALL_LOG
245
-		exit 87356
246
-	fi
247
-
248
-	if [ ! -d "/opt/zeronet/data/$ZERONET_FORUM_ADDRESS" ]; then
249
-		echo $"Unable to find site directory: /opt/zeronet/data/$ZERONET_FORUM_ADDRESS" >> $INSTALL_LOG
250
-		exit 7638
251
-	fi
252
-
253
-	echo $"Forum address:     $ZERONET_FORUM_ADDRESS"
254
-	echo $"Forum private key: $ZERONET_FORUM_PRIVATE_KEY"
255
-	cp -r /opt/zeronet/ZeroTalk/* /opt/zeronet/data/$ZERONET_FORUM_ADDRESS
256
-	sed -i "s/ZeroBoard/$ZERONET_DEFAULT_FORUM_TITLE/g" /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/index.html
257
-	sed -i "s/ZeroTalk/$ZERONET_DEFAULT_FORUM_TITLE/g" /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/index.html
258
-	sed -i "s|Demo for dynamic, decentralized content publishing.|$ZERONET_DEFAULT_FORUM_TAGLINE|g" /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/index.html
259
-	sed -i 's/Messaging Board Demo/Messaging Board/g' /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/content.json
260
-	sed -i "s/ZeroBoard/$ZERONET_DEFAULT_FORUM_TITLE/g" /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/content.json
261
-	python zeronet.py siteSign $ZERONET_FORUM_ADDRESS $ZERONET_FORUM_PRIVATE_KEY --inner_path data/users/content.json
262
-
263
-	# Add an avahi service
264
-	echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-forum.service
265
-	echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-forum.service
266
-	echo '<service-group>' >> /tmp/zeronet-forum.service
267
-	echo '  <name replace-wildcards="yes">%h ZeroNet Forum</name>' >> /tmp/zeronet-forum.service
268
-	echo '  <service>' >> /tmp/zeronet-forum.service
269
-	echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-forum.service
270
-	echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-forum.service
271
-	echo "    <txt-record>$ZERONET_URL/$ZERONET_FORUM_ADDRESS</txt-record>" >> /tmp/zeronet-forum.service
272
-	echo '  </service>' >> /tmp/zeronet-forum.service
273
-	echo '</service-group>' >> /tmp/zeronet-forum.service
274
-	sudo cp /tmp/zeronet-forum.service /etc/avahi/services/zeronet-forum.service
275
-
276
-	if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
277
-		mkdir -p /home/$MY_USERNAME/.config/zeronet
278
-		chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
279
-	fi
280
-	echo "$ZERONET_URL/$ZERONET_FORUM_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/myforum
281
-
282
-	sed -i "s|ZeroNet Forum address.*|ZeroNet Forum address: $ZERONET_FORUM_ADDRESS|g" /home/$MY_USERNAME/README
283
-	sed -i "s|ZeroNet Forum private key.*|ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY|g" /home/$MY_USERNAME/README
284
-
285
-	echo $'Update of ZeroNet Forum completed' >> $INSTALL_LOG
220
+    echo $'Updating ZeroNet Forum' >> $INSTALL_LOG
221
+    ZERONET_DEFAULT_FORUM_TITLE="${MY_USERNAME}'s Forum"
222
+
223
+    cd /opt/zeronet
224
+    python zeronet.py --batch siteCreate 2> /opt/zeronet/forum.txt
225
+    if [ ! -f /opt/zeronet/forum.txt ]; then
226
+        echo $'Unable to create ZeroNet forum' >> $INSTALL_LOG
227
+        exit 47962
228
+    fi
229
+    forum_address=$(cat forum.txt | grep "Site address" | awk -F ':' '{print $2}')
230
+    forum_private_key=$(cat forum.txt | grep "Site private key" | awk -F ':' '{print $2}')
231
+    ZERONET_FORUM_ADDRESS=${forum_address//[[:blank:]]/}
232
+    ZERONET_FORUM_PRIVATE_KEY=${forum_private_key//[[:blank:]]/}
233
+
234
+    if [ ${#ZERONET_FORUM_ADDRESS} -lt 20 ]; then
235
+        echo $"Address:    $ZERONET_FORUM_ADDRESS" >> $INSTALL_LOG
236
+        echo $"Public key: $ZERONET_FORUM_PRIVATE_KEY" >> $INSTALL_LOG
237
+        echo $'Unable to create zeronet forum address' >> $INSTALL_LOG
238
+        exit 76352
239
+    fi
240
+
241
+    if [ ${#ZERONET_FORUM_PRIVATE_KEY} -lt 20 ]; then
242
+        echo $"Address:    $ZERONET_FORUM_ADDRESS" >> $INSTALL_LOG
243
+        echo $"Public key: $ZERONET_FORUM_PRIVATE_KEY" >> $INSTALL_LOG
244
+        echo $'Unable to create zeronet forum private key' >> $INSTALL_LOG
245
+        exit 87356
246
+    fi
247
+
248
+    if [ ! -d "/opt/zeronet/data/$ZERONET_FORUM_ADDRESS" ]; then
249
+        echo $"Unable to find site directory: /opt/zeronet/data/$ZERONET_FORUM_ADDRESS" >> $INSTALL_LOG
250
+        exit 7638
251
+    fi
252
+
253
+    echo $"Forum address:     $ZERONET_FORUM_ADDRESS"
254
+    echo $"Forum private key: $ZERONET_FORUM_PRIVATE_KEY"
255
+    cp -r /opt/zeronet/ZeroTalk/* /opt/zeronet/data/$ZERONET_FORUM_ADDRESS
256
+    sed -i "s/ZeroBoard/$ZERONET_DEFAULT_FORUM_TITLE/g" /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/index.html
257
+    sed -i "s/ZeroTalk/$ZERONET_DEFAULT_FORUM_TITLE/g" /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/index.html
258
+    sed -i "s|Demo for dynamic, decentralized content publishing.|$ZERONET_DEFAULT_FORUM_TAGLINE|g" /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/index.html
259
+    sed -i 's/Messaging Board Demo/Messaging Board/g' /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/content.json
260
+    sed -i "s/ZeroBoard/$ZERONET_DEFAULT_FORUM_TITLE/g" /opt/zeronet/data/$ZERONET_FORUM_ADDRESS/content.json
261
+    python zeronet.py siteSign $ZERONET_FORUM_ADDRESS $ZERONET_FORUM_PRIVATE_KEY --inner_path data/users/content.json
262
+
263
+    # Add an avahi service
264
+    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-forum.service
265
+    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-forum.service
266
+    echo '<service-group>' >> /tmp/zeronet-forum.service
267
+    echo '  <name replace-wildcards="yes">%h ZeroNet Forum</name>' >> /tmp/zeronet-forum.service
268
+    echo '  <service>' >> /tmp/zeronet-forum.service
269
+    echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-forum.service
270
+    echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-forum.service
271
+    echo "    <txt-record>$ZERONET_URL/$ZERONET_FORUM_ADDRESS</txt-record>" >> /tmp/zeronet-forum.service
272
+    echo '  </service>' >> /tmp/zeronet-forum.service
273
+    echo '</service-group>' >> /tmp/zeronet-forum.service
274
+    sudo cp /tmp/zeronet-forum.service /etc/avahi/services/zeronet-forum.service
275
+
276
+    if [ ! -d /home/$MY_USERNAME/.config/zeronet ]; then
277
+        mkdir -p /home/$MY_USERNAME/.config/zeronet
278
+        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
279
+    fi
280
+    echo "$ZERONET_URL/$ZERONET_FORUM_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/myforum
281
+
282
+    sed -i "s|ZeroNet Forum address.*|ZeroNet Forum address: $ZERONET_FORUM_ADDRESS|g" /home/$MY_USERNAME/README
283
+    sed -i "s|ZeroNet Forum private key.*|ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY|g" /home/$MY_USERNAME/README
284
+
285
+    echo $'Update of ZeroNet Forum completed' >> $INSTALL_LOG
286 286
 }
287 287
 
288 288
 function compile_toxcore {
289
-	echo $'Compiling toxcore' >> $INSTALL_LOG
290
-	if [ ! -d $INSTALL_DIR/toxcore ]; then
291
-		echo $"$INSTALL_DIR/toxcore not found" >> $INSTALL_LOG
292
-		return
293
-	fi
294
-	cd $INSTALL_DIR/toxcore
295
-	autoreconf -i
296
-	./configure --enable-daemon --disable-av
297
-	if [ ! "$?" = "0" ]; then
298
-		echo $'Unable to configure toxcore' >> $INSTALL_LOG
299
-		return
300
-	fi
301
-	chroot "$rootdir" make
302
-	if [ ! "$?" = "0" ]; then
303
-		echo $'Unable to make toxcore' >> $INSTALL_LOG
304
-		return
305
-	fi
306
-	make install
307
-	cp /usr/local/lib/libtoxcore* /usr/lib/
308
-
309
-	if [ ! -f $rootdir/usr/local/bin/tox-bootstrapd ]; then
310
-		echo $"File not found /usr/local/bin/tox-bootstrapd" >> $INSTALL_LOG
311
-		return
312
-	fi
313
-
314
-	useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment $"Account to run Tox's DHT bootstrap daemon" --user-group tox-bootstrapd
315
-	chmod 700 /var/lib/tox-bootstrapd
316
-	if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf ]; then
317
-		echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf" >> $INSTALL_LOG
318
-	fi
319
-	# remove Maildir
320
-	if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
321
-		rm -rf /var/lib/tox-bootstrapd/Maildir
322
-	fi
323
-
324
-	# create configuration file
325
-	TOX_BOOTSTRAP_CONFIG=/etc/tox-bootstrapd.conf
326
-	echo "port = $TOX_PORT" > $TOX_BOOTSTRAP_CONFIG
327
-	echo 'keys_file_path = "/var/lib/tox-bootstrapd/keys"' >> $TOX_BOOTSTRAP_CONFIG
328
-	echo 'pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"' >> $TOX_BOOTSTRAP_CONFIG
329
-	echo 'enable_ipv6 = true' >> $TOX_BOOTSTRAP_CONFIG
330
-	echo 'enable_ipv4_fallback = true' >> $TOX_BOOTSTRAP_CONFIG
331
-	echo 'enable_lan_discovery = true' >> $TOX_BOOTSTRAP_CONFIG
332
-	echo 'enable_tcp_relay = true' >> $TOX_BOOTSTRAP_CONFIG
333
-	echo "tcp_relay_ports = [443, 3389, $TOX_PORT]" >> $TOX_BOOTSTRAP_CONFIG
334
-	echo 'enable_motd = true' >> $TOX_BOOTSTRAP_CONFIG
335
-	echo 'motd = "tox-bootstrapd"' >> $TOX_BOOTSTRAP_CONFIG
336
-
337
-	if [ $TOX_NODES ]; then
338
-		echo 'bootstrap_nodes = (' >> $TOX_BOOTSTRAP_CONFIG
339
-		toxcount=0
340
-		while [ "x${TOX_NODES[toxcount]}" != "x" ]
341
-		do
342
-			toxval_ipv4=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $1}')
343
-			toxval_ipv6=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $2}')
344
-			toxval_port=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $3}')
345
-			toxval_pubkey=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $4}')
346
-			toxval_maintainer=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $5}')
347
-			echo "{ // $toxval_maintainer" >> $TOX_BOOTSTRAP_CONFIG
348
-			if [[ $toxval_ipv6 != 'NONE' ]]; then
349
-				echo "  address = \"$toxval_ipv6\"" >> $TOX_BOOTSTRAP_CONFIG
350
-			else
351
-				echo "  address = \"$toxval_ipv4\"" >> $TOX_BOOTSTRAP_CONFIG
352
-			fi
353
-			echo "  port = $toxval_port" >> $TOX_BOOTSTRAP_CONFIG
354
-			echo "  public_key = \"$toxval_pubkey\"" >> $TOX_BOOTSTRAP_CONFIG
355
-			toxcount=$(( $toxcount + 1 ))
356
-			if [ "x${TOX_NODES[toxcount]}" != "x" ]; then
357
-				echo "}," >> $TOX_BOOTSTRAP_CONFIG
358
-			else
359
-				echo "}" >> $TOX_BOOTSTRAP_CONFIG
360
-			fi
361
-		done
362
-		echo ')' >> $TOX_BOOTSTRAP_CONFIG
363
-	fi
364
-
365
-	if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service ]; then
366
-		echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service" >> $INSTALL_LOG
367
-		return
368
-	fi
369
-	cp $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service /etc/systemd/system/
370
-	sed -i 's|ExecStart=.*|ExecStart=/usr/local/bin/tox-bootstrapd --config /etc/tox-bootstrapd.conf|g' /etc/systemd/system/tox-bootstrapd.service
371
-
372
-	systemctl daemon-reload
373
-	systemctl enable tox-bootstrapd.service
374
-	echo $'toxcore compile completed' >> $INSTALL_LOG
289
+    echo $'Compiling toxcore' >> $INSTALL_LOG
290
+    if [ ! -d $INSTALL_DIR/toxcore ]; then
291
+        echo $"$INSTALL_DIR/toxcore not found" >> $INSTALL_LOG
292
+        return
293
+    fi
294
+    cd $INSTALL_DIR/toxcore
295
+    autoreconf -i
296
+    ./configure --enable-daemon --disable-av
297
+    if [ ! "$?" = "0" ]; then
298
+        echo $'Unable to configure toxcore' >> $INSTALL_LOG
299
+        return
300
+    fi
301
+    make > /root/make_toxcore.txt
302
+    if [ ! "$?" = "0" ]; then
303
+        echo $'Unable to make toxcore' >> $INSTALL_LOG
304
+        return
305
+    fi
306
+    rm /root/make_toxcore.txt
307
+    make install
308
+    cp /usr/local/lib/libtoxcore* /usr/lib/
309
+
310
+    if [ ! -f /usr/local/bin/tox-bootstrapd ]; then
311
+        echo $"File not found /usr/local/bin/tox-bootstrapd" >> $INSTALL_LOG
312
+        return
313
+    fi
314
+
315
+    useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment $"Account to run Tox's DHT bootstrap daemon" --user-group tox-bootstrapd
316
+    chmod 700 /var/lib/tox-bootstrapd
317
+    if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf ]; then
318
+        echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf" >> $INSTALL_LOG
319
+    fi
320
+    # remove Maildir
321
+    if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
322
+        rm -rf /var/lib/tox-bootstrapd/Maildir
323
+    fi
324
+
325
+    # create configuration file
326
+    TOX_BOOTSTRAP_CONFIG=/etc/tox-bootstrapd.conf
327
+    echo "port = $TOX_PORT" > $TOX_BOOTSTRAP_CONFIG
328
+    echo 'keys_file_path = "/var/lib/tox-bootstrapd/keys"' >> $TOX_BOOTSTRAP_CONFIG
329
+    echo 'pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"' >> $TOX_BOOTSTRAP_CONFIG
330
+    echo 'enable_ipv6 = true' >> $TOX_BOOTSTRAP_CONFIG
331
+    echo 'enable_ipv4_fallback = true' >> $TOX_BOOTSTRAP_CONFIG
332
+    echo 'enable_lan_discovery = true' >> $TOX_BOOTSTRAP_CONFIG
333
+    echo 'enable_tcp_relay = true' >> $TOX_BOOTSTRAP_CONFIG
334
+    echo "tcp_relay_ports = [443, 3389, $TOX_PORT]" >> $TOX_BOOTSTRAP_CONFIG
335
+    echo 'enable_motd = true' >> $TOX_BOOTSTRAP_CONFIG
336
+    echo 'motd = "tox-bootstrapd"' >> $TOX_BOOTSTRAP_CONFIG
337
+
338
+    if [ $TOX_NODES ]; then
339
+        echo 'bootstrap_nodes = (' >> $TOX_BOOTSTRAP_CONFIG
340
+        toxcount=0
341
+        while [ "x${TOX_NODES[toxcount]}" != "x" ]
342
+        do
343
+            toxval_ipv4=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $1}')
344
+            toxval_ipv6=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $2}')
345
+            toxval_port=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $3}')
346
+            toxval_pubkey=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $4}')
347
+            toxval_maintainer=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $5}')
348
+            echo "{ // $toxval_maintainer" >> $TOX_BOOTSTRAP_CONFIG
349
+            if [[ $toxval_ipv6 != 'NONE' ]]; then
350
+                echo "  address = \"$toxval_ipv6\"" >> $TOX_BOOTSTRAP_CONFIG
351
+            else
352
+                echo "  address = \"$toxval_ipv4\"" >> $TOX_BOOTSTRAP_CONFIG
353
+            fi
354
+            echo "  port = $toxval_port" >> $TOX_BOOTSTRAP_CONFIG
355
+            echo "  public_key = \"$toxval_pubkey\"" >> $TOX_BOOTSTRAP_CONFIG
356
+            toxcount=$(( $toxcount + 1 ))
357
+            if [ "x${TOX_NODES[toxcount]}" != "x" ]; then
358
+                echo "}," >> $TOX_BOOTSTRAP_CONFIG
359
+            else
360
+                echo "}" >> $TOX_BOOTSTRAP_CONFIG
361
+            fi
362
+        done
363
+        echo ')' >> $TOX_BOOTSTRAP_CONFIG
364
+    fi
365
+
366
+    if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service ]; then
367
+        echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service" >> $INSTALL_LOG
368
+        return
369
+    fi
370
+    cp $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service /etc/systemd/system/
371
+    sed -i 's|ExecStart=.*|ExecStart=/usr/local/bin/tox-bootstrapd --config /etc/tox-bootstrapd.conf|g' /etc/systemd/system/tox-bootstrapd.service
372
+
373
+    systemctl daemon-reload
374
+    systemctl enable tox-bootstrapd.service
375
+    echo $'toxcore compile completed' >> $INSTALL_LOG
375 376
 }
376 377
 
377 378
 function compile_tox_client {
378
-	echo $'Compiling tox client' >> $INSTALL_LOG
379
-
380
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
381
-		TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
382
-	else
383
-		TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
384
-	fi
385
-
386
-	if [ ! -d $INSTALL_DIR/toxic ]; then
387
-		echo $"$INSTALL_DIR/toxic not found" >> $INSTALL_LOG
388
-		return
389
-	fi
390
-
391
-	cd $INSTALL_DIR/toxic
392
-	make
393
-	if [ ! -f $INSTALL_DIR/toxic/build/toxic ]; then
394
-		echo $'Unable to make tox client' >> $INSTALL_LOG
395
-		exit 74872
396
-	fi
397
-	make install
398
-	if [ ! -f $TOXIC_FILE ]; then
399
-		echo $"Tox client was not installed to $TOXIC_FILE" >> $INSTALL_LOG
400
-		exit 63278
401
-	fi
402
-
403
-	echo $'toxic client compile completed' >> $INSTALL_LOG
379
+    echo $'Compiling tox client' >> $INSTALL_LOG
380
+
381
+    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
382
+        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
383
+    else
384
+        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
385
+    fi
386
+
387
+    if [ ! -d $INSTALL_DIR/toxic ]; then
388
+        echo $"$INSTALL_DIR/toxic not found" >> $INSTALL_LOG
389
+        return
390
+    fi
391
+
392
+    cd $INSTALL_DIR/toxic
393
+    make > /root/make_toxic.txt
394
+    if [ ! -f $INSTALL_DIR/toxic/build/toxic ]; then
395
+        echo $'Unable to make tox client' >> $INSTALL_LOG
396
+        exit 74872
397
+    fi
398
+    rm /root/make_toxic.txt
399
+    make install
400
+    if [ ! -f $TOXIC_FILE ]; then
401
+        echo $"Tox client was not installed to $TOXIC_FILE" >> $INSTALL_LOG
402
+        exit 63278
403
+    fi
404
+
405
+    echo $'toxic client compile completed' >> $INSTALL_LOG
404 406
 }
405 407
 
406 408
 function configure_toxcore {
407
-	echo $'Configuring toxcore' >> $INSTALL_LOG
408
-
409
-	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
410
-		TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
411
-	else
412
-		TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
413
-	fi
414
-
415
-	echo $'Regenerating Tox bootstrap node keys' >> $INSTALL_LOG
416
-	systemctl stop tox-bootstrapd.service
417
-	if [ -f /var/lib/tox-bootstrapd/keys ]; then
418
-		rm /var/lib/tox-bootstrapd/keys
419
-	fi
420
-	systemctl start tox-bootstrapd.service
421
-	TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
422
-	TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
423
-	if [ ${#TOX_PUBLIC_KEY} -lt 30 ]; then
424
-		echo $'WARNING: Could not obtain the tox node public key' >> $INSTALL_LOG
425
-		exit 46362
426
-	fi
427
-
428
-	# save the public key for later reference
429
-	echo "$TOX_PUBLIC_KEY" > $TOX_BOOTSTRAP_ID_FILE
430
-	echo $'Configured toxcore' >> $INSTALL_LOG
431
-
432
-	echo $'Clearing toxic client settings' >> $INSTALL_LOG
433
-	if [ -d /home/$MY_USERNAME/.config/tox ]; then
434
-		rm -rf /home/$MY_USERNAME/.config/tox
435
-	fi
436
-	echo $'toxic client configured' >> $INSTALL_LOG
409
+    echo $'Configuring toxcore' >> $INSTALL_LOG
410
+
411
+    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
412
+        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
413
+    else
414
+        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
415
+    fi
416
+
417
+    echo $'Regenerating Tox bootstrap node keys' >> $INSTALL_LOG
418
+    systemctl stop tox-bootstrapd.service
419
+    if [ -f /var/lib/tox-bootstrapd/keys ]; then
420
+        rm /var/lib/tox-bootstrapd/keys
421
+    fi
422
+    systemctl start tox-bootstrapd.service
423
+    TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
424
+    TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
425
+    if [ ${#TOX_PUBLIC_KEY} -lt 30 ]; then
426
+        echo $'WARNING: Could not obtain the tox node public key' >> $INSTALL_LOG
427
+        exit 46362
428
+    fi
429
+
430
+    # save the public key for later reference
431
+    echo "$TOX_PUBLIC_KEY" > $TOX_BOOTSTRAP_ID_FILE
432
+    echo $'Configured toxcore' >> $INSTALL_LOG
433
+
434
+    echo $'Clearing toxic client settings' >> $INSTALL_LOG
435
+    if [ -d /home/$MY_USERNAME/.config/tox ]; then
436
+        rm -rf /home/$MY_USERNAME/.config/tox
437
+    fi
438
+    echo $'toxic client configured' >> $INSTALL_LOG
437 439
 }
438 440
 
439 441
 if [ -f /root/.initial_mesh_setup ]; then
440
-	if [ $1 ]; then
441
-		MY_USERNAME=$1
442
-	fi
443
-
444
-	# sleep in order to allow other daemons to start up
445
-	sleep 15
446
-
447
-	# clear the install log
448
-	if [ -f $INSTALL_LOG ]; then
449
-		rm $INSTALL_LOG
450
-	fi
451
-
452
-	echo $'Beginning mesh node setup' >> $INSTALL_LOG
453
-	change_avahi_name
454
-	regenerate_ssh_host_keys
455
-	configure_zeronet_blog
456
-	configure_zeronet_mail
457
-	configure_zeronet_forum
458
-	compile_toxcore
459
-	compile_tox_client
460
-	configure_toxcore
461
-	configure_zeronet
462
-
463
-	rm /root/.initial_mesh_setup
464
-	systemctl disable mesh-setup.service
465
-	touch /root/.mesh_setup_completed
466
-	echo $'Mesh node setup complete. Rebooting...' >> $INSTALL_LOG
467
-	reboot
442
+    if [ $1 ]; then
443
+        MY_USERNAME=$1
444
+    fi
445
+
446
+    # sleep in order to allow other daemons to start up
447
+    sleep 15
448
+
449
+    # clear the install log
450
+    if [ -f $INSTALL_LOG ]; then
451
+        rm $INSTALL_LOG
452
+    fi
453
+
454
+    echo $'Beginning mesh node setup' >> $INSTALL_LOG
455
+    change_avahi_name
456
+    regenerate_ssh_host_keys
457
+    configure_zeronet_blog
458
+    configure_zeronet_mail
459
+    configure_zeronet_forum
460
+    compile_toxcore
461
+    compile_tox_client
462
+    configure_toxcore
463
+    configure_zeronet
464
+
465
+    rm /root/.initial_mesh_setup
466
+    systemctl disable mesh-setup.service
467
+    touch /root/.mesh_setup_completed
468
+    echo $'Mesh node setup complete. Rebooting...' >> $INSTALL_LOG
469
+    reboot
468 470
 fi
469 471
 
470 472
 exit 0