Browse Source

Advertise zeronet ID services

Bob Mottram 8 years ago
parent
commit
28110a19b9
2 changed files with 58 additions and 5 deletions
  1. 1
    1
      src/freedombone-image-mesh
  2. 57
    4
      src/zeronetavahi

+ 1
- 1
src/freedombone-image-mesh View File

363
     echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-id.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
364
     echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-id.service
365
     echo '<service-group>' >> /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
366
+    echo '  <name replace-wildcards="yes">%h ZeroNet ID Service</name>' >> /tmp/zeronet-id.service
367
     echo '  <service>' >> /tmp/zeronet-id.service
367
     echo '  <service>' >> /tmp/zeronet-id.service
368
     echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-id.service
368
     echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-id.service
369
     echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-id.service
369
     echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-id.service

+ 57
- 4
src/zeronetavahi View File

46
 MAIL_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-mail
46
 MAIL_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-mail
47
 FORUM_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-fora
47
 FORUM_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-fora
48
 TOX_USERS_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-tox-users
48
 TOX_USERS_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-tox-users
49
+ID_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-id
49
 ZERONET_INDEX=$ZERONET_INSTALL/mesh.html
50
 ZERONET_INDEX=$ZERONET_INSTALL/mesh.html
50
 ZERONET_CONFIG=$ZERONET_INSTALL/bootstrap
51
 ZERONET_CONFIG=$ZERONET_INSTALL/bootstrap
51
 
52
 
54
 MY_BLOG_STR=$"My Blog"
55
 MY_BLOG_STR=$"My Blog"
55
 MY_MAIL_STR=$"My Mail"
56
 MY_MAIL_STR=$"My Mail"
56
 MY_FORUM_STR=$"My Forum"
57
 MY_FORUM_STR=$"My Forum"
58
+MY_ID_STR=$"My ID Service"
59
+
57
 BLOGS_STR=$"Blogs"
60
 BLOGS_STR=$"Blogs"
58
 MAIL_STR=$"Mail"
61
 MAIL_STR=$"Mail"
59
 FORA_STR=$"Fora"
62
 FORA_STR=$"Fora"
60
-ZERONET_BLOG_STR=$"ZeroNet Blog"
61
-ZERONET_MAIL_STR=$"ZeroNet Mail"
62
-ZERONET_FORUM_STR=$"ZeroNet Forum"
63
+TOX_STR=$"Tox Users"
64
+ID_STR=$"ID Services"
63
 NO_USERS_STR=$"No users found"
65
 NO_USERS_STR=$"No users found"
64
 
66
 
67
+# service names advertised by avahi
68
+ZERONET_BLOG_STR="ZeroNet Blog"
69
+ZERONET_MAIL_STR="ZeroNet Mail"
70
+ZERONET_FORUM_STR="ZeroNet Forum"
71
+ZERONET_ID_STR="ZeroNet ID Service"
72
+
65
 # contains the output of the avahi command
73
 # contains the output of the avahi command
66
 TEMPFILE_BASE=/tmp/tmpzeronetavahibase.txt
74
 TEMPFILE_BASE=/tmp/tmpzeronetavahibase.txt
67
 TEMPFILE=/tmp/tmpzeronetavahi.txt
75
 TEMPFILE=/tmp/tmpzeronetavahi.txt
128
 	blogaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myblog)
136
 	blogaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myblog)
129
 	mailaddress=$(cat /home/$MY_USERNAME/.config/zeronet/mymail)
137
 	mailaddress=$(cat /home/$MY_USERNAME/.config/zeronet/mymail)
130
 	forumaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myforum)
138
 	forumaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myforum)
139
+	idaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myzeroid)
131
 	if [ -f $ZERONET_INDEX ]; then
140
 	if [ -f $ZERONET_INDEX ]; then
132
 		sed -i "s|.*${MY_BLOG_STR}.*|  <li><a href=\"${blogaddress}\">${MY_BLOG_STR}</a></li>|g" $ZERONET_INDEX
141
 		sed -i "s|.*${MY_BLOG_STR}.*|  <li><a href=\"${blogaddress}\">${MY_BLOG_STR}</a></li>|g" $ZERONET_INDEX
133
 		sed -i "s|.*${MY_MAIL_STR}.*|  <li><a href=\"${mailaddress}\">${MY_MAIL_STR}</a></li>|g" $ZERONET_INDEX
142
 		sed -i "s|.*${MY_MAIL_STR}.*|  <li><a href=\"${mailaddress}\">${MY_MAIL_STR}</a></li>|g" $ZERONET_INDEX
134
 		sed -i "s|.*${MY_FORUM_STR}.*|  <li><a href=\"${forumaddress}\">${MY_FORUM_STR}</a></li>|g" $ZERONET_INDEX
143
 		sed -i "s|.*${MY_FORUM_STR}.*|  <li><a href=\"${forumaddress}\">${MY_FORUM_STR}</a></li>|g" $ZERONET_INDEX
144
+		sed -i "s|.*${MY_ID_STR}.*|  <li><a href=\"${idaddress}\">${MY_ID_STR}</a></li>|g" $ZERONET_INDEX
135
 		return
145
 		return
136
 	fi
146
 	fi
137
 	echo '<!DOCTYPE html>' > $ZERONET_INDEX
147
 	echo '<!DOCTYPE html>' > $ZERONET_INDEX
148
 	echo "  <li><a href=\"${blogaddress}\">${MY_BLOG_STR}</a></li>" >> $ZERONET_INDEX
158
 	echo "  <li><a href=\"${blogaddress}\">${MY_BLOG_STR}</a></li>" >> $ZERONET_INDEX
149
 	echo "  <li><a href=\"${mailaddress}\">${MY_MAIL_STR}</a></li>" >> $ZERONET_INDEX
159
 	echo "  <li><a href=\"${mailaddress}\">${MY_MAIL_STR}</a></li>" >> $ZERONET_INDEX
150
 	echo "  <li><a href=\"${forumaddress}\">${MY_FORUM_STR}</a></li>" >> $ZERONET_INDEX
160
 	echo "  <li><a href=\"${forumaddress}\">${MY_FORUM_STR}</a></li>" >> $ZERONET_INDEX
161
+	echo "  <li><a href=\"${idaddress}\">${MY_ID_STR}</a></li>" >> $ZERONET_INDEX
151
 #    echo "  <li><a href=\"http://localhost:5001/webui\">File Share</a></li>" >> $ZERONET_INDEX
162
 #    echo "  <li><a href=\"http://localhost:5001/webui\">File Share</a></li>" >> $ZERONET_INDEX
152
 	echo '</ol>' >> $ZERONET_INDEX
163
 	echo '</ol>' >> $ZERONET_INDEX
153
 	echo '' >> $ZERONET_INDEX
164
 	echo '' >> $ZERONET_INDEX
157
 	echo "  <li><a href=\"${BLOGS_FILE}.html\">${BLOGS_STR}</a></li>" >> $ZERONET_INDEX
168
 	echo "  <li><a href=\"${BLOGS_FILE}.html\">${BLOGS_STR}</a></li>" >> $ZERONET_INDEX
158
 	echo "  <li><a href=\"${MAIL_FILE}.html\">${MAIL_STR}</a></li>" >> $ZERONET_INDEX
169
 	echo "  <li><a href=\"${MAIL_FILE}.html\">${MAIL_STR}</a></li>" >> $ZERONET_INDEX
159
 	echo "  <li><a href=\"${FORUM_FILE}.html\">${FORA_STR}</a></li>" >> $ZERONET_INDEX
170
 	echo "  <li><a href=\"${FORUM_FILE}.html\">${FORA_STR}</a></li>" >> $ZERONET_INDEX
160
-	echo "  <li><a href=\"${TOX_USERS_FILE}.html\">Tox Users</a></li>" >> $ZERONET_INDEX
171
+	echo "  <li><a href=\"${ID_FILE}.html\">${ID_STR}</a></li>" >> $ZERONET_INDEX
172
+	echo "  <li><a href=\"${TOX_USERS_FILE}.html\">${TOX_STR}</a></li>" >> $ZERONET_INDEX
161
 	echo '</ol>' >> $ZERONET_INDEX
173
 	echo '</ol>' >> $ZERONET_INDEX
162
 	echo '' >> $ZERONET_INDEX
174
 	echo '' >> $ZERONET_INDEX
163
 	echo '</body>' >> $ZERONET_INDEX
175
 	echo '</body>' >> $ZERONET_INDEX
341
 	echo '<ol>' >> $FORUM_FILE.new
353
 	echo '<ol>' >> $FORUM_FILE.new
342
 }
354
 }
343
 
355
 
356
+function zeronet_detect_id {
357
+	if [ -f $ID_FILE.new ]; then
358
+		rm -f $ID_FILE.new
359
+	fi
360
+
361
+	cat $TEMPFILE_BASE | grep "${ZERONET_ID_STR}\|hostname =\|address =\|port =\|txt =" > $TEMPFILE
362
+
363
+	state=0
364
+	address=""
365
+	peer=""
366
+	echo '<ol type="square">' >> $ID_FILE.new
367
+	while IFS='' read -r line || [[ -n "$line" ]]; do
368
+		if [ ${state} -eq "3" ]; then
369
+			if [[ $line == *"txt ="* ]]; then
370
+				id_url=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
371
+				echo "  <li><a href=${id_url}>${peer}</a></li>" >> $ID_FILE.new
372
+				state=0
373
+			fi
374
+		fi
375
+		if [ ${state} -eq "2" ]; then
376
+			if [[ $line == *"address ="* ]]; then
377
+				address=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
378
+				state=3
379
+			fi
380
+		fi
381
+		if [ ${state} -eq "1" ]; then
382
+			if [[ $line == *"hostname ="* ]]; then
383
+				peer=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
384
+				state=2
385
+			fi
386
+		fi
387
+		if [[ $line == *"${ZERONET_ID_STR}"* && $line == "= "* ]]; then
388
+			state=1
389
+		fi
390
+	done < "$TEMPFILE"
391
+	echo '</ol>' >> $ID_FILE.new
392
+}
393
+
344
 function avahi_remove_info {
394
 function avahi_remove_info {
345
 	rm -f $TEMPFILE_BASE
395
 	rm -f $TEMPFILE_BASE
346
 	rm -f $TEMPFILE
396
 	rm -f $TEMPFILE
366
 
416
 
367
 avahi_extract_info
417
 avahi_extract_info
368
 zeronet_detect
418
 zeronet_detect
419
+zeronet_detect_id
369
 zeronet_detect_blog
420
 zeronet_detect_blog
370
 zeronet_detect_mail
421
 zeronet_detect_mail
371
 zeronet_detect_fora
422
 zeronet_detect_fora
375
 zeronet_update_config
426
 zeronet_update_config
376
 
427
 
377
 # make some html headers and footers
428
 # make some html headers and footers
429
+create_header $ID_FILE $ID_STR
378
 create_header $BLOGS_FILE $BLOGS_STR
430
 create_header $BLOGS_FILE $BLOGS_STR
379
 create_header $MAIL_FILE $MAIL_STR
431
 create_header $MAIL_FILE $MAIL_STR
380
 create_header $FORUM_FILE $FORA_STR
432
 create_header $FORUM_FILE $FORA_STR
387
 # make the index page
439
 # make the index page
388
 create_index
440
 create_index
389
 
441
 
442
+assemble_web_page ${ID_FILE} $ZERONET_INSTALL
390
 assemble_web_page ${BLOGS_FILE} $ZERONET_INSTALL
443
 assemble_web_page ${BLOGS_FILE} $ZERONET_INSTALL
391
 assemble_web_page ${MAIL_FILE} $ZERONET_INSTALL
444
 assemble_web_page ${MAIL_FILE} $ZERONET_INSTALL
392
 assemble_web_page ${FORUM_FILE} $ZERONET_INSTALL
445
 assemble_web_page ${FORUM_FILE} $ZERONET_INSTALL