Pārlūkot izejas kodu

Advertise zeronet ID services

Bob Mottram 8 gadus atpakaļ
vecāks
revīzija
28110a19b9
2 mainītis faili ar 58 papildinājumiem un 5 dzēšanām
  1. 1
    1
      src/freedombone-image-mesh
  2. 57
    4
      src/zeronetavahi

+ 1
- 1
src/freedombone-image-mesh Parādīt failu

@@ -363,7 +363,7 @@ function configure_zeronet_id {
363 363
     echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-id.service
364 364
     echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-id.service
365 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 367
     echo '  <service>' >> /tmp/zeronet-id.service
368 368
     echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-id.service
369 369
     echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-id.service

+ 57
- 4
src/zeronetavahi Parādīt failu

@@ -46,6 +46,7 @@ BLOGS_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-blogs
46 46
 MAIL_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-mail
47 47
 FORUM_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-fora
48 48
 TOX_USERS_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-tox-users
49
+ID_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-id
49 50
 ZERONET_INDEX=$ZERONET_INSTALL/mesh.html
50 51
 ZERONET_CONFIG=$ZERONET_INSTALL/bootstrap
51 52
 
@@ -54,14 +55,21 @@ IPFS_PORT=4001
54 55
 MY_BLOG_STR=$"My Blog"
55 56
 MY_MAIL_STR=$"My Mail"
56 57
 MY_FORUM_STR=$"My Forum"
58
+MY_ID_STR=$"My ID Service"
59
+
57 60
 BLOGS_STR=$"Blogs"
58 61
 MAIL_STR=$"Mail"
59 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 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 73
 # contains the output of the avahi command
66 74
 TEMPFILE_BASE=/tmp/tmpzeronetavahibase.txt
67 75
 TEMPFILE=/tmp/tmpzeronetavahi.txt
@@ -128,10 +136,12 @@ function create_index {
128 136
 	blogaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myblog)
129 137
 	mailaddress=$(cat /home/$MY_USERNAME/.config/zeronet/mymail)
130 138
 	forumaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myforum)
139
+	idaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myzeroid)
131 140
 	if [ -f $ZERONET_INDEX ]; then
132 141
 		sed -i "s|.*${MY_BLOG_STR}.*|  <li><a href=\"${blogaddress}\">${MY_BLOG_STR}</a></li>|g" $ZERONET_INDEX
133 142
 		sed -i "s|.*${MY_MAIL_STR}.*|  <li><a href=\"${mailaddress}\">${MY_MAIL_STR}</a></li>|g" $ZERONET_INDEX
134 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 145
 		return
136 146
 	fi
137 147
 	echo '<!DOCTYPE html>' > $ZERONET_INDEX
@@ -148,6 +158,7 @@ function create_index {
148 158
 	echo "  <li><a href=\"${blogaddress}\">${MY_BLOG_STR}</a></li>" >> $ZERONET_INDEX
149 159
 	echo "  <li><a href=\"${mailaddress}\">${MY_MAIL_STR}</a></li>" >> $ZERONET_INDEX
150 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 162
 #    echo "  <li><a href=\"http://localhost:5001/webui\">File Share</a></li>" >> $ZERONET_INDEX
152 163
 	echo '</ol>' >> $ZERONET_INDEX
153 164
 	echo '' >> $ZERONET_INDEX
@@ -157,7 +168,8 @@ function create_index {
157 168
 	echo "  <li><a href=\"${BLOGS_FILE}.html\">${BLOGS_STR}</a></li>" >> $ZERONET_INDEX
158 169
 	echo "  <li><a href=\"${MAIL_FILE}.html\">${MAIL_STR}</a></li>" >> $ZERONET_INDEX
159 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 173
 	echo '</ol>' >> $ZERONET_INDEX
162 174
 	echo '' >> $ZERONET_INDEX
163 175
 	echo '</body>' >> $ZERONET_INDEX
@@ -341,6 +353,44 @@ function zeronet_detect_fora {
341 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 394
 function avahi_remove_info {
345 395
 	rm -f $TEMPFILE_BASE
346 396
 	rm -f $TEMPFILE
@@ -366,6 +416,7 @@ fi
366 416
 
367 417
 avahi_extract_info
368 418
 zeronet_detect
419
+zeronet_detect_id
369 420
 zeronet_detect_blog
370 421
 zeronet_detect_mail
371 422
 zeronet_detect_fora
@@ -375,6 +426,7 @@ avahi_remove_info
375 426
 zeronet_update_config
376 427
 
377 428
 # make some html headers and footers
429
+create_header $ID_FILE $ID_STR
378 430
 create_header $BLOGS_FILE $BLOGS_STR
379 431
 create_header $MAIL_FILE $MAIL_STR
380 432
 create_header $FORUM_FILE $FORA_STR
@@ -387,6 +439,7 @@ create_footer $TOX_USERS_FILE
387 439
 # make the index page
388 440
 create_index
389 441
 
442
+assemble_web_page ${ID_FILE} $ZERONET_INSTALL
390 443
 assemble_web_page ${BLOGS_FILE} $ZERONET_INSTALL
391 444
 assemble_web_page ${MAIL_FILE} $ZERONET_INSTALL
392 445
 assemble_web_page ${FORUM_FILE} $ZERONET_INSTALL