Parcourir la source

Set permissions for zeronet sites

Bob Mottram il y a 8 ans
Parent
révision
8659a615b2
1 fichiers modifiés avec 393 ajouts et 377 suppressions
  1. 393
    377
      src/freedombone-image-mesh

+ 393
- 377
src/freedombone-image-mesh Voir le fichier

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