diff --git a/src/freedombone-image-mesh b/src/freedombone-image-mesh
index db60d8abdfd48caa056530fa5e50d0d4f86f6be2..0bee4815a939786b47c27ad05c3f74e55e01b1aa 100755
--- a/src/freedombone-image-mesh
+++ b/src/freedombone-image-mesh
@@ -363,7 +363,7 @@ function configure_zeronet_id {
     echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /tmp/zeronet-id.service
     echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /tmp/zeronet-id.service
     echo '<service-group>' >> /tmp/zeronet-id.service
-    echo '  <name replace-wildcards="yes">%h ZeroID</name>' >> /tmp/zeronet-id.service
+    echo '  <name replace-wildcards="yes">%h ZeroNet ID Service</name>' >> /tmp/zeronet-id.service
     echo '  <service>' >> /tmp/zeronet-id.service
     echo '    <type>_zeronet._udp</type>' >> /tmp/zeronet-id.service
     echo "    <port>$ZERONET_PORT</port>" >> /tmp/zeronet-id.service
diff --git a/src/zeronetavahi b/src/zeronetavahi
index ad05fdf6179dedd1890052c474da9c8cab8681e7..3ca73467df5c6738e1caa55a4ce0b6166eb34642 100755
--- a/src/zeronetavahi
+++ b/src/zeronetavahi
@@ -46,6 +46,7 @@ BLOGS_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-blogs
 MAIL_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-mail
 FORUM_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-fora
 TOX_USERS_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-tox-users
+ID_FILE=$ZERONET_INSTALL/${PROJECT_NAME}-id
 ZERONET_INDEX=$ZERONET_INSTALL/mesh.html
 ZERONET_CONFIG=$ZERONET_INSTALL/bootstrap
 
@@ -54,14 +55,21 @@ IPFS_PORT=4001
 MY_BLOG_STR=$"My Blog"
 MY_MAIL_STR=$"My Mail"
 MY_FORUM_STR=$"My Forum"
+MY_ID_STR=$"My ID Service"
+
 BLOGS_STR=$"Blogs"
 MAIL_STR=$"Mail"
 FORA_STR=$"Fora"
-ZERONET_BLOG_STR=$"ZeroNet Blog"
-ZERONET_MAIL_STR=$"ZeroNet Mail"
-ZERONET_FORUM_STR=$"ZeroNet Forum"
+TOX_STR=$"Tox Users"
+ID_STR=$"ID Services"
 NO_USERS_STR=$"No users found"
 
+# service names advertised by avahi
+ZERONET_BLOG_STR="ZeroNet Blog"
+ZERONET_MAIL_STR="ZeroNet Mail"
+ZERONET_FORUM_STR="ZeroNet Forum"
+ZERONET_ID_STR="ZeroNet ID Service"
+
 # contains the output of the avahi command
 TEMPFILE_BASE=/tmp/tmpzeronetavahibase.txt
 TEMPFILE=/tmp/tmpzeronetavahi.txt
@@ -128,10 +136,12 @@ function create_index {
 	blogaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myblog)
 	mailaddress=$(cat /home/$MY_USERNAME/.config/zeronet/mymail)
 	forumaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myforum)
+	idaddress=$(cat /home/$MY_USERNAME/.config/zeronet/myzeroid)
 	if [ -f $ZERONET_INDEX ]; then
 		sed -i "s|.*${MY_BLOG_STR}.*|  <li><a href=\"${blogaddress}\">${MY_BLOG_STR}</a></li>|g" $ZERONET_INDEX
 		sed -i "s|.*${MY_MAIL_STR}.*|  <li><a href=\"${mailaddress}\">${MY_MAIL_STR}</a></li>|g" $ZERONET_INDEX
 		sed -i "s|.*${MY_FORUM_STR}.*|  <li><a href=\"${forumaddress}\">${MY_FORUM_STR}</a></li>|g" $ZERONET_INDEX
+		sed -i "s|.*${MY_ID_STR}.*|  <li><a href=\"${idaddress}\">${MY_ID_STR}</a></li>|g" $ZERONET_INDEX
 		return
 	fi
 	echo '<!DOCTYPE html>' > $ZERONET_INDEX
@@ -148,6 +158,7 @@ function create_index {
 	echo "  <li><a href=\"${blogaddress}\">${MY_BLOG_STR}</a></li>" >> $ZERONET_INDEX
 	echo "  <li><a href=\"${mailaddress}\">${MY_MAIL_STR}</a></li>" >> $ZERONET_INDEX
 	echo "  <li><a href=\"${forumaddress}\">${MY_FORUM_STR}</a></li>" >> $ZERONET_INDEX
+	echo "  <li><a href=\"${idaddress}\">${MY_ID_STR}</a></li>" >> $ZERONET_INDEX
 #    echo "  <li><a href=\"http://localhost:5001/webui\">File Share</a></li>" >> $ZERONET_INDEX
 	echo '</ol>' >> $ZERONET_INDEX
 	echo '' >> $ZERONET_INDEX
@@ -157,7 +168,8 @@ function create_index {
 	echo "  <li><a href=\"${BLOGS_FILE}.html\">${BLOGS_STR}</a></li>" >> $ZERONET_INDEX
 	echo "  <li><a href=\"${MAIL_FILE}.html\">${MAIL_STR}</a></li>" >> $ZERONET_INDEX
 	echo "  <li><a href=\"${FORUM_FILE}.html\">${FORA_STR}</a></li>" >> $ZERONET_INDEX
-	echo "  <li><a href=\"${TOX_USERS_FILE}.html\">Tox Users</a></li>" >> $ZERONET_INDEX
+	echo "  <li><a href=\"${ID_FILE}.html\">${ID_STR}</a></li>" >> $ZERONET_INDEX
+	echo "  <li><a href=\"${TOX_USERS_FILE}.html\">${TOX_STR}</a></li>" >> $ZERONET_INDEX
 	echo '</ol>' >> $ZERONET_INDEX
 	echo '' >> $ZERONET_INDEX
 	echo '</body>' >> $ZERONET_INDEX
@@ -341,6 +353,44 @@ function zeronet_detect_fora {
 	echo '<ol>' >> $FORUM_FILE.new
 }
 
+function zeronet_detect_id {
+	if [ -f $ID_FILE.new ]; then
+		rm -f $ID_FILE.new
+	fi
+
+	cat $TEMPFILE_BASE | grep "${ZERONET_ID_STR}\|hostname =\|address =\|port =\|txt =" > $TEMPFILE
+
+	state=0
+	address=""
+	peer=""
+	echo '<ol type="square">' >> $ID_FILE.new
+	while IFS='' read -r line || [[ -n "$line" ]]; do
+		if [ ${state} -eq "3" ]; then
+			if [[ $line == *"txt ="* ]]; then
+				id_url=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
+				echo "  <li><a href=${id_url}>${peer}</a></li>" >> $ID_FILE.new
+				state=0
+			fi
+		fi
+		if [ ${state} -eq "2" ]; then
+			if [[ $line == *"address ="* ]]; then
+				address=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
+				state=3
+			fi
+		fi
+		if [ ${state} -eq "1" ]; then
+			if [[ $line == *"hostname ="* ]]; then
+				peer=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
+				state=2
+			fi
+		fi
+		if [[ $line == *"${ZERONET_ID_STR}"* && $line == "= "* ]]; then
+			state=1
+		fi
+	done < "$TEMPFILE"
+	echo '</ol>' >> $ID_FILE.new
+}
+
 function avahi_remove_info {
 	rm -f $TEMPFILE_BASE
 	rm -f $TEMPFILE
@@ -366,6 +416,7 @@ fi
 
 avahi_extract_info
 zeronet_detect
+zeronet_detect_id
 zeronet_detect_blog
 zeronet_detect_mail
 zeronet_detect_fora
@@ -375,6 +426,7 @@ avahi_remove_info
 zeronet_update_config
 
 # make some html headers and footers
+create_header $ID_FILE $ID_STR
 create_header $BLOGS_FILE $BLOGS_STR
 create_header $MAIL_FILE $MAIL_STR
 create_header $FORUM_FILE $FORA_STR
@@ -387,6 +439,7 @@ create_footer $TOX_USERS_FILE
 # make the index page
 create_index
 
+assemble_web_page ${ID_FILE} $ZERONET_INSTALL
 assemble_web_page ${BLOGS_FILE} $ZERONET_INSTALL
 assemble_web_page ${MAIL_FILE} $ZERONET_INSTALL
 assemble_web_page ${FORUM_FILE} $ZERONET_INSTALL