|  | @@ -30,10 +30,14 @@
 | 
	
		
			
			| 30 | 30 |  
 | 
	
		
			
			| 31 | 31 |  TRACKER_PORT=6969
 | 
	
		
			
			| 32 | 32 |  BOOTSTRAP_FILE=/opt/zeronet/bootstrap
 | 
	
		
			
			|  | 33 | +BLOGS_FILE=/opt/zeronet/blogs
 | 
	
		
			
			|  | 34 | +FORUM_FILE=/opt/zeronet/forum
 | 
	
		
			
			| 33 | 35 |  
 | 
	
		
			
			| 34 | 36 |  if [ ! -d /opt/zeronet ]; then
 | 
	
		
			
			| 35 | 37 |      if [ -d ~/zeronet ]; then
 | 
	
		
			
			| 36 | 38 |          BOOTSTRAP_FILE=~/zeronet/bootstrap
 | 
	
		
			
			|  | 39 | +        BLOGS_FILE=~/zeronet/blogs
 | 
	
		
			
			|  | 40 | +        FORUM_FILE=~/zeronet/forum
 | 
	
		
			
			| 37 | 41 |      else
 | 
	
		
			
			| 38 | 42 |          exit 0
 | 
	
		
			
			| 39 | 43 |      fi
 | 
	
	
		
			
			|  | @@ -43,12 +47,18 @@ if [ ! -d /etc/avahi ]; then
 | 
	
		
			
			| 43 | 47 |      exit 0
 | 
	
		
			
			| 44 | 48 |  fi
 | 
	
		
			
			| 45 | 49 |  
 | 
	
		
			
			|  | 50 | +TEMPFILE_BASE=/tmp/tmpzeronetavahibase.txt
 | 
	
		
			
			| 46 | 51 |  TEMPFILE=/tmp/tmpzeronetavahi.txt
 | 
	
		
			
			| 47 |  | -avahi-browse -atr | grep "Workstation\|hostname =\|address =\|port =" > $TEMPFILE
 | 
	
		
			
			|  | 52 | +avahi-browse -atr > $TEMPFILE_BASE
 | 
	
		
			
			|  | 53 | +cat $TEMPFILE_BASE | grep "Workstation\|hostname =\|address =\|port =" > $TEMPFILE
 | 
	
		
			
			| 48 | 54 |  if [ ! -f $TEMPFILE ]; then
 | 
	
		
			
			| 49 | 55 |      exit 1
 | 
	
		
			
			| 50 | 56 |  fi
 | 
	
		
			
			| 51 | 57 |  
 | 
	
		
			
			|  | 58 | +if [ -f $BOOTSTRAP_FILE.new ]; then
 | 
	
		
			
			|  | 59 | +    rm -f $BOOTSTRAP_FILE.new
 | 
	
		
			
			|  | 60 | +fi
 | 
	
		
			
			|  | 61 | +
 | 
	
		
			
			| 52 | 62 |  state=0
 | 
	
		
			
			| 53 | 63 |  address=""
 | 
	
		
			
			| 54 | 64 |  peer=""
 | 
	
	
		
			
			|  | @@ -71,11 +81,95 @@ while IFS='' read -r line || [[ -n "$line" ]]; do
 | 
	
		
			
			| 71 | 81 |      fi
 | 
	
		
			
			| 72 | 82 |  done < "$TEMPFILE"
 | 
	
		
			
			| 73 | 83 |  
 | 
	
		
			
			|  | 84 | +# detect blogs in the mesh
 | 
	
		
			
			|  | 85 | +if [ -f $BLOGS_FILE.new ]; then
 | 
	
		
			
			|  | 86 | +    rm -f $BLOGS_FILE.new
 | 
	
		
			
			|  | 87 | +fi
 | 
	
		
			
			|  | 88 | +
 | 
	
		
			
			|  | 89 | +cat $TEMPFILE_BASE | grep "ZeroNet Blog\|hostname =\|address =\|port =\|txt-record =" > $TEMPFILE
 | 
	
		
			
			|  | 90 | +
 | 
	
		
			
			|  | 91 | +state=0
 | 
	
		
			
			|  | 92 | +address=""
 | 
	
		
			
			|  | 93 | +peer=""
 | 
	
		
			
			|  | 94 | +while IFS='' read -r line || [[ -n "$line" ]]; do
 | 
	
		
			
			|  | 95 | +    if [ ${state} -eq "3" ]; then
 | 
	
		
			
			|  | 96 | +        if [[ $line == *"txt-record ="* ]]; then
 | 
	
		
			
			|  | 97 | +            blog_url=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
 | 
	
		
			
			|  | 98 | +            echo "$peer $blog_url" >> $BLOGS_FILE.new
 | 
	
		
			
			|  | 99 | +            state=0
 | 
	
		
			
			|  | 100 | +        fi
 | 
	
		
			
			|  | 101 | +    fi
 | 
	
		
			
			|  | 102 | +    if [ ${state} -eq "2" ]; then
 | 
	
		
			
			|  | 103 | +        if [[ $line == *"address ="* ]]; then
 | 
	
		
			
			|  | 104 | +            address=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
 | 
	
		
			
			|  | 105 | +            state=3
 | 
	
		
			
			|  | 106 | +        fi
 | 
	
		
			
			|  | 107 | +    fi
 | 
	
		
			
			|  | 108 | +    if [ ${state} -eq "1" ]; then
 | 
	
		
			
			|  | 109 | +        if [[ $line == *"hostname ="* ]]; then
 | 
	
		
			
			|  | 110 | +            peer=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
 | 
	
		
			
			|  | 111 | +            state=2
 | 
	
		
			
			|  | 112 | +        fi
 | 
	
		
			
			|  | 113 | +    fi
 | 
	
		
			
			|  | 114 | +    if [[ $line == *"ZeroNet Blog"* && $line == "= "* ]]; then
 | 
	
		
			
			|  | 115 | +        state=1
 | 
	
		
			
			|  | 116 | +    fi
 | 
	
		
			
			|  | 117 | +done < "$TEMPFILE"
 | 
	
		
			
			|  | 118 | +
 | 
	
		
			
			|  | 119 | +# detect fora in the mesh
 | 
	
		
			
			|  | 120 | +if [ -f $FORUM_FILE.new ]; then
 | 
	
		
			
			|  | 121 | +    rm -f $FORUM_FILE.new
 | 
	
		
			
			|  | 122 | +fi
 | 
	
		
			
			|  | 123 | +
 | 
	
		
			
			|  | 124 | +cat $TEMPFILE_BASE | grep "ZeroNet Forum\|hostname =\|address =\|port =\|txt-record =" > $TEMPFILE
 | 
	
		
			
			|  | 125 | +
 | 
	
		
			
			|  | 126 | +state=0
 | 
	
		
			
			|  | 127 | +address=""
 | 
	
		
			
			|  | 128 | +peer=""
 | 
	
		
			
			|  | 129 | +while IFS='' read -r line || [[ -n "$line" ]]; do
 | 
	
		
			
			|  | 130 | +    if [ ${state} -eq "3" ]; then
 | 
	
		
			
			|  | 131 | +        if [[ $line == *"txt-record ="* ]]; then
 | 
	
		
			
			|  | 132 | +            forum_url=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
 | 
	
		
			
			|  | 133 | +            echo "$peer $forum_url" >> $FORUM_FILE.new
 | 
	
		
			
			|  | 134 | +            state=0
 | 
	
		
			
			|  | 135 | +        fi
 | 
	
		
			
			|  | 136 | +    fi
 | 
	
		
			
			|  | 137 | +    if [ ${state} -eq "2" ]; then
 | 
	
		
			
			|  | 138 | +        if [[ $line == *"address ="* ]]; then
 | 
	
		
			
			|  | 139 | +            address=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
 | 
	
		
			
			|  | 140 | +            state=3
 | 
	
		
			
			|  | 141 | +        fi
 | 
	
		
			
			|  | 142 | +    fi
 | 
	
		
			
			|  | 143 | +    if [ ${state} -eq "1" ]; then
 | 
	
		
			
			|  | 144 | +        if [[ $line == *"hostname ="* ]]; then
 | 
	
		
			
			|  | 145 | +            peer=$(echo $line | awk -F '[' '{print $2}' | awk -F ']' '{print $1}')
 | 
	
		
			
			|  | 146 | +            state=2
 | 
	
		
			
			|  | 147 | +        fi
 | 
	
		
			
			|  | 148 | +    fi
 | 
	
		
			
			|  | 149 | +    if [[ $line == *"ZeroNet Forum"* && $line == "= "* ]]; then
 | 
	
		
			
			|  | 150 | +        state=1
 | 
	
		
			
			|  | 151 | +    fi
 | 
	
		
			
			|  | 152 | +done < "$TEMPFILE"
 | 
	
		
			
			|  | 153 | +
 | 
	
		
			
			|  | 154 | +rm -f $TEMPFILE_BASE
 | 
	
		
			
			| 74 | 155 |  rm -f $TEMPFILE
 | 
	
		
			
			|  | 156 | +
 | 
	
		
			
			| 75 | 157 |  cp -f $BOOTSTRAP_FILE.new $BOOTSTRAP_FILE
 | 
	
		
			
			| 76 | 158 |  rm -f $BOOTSTRAP_FILE.new
 | 
	
		
			
			| 77 | 159 |  if [ -d /home/zeronet ]; then
 | 
	
		
			
			| 78 | 160 |      sudo chown zeronet:zeronet $BOOTSTRAP_FILE
 | 
	
		
			
			| 79 | 161 |  fi
 | 
	
		
			
			| 80 | 162 |  
 | 
	
		
			
			|  | 163 | +cp -f $BLOGS_FILE.new $BLOGS_FILE
 | 
	
		
			
			|  | 164 | +rm -f $BLOGS_FILE.new
 | 
	
		
			
			|  | 165 | +if [ -d /home/zeronet ]; then
 | 
	
		
			
			|  | 166 | +    sudo chown zeronet:zeronet $BLOGS_FILE
 | 
	
		
			
			|  | 167 | +fi
 | 
	
		
			
			|  | 168 | +
 | 
	
		
			
			|  | 169 | +cp -f $FORUM_FILE.new $FORUM_FILE
 | 
	
		
			
			|  | 170 | +rm -f $FORUM_FILE.new
 | 
	
		
			
			|  | 171 | +if [ -d /home/zeronet ]; then
 | 
	
		
			
			|  | 172 | +    sudo chown zeronet:zeronet $FORUM_FILE
 | 
	
		
			
			|  | 173 | +fi
 | 
	
		
			
			|  | 174 | +
 | 
	
		
			
			| 81 | 175 |  exit 0
 |