Przeglądaj źródła

Time the compilation

Bob Mottram 9 lat temu
rodzic
commit
39302bd960
2 zmienionych plików z 406 dodań i 404 usunięć
  1. 406
    401
      src/freedombone-image-mesh
  2. 0
    3
      src/freedombone-mesh-install

+ 406
- 401
src/freedombone-image-mesh Wyświetl plik

@@ -43,434 +43,439 @@ 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|ExecStart=.*|ExecStart=/usr/bin/python zeronet.py --ip_external P${PEER_ID}.local --trackers_file /opt/zeronet/bootstrap|g" /etc/systemd/system/zeronet.service
68
-    echo $"zeronet daemon updated to P${PEER_ID}.local" >> $INSTALL_LOG
67
+	sed -i "s|ExecStart=.*|ExecStart=/usr/bin/python zeronet.py --ip_external P${PEER_ID}.local --trackers_file /opt/zeronet/bootstrap|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 > $INSTALL_DIR/configure_toxcore.txt
297
-    if [ ! "$?" = "0" ]; then
298
-        echo $'Unable to configure toxcore' >> $INSTALL_LOG
299
-        echo $'See $INSTALL_DIR/configure_toxcore.txt' >> $INSTALL_LOG 
300
-        return
301
-    fi
302
-    rm $INSTALL_DIR/configure_toxcore.txt
303
-    make > $INSTALL_DIR/make_toxcore.txt
304
-    if [ ! "$?" = "0" ]; then
305
-        echo $'Unable to make toxcore' >> $INSTALL_LOG 
306
-        echo $'See $INSTALL_DIR/make_toxcore.txt' >> $INSTALL_LOG 
307
-       return
308
-    fi
309
-    rm $INSTALL_DIR/make_toxcore.txt
310
-    make install
311
-    cp /usr/local/lib/libtoxcore* /usr/lib/
312
-
313
-    if [ ! -f /usr/local/bin/tox-bootstrapd ]; then
314
-        echo $"File not found /usr/local/bin/tox-bootstrapd" >> $INSTALL_LOG
315
-        return
316
-    fi
317
-
318
-    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
319
-    chmod 700 /var/lib/tox-bootstrapd
320
-    if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf ]; then
321
-        echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf" >> $INSTALL_LOG
322
-    fi
323
-    # remove Maildir
324
-    if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
325
-        rm -rf /var/lib/tox-bootstrapd/Maildir
326
-    fi
327
-
328
-    # create configuration file
329
-    TOX_BOOTSTRAP_CONFIG=/etc/tox-bootstrapd.conf
330
-    echo "port = $TOX_PORT" > $TOX_BOOTSTRAP_CONFIG
331
-    echo 'keys_file_path = "/var/lib/tox-bootstrapd/keys"' >> $TOX_BOOTSTRAP_CONFIG
332
-    echo 'pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"' >> $TOX_BOOTSTRAP_CONFIG
333
-    echo 'enable_ipv6 = true' >> $TOX_BOOTSTRAP_CONFIG
334
-    echo 'enable_ipv4_fallback = true' >> $TOX_BOOTSTRAP_CONFIG
335
-    echo 'enable_lan_discovery = true' >> $TOX_BOOTSTRAP_CONFIG
336
-    echo 'enable_tcp_relay = true' >> $TOX_BOOTSTRAP_CONFIG
337
-    echo "tcp_relay_ports = [443, 3389, $TOX_PORT]" >> $TOX_BOOTSTRAP_CONFIG
338
-    echo 'enable_motd = true' >> $TOX_BOOTSTRAP_CONFIG
339
-    echo 'motd = "tox-bootstrapd"' >> $TOX_BOOTSTRAP_CONFIG
340
-
341
-    if [ $TOX_NODES ]; then
342
-        echo 'bootstrap_nodes = (' >> $TOX_BOOTSTRAP_CONFIG
343
-        toxcount=0
344
-        while [ "x${TOX_NODES[toxcount]}" != "x" ]
345
-        do
346
-            toxval_ipv4=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $1}')
347
-            toxval_ipv6=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $2}')
348
-            toxval_port=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $3}')
349
-            toxval_pubkey=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $4}')
350
-            toxval_maintainer=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $5}')
351
-            echo "{ // $toxval_maintainer" >> $TOX_BOOTSTRAP_CONFIG
352
-            if [[ $toxval_ipv6 != 'NONE' ]]; then
353
-                echo "  address = \"$toxval_ipv6\"" >> $TOX_BOOTSTRAP_CONFIG
354
-            else
355
-                echo "  address = \"$toxval_ipv4\"" >> $TOX_BOOTSTRAP_CONFIG
356
-            fi
357
-            echo "  port = $toxval_port" >> $TOX_BOOTSTRAP_CONFIG
358
-            echo "  public_key = \"$toxval_pubkey\"" >> $TOX_BOOTSTRAP_CONFIG
359
-            toxcount=$(( $toxcount + 1 ))
360
-            if [ "x${TOX_NODES[toxcount]}" != "x" ]; then
361
-                echo "}," >> $TOX_BOOTSTRAP_CONFIG
362
-            else
363
-                echo "}" >> $TOX_BOOTSTRAP_CONFIG
364
-            fi
365
-        done
366
-        echo ')' >> $TOX_BOOTSTRAP_CONFIG
367
-    fi
368
-
369
-    if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service ]; then
370
-        echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service" >> $INSTALL_LOG
371
-        return
372
-    fi
373
-    cp $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service /etc/systemd/system/
374
-    sed -i 's|ExecStart=.*|ExecStart=/usr/local/bin/tox-bootstrapd --config /etc/tox-bootstrapd.conf|g' /etc/systemd/system/tox-bootstrapd.service
375
-
376
-    systemctl daemon-reload
377
-    systemctl enable tox-bootstrapd.service
378
-    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
+	SECONDS=0
296
+	autoreconf -i
297
+	./configure --enable-daemon --disable-av > $INSTALL_DIR/configure_toxcore.txt
298
+	make > $INSTALL_DIR/make_toxcore.txt
299
+	if [ ! "$?" = "0" ]; then
300
+		duration=$SECONDS
301
+		echo $"Toxcore compile failed at $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed." >> $INSTALL_LOG
302
+		echo $'Unable to make toxcore' >> $INSTALL_LOG
303
+		echo $'See $INSTALL_DIR/make_toxcore.txt' >> $INSTALL_LOG
304
+		return
305
+	fi
306
+	rm $INSTALL_DIR/configure_toxcore.txt
307
+	rm $INSTALL_DIR/make_toxcore.txt
308
+	make install
309
+	duration=$SECONDS
310
+	echo $"Toxcore compile $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed." >> $INSTALL_LOG
311
+	cp /usr/local/lib/libtoxcore* /usr/lib/
312
+
313
+	if [ ! -f /usr/local/bin/tox-bootstrapd ]; then
314
+		echo $"File not found /usr/local/bin/tox-bootstrapd" >> $INSTALL_LOG
315
+		return
316
+	fi
317
+
318
+	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
319
+	chmod 700 /var/lib/tox-bootstrapd
320
+	if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf ]; then
321
+		echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf" >> $INSTALL_LOG
322
+	fi
323
+	# remove Maildir
324
+	if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
325
+		rm -rf /var/lib/tox-bootstrapd/Maildir
326
+	fi
327
+
328
+	# create configuration file
329
+	TOX_BOOTSTRAP_CONFIG=/etc/tox-bootstrapd.conf
330
+	echo "port = $TOX_PORT" > $TOX_BOOTSTRAP_CONFIG
331
+	echo 'keys_file_path = "/var/lib/tox-bootstrapd/keys"' >> $TOX_BOOTSTRAP_CONFIG
332
+	echo 'pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"' >> $TOX_BOOTSTRAP_CONFIG
333
+	echo 'enable_ipv6 = true' >> $TOX_BOOTSTRAP_CONFIG
334
+	echo 'enable_ipv4_fallback = true' >> $TOX_BOOTSTRAP_CONFIG
335
+	echo 'enable_lan_discovery = true' >> $TOX_BOOTSTRAP_CONFIG
336
+	echo 'enable_tcp_relay = true' >> $TOX_BOOTSTRAP_CONFIG
337
+	echo "tcp_relay_ports = [443, 3389, $TOX_PORT]" >> $TOX_BOOTSTRAP_CONFIG
338
+	echo 'enable_motd = true' >> $TOX_BOOTSTRAP_CONFIG
339
+	echo 'motd = "tox-bootstrapd"' >> $TOX_BOOTSTRAP_CONFIG
340
+
341
+	if [ $TOX_NODES ]; then
342
+		echo 'bootstrap_nodes = (' >> $TOX_BOOTSTRAP_CONFIG
343
+		toxcount=0
344
+		while [ "x${TOX_NODES[toxcount]}" != "x" ]
345
+		do
346
+			toxval_ipv4=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $1}')
347
+			toxval_ipv6=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $2}')
348
+			toxval_port=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $3}')
349
+			toxval_pubkey=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $4}')
350
+			toxval_maintainer=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $5}')
351
+			echo "{ // $toxval_maintainer" >> $TOX_BOOTSTRAP_CONFIG
352
+			if [[ $toxval_ipv6 != 'NONE' ]]; then
353
+				echo "  address = \"$toxval_ipv6\"" >> $TOX_BOOTSTRAP_CONFIG
354
+			else
355
+				echo "  address = \"$toxval_ipv4\"" >> $TOX_BOOTSTRAP_CONFIG
356
+			fi
357
+			echo "  port = $toxval_port" >> $TOX_BOOTSTRAP_CONFIG
358
+			echo "  public_key = \"$toxval_pubkey\"" >> $TOX_BOOTSTRAP_CONFIG
359
+			toxcount=$(( $toxcount + 1 ))
360
+			if [ "x${TOX_NODES[toxcount]}" != "x" ]; then
361
+				echo "}," >> $TOX_BOOTSTRAP_CONFIG
362
+			else
363
+				echo "}" >> $TOX_BOOTSTRAP_CONFIG
364
+			fi
365
+		done
366
+		echo ')' >> $TOX_BOOTSTRAP_CONFIG
367
+	fi
368
+
369
+	if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service ]; then
370
+		echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service" >> $INSTALL_LOG
371
+		return
372
+	fi
373
+	cp $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service /etc/systemd/system/
374
+	sed -i 's|ExecStart=.*|ExecStart=/usr/local/bin/tox-bootstrapd --config /etc/tox-bootstrapd.conf|g' /etc/systemd/system/tox-bootstrapd.service
375
+
376
+	systemctl daemon-reload
377
+	systemctl enable tox-bootstrapd.service
378
+	echo $'toxcore compile completed' >> $INSTALL_LOG
379 379
 }
380 380
 
381 381
 function compile_tox_client {
382
-    echo $'Compiling tox client' >> $INSTALL_LOG
383
-
384
-    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
385
-        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
386
-    else
387
-        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
388
-    fi
389
-
390
-    if [ ! -d $INSTALL_DIR/toxic ]; then
391
-        echo $"$INSTALL_DIR/toxic not found" >> $INSTALL_LOG
392
-        return
393
-    fi
394
-
395
-    cd $INSTALL_DIR/toxic
396
-    make > $INSTALL_DIR/make_toxic.txt
397
-    if [ ! -f $INSTALL_DIR/toxic/build/toxic ]; then
398
-        echo $'Unable to make tox client' >> $INSTALL_LOG
399
-        echo $"See $INSTALL_DIR/make_toxic.txt" >> $INSTALL_LOG
400
-        exit 74872
401
-    fi
402
-    rm $INSTALL_DIR/make_toxic.txt
403
-    make install
404
-    if [ ! -f $TOXIC_FILE ]; then
405
-        echo $"Tox client was not installed to $TOXIC_FILE" >> $INSTALL_LOG
406
-        exit 63278
407
-    fi
408
-
409
-    echo $'toxic client compile completed' >> $INSTALL_LOG
382
+	echo $'Compiling tox client' >> $INSTALL_LOG
383
+
384
+	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
385
+		TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
386
+	else
387
+		TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
388
+	fi
389
+
390
+	if [ ! -d $INSTALL_DIR/toxic ]; then
391
+		echo $"$INSTALL_DIR/toxic not found" >> $INSTALL_LOG
392
+		return
393
+	fi
394
+
395
+	cd $INSTALL_DIR/toxic
396
+	SECONDS=0
397
+	make > $INSTALL_DIR/make_toxic.txt
398
+	if [ ! -f $INSTALL_DIR/toxic/build/toxic ]; then
399
+		duration=$SECONDS
400
+		echo $"Toxic client compile failed at $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed." >> $INSTALL_LOG
401
+		echo $'Unable to make tox client' >> $INSTALL_LOG
402
+		echo $"See $INSTALL_DIR/make_toxic.txt" >> $INSTALL_LOG
403
+		exit 74872
404
+	fi
405
+	rm $INSTALL_DIR/make_toxic.txt
406
+	make install
407
+	if [ ! -f $TOXIC_FILE ]; then
408
+		echo $"Tox client was not installed to $TOXIC_FILE" >> $INSTALL_LOG
409
+		exit 63278
410
+	fi
411
+	duration=$SECONDS
412
+	echo $"Toxic client compile $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed." >> $INSTALL_LOG
413
+
414
+	echo $'toxic client compile completed' >> $INSTALL_LOG
410 415
 }
411 416
 
412 417
 function configure_toxcore {
413
-    echo $'Configuring toxcore' >> $INSTALL_LOG
414
-
415
-    if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
416
-        TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
417
-    else
418
-        TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
419
-    fi
420
-
421
-    echo $'Regenerating Tox bootstrap node keys' >> $INSTALL_LOG
422
-    systemctl stop tox-bootstrapd.service
423
-    if [ -f /var/lib/tox-bootstrapd/keys ]; then
424
-        rm /var/lib/tox-bootstrapd/keys
425
-    fi
426
-    systemctl start tox-bootstrapd.service
427
-    TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
428
-    TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
429
-    if [ ${#TOX_PUBLIC_KEY} -lt 30 ]; then
430
-        echo $'WARNING: Could not obtain the tox node public key' >> $INSTALL_LOG
431
-        exit 46362
432
-    fi
433
-
434
-    # save the public key for later reference
435
-    echo "$TOX_PUBLIC_KEY" > $TOX_BOOTSTRAP_ID_FILE
436
-    echo $'Configured toxcore' >> $INSTALL_LOG
437
-
438
-    echo $'Clearing toxic client settings' >> $INSTALL_LOG
439
-    if [ -d /home/$MY_USERNAME/.config/tox ]; then
440
-        rm -rf /home/$MY_USERNAME/.config/tox
441
-    fi
442
-    echo $'toxic client configured' >> $INSTALL_LOG
418
+	echo $'Configuring toxcore' >> $INSTALL_LOG
419
+
420
+	if [ -f /usr/local/bin/${PROJECT_NAME} ]; then
421
+		TOXIC_FILE=$(cat /usr/local/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
422
+	else
423
+		TOXIC_FILE=$(cat /usr/bin/${PROJECT_NAME} | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
424
+	fi
425
+
426
+	echo $'Regenerating Tox bootstrap node keys' >> $INSTALL_LOG
427
+	systemctl stop tox-bootstrapd.service
428
+	if [ -f /var/lib/tox-bootstrapd/keys ]; then
429
+		rm /var/lib/tox-bootstrapd/keys
430
+	fi
431
+	systemctl start tox-bootstrapd.service
432
+	TOX_BOOTSTRAP_ID_FILE=/var/lib/tox-bootstrapd/pubkey.txt
433
+	TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
434
+	if [ ${#TOX_PUBLIC_KEY} -lt 30 ]; then
435
+		echo $'WARNING: Could not obtain the tox node public key' >> $INSTALL_LOG
436
+		exit 46362
437
+	fi
438
+
439
+	# save the public key for later reference
440
+	echo "$TOX_PUBLIC_KEY" > $TOX_BOOTSTRAP_ID_FILE
441
+	echo $'Configured toxcore' >> $INSTALL_LOG
442
+
443
+	echo $'Clearing toxic client settings' >> $INSTALL_LOG
444
+	if [ -d /home/$MY_USERNAME/.config/tox ]; then
445
+		rm -rf /home/$MY_USERNAME/.config/tox
446
+	fi
447
+	echo $'toxic client configured' >> $INSTALL_LOG
443 448
 }
444 449
 
445 450
 if [ -f /root/.initial_mesh_setup ]; then
446
-    if [ $1 ]; then
447
-        MY_USERNAME=$1
448
-    fi
449
-
450
-    # sleep in order to allow other daemons to start up
451
-    sleep 15
452
-
453
-    # clear the install log
454
-    if [ -f $INSTALL_LOG ]; then
455
-        rm $INSTALL_LOG
456
-    fi
457
-
458
-    echo $'Beginning mesh node setup' >> $INSTALL_LOG
459
-    change_avahi_name
460
-    regenerate_ssh_host_keys
461
-    configure_zeronet_blog
462
-    configure_zeronet_mail
463
-    configure_zeronet_forum
464
-    compile_toxcore
465
-    compile_tox_client
466
-    configure_toxcore
467
-    configure_zeronet
468
-
469
-    rm /root/.initial_mesh_setup
470
-    systemctl disable mesh-setup.service
471
-    touch /root/.mesh_setup_completed
472
-    echo $'Mesh node setup complete. Rebooting...' >> $INSTALL_LOG
473
-    reboot
451
+	if [ $1 ]; then
452
+		MY_USERNAME=$1
453
+	fi
454
+
455
+	# sleep in order to allow other daemons to start up
456
+	sleep 15
457
+
458
+	# clear the install log
459
+	if [ -f $INSTALL_LOG ]; then
460
+		rm $INSTALL_LOG
461
+	fi
462
+
463
+	echo $'Beginning mesh node setup' >> $INSTALL_LOG
464
+	change_avahi_name
465
+	regenerate_ssh_host_keys
466
+	configure_zeronet_blog
467
+	configure_zeronet_mail
468
+	configure_zeronet_forum
469
+	compile_toxcore
470
+	compile_tox_client
471
+	configure_toxcore
472
+	configure_zeronet
473
+
474
+	rm /root/.initial_mesh_setup
475
+	systemctl disable mesh-setup.service
476
+	touch /root/.mesh_setup_completed
477
+	echo $'Mesh node setup complete. Rebooting...' >> $INSTALL_LOG
478
+	reboot
474 479
 fi
475 480
 
476 481
 exit 0

+ 0
- 3
src/freedombone-mesh-install Wyświetl plik

@@ -491,9 +491,6 @@ function mesh_tox_node {
491 491
 
492 492
     $CHROOT_PREFIX autoreconf -i
493 493
     $CHROOT_PREFIX ./configure --enable-daemon --disable-av
494
-    if [ ! "$?" = "0" ]; then
495
-        return
496
-    fi
497 494
     $CHROOT_PREFIX make
498 495
     if [ ! "$?" = "0" ]; then
499 496
         return