浏览代码

Create files containing lists of zeronet blogs and forums on the mesh

Bob Mottram 9 年前
父节点
当前提交
e4684e91d7
共有 2 个文件被更改,包括 97 次插入1 次删除
  1. 2
    0
      src/freedombone
  2. 95
    1
      src/zeronetavahi

+ 2
- 0
src/freedombone 查看文件

403
 
403
 
404
 #ZERONET_REPO='https://github.com/HelloZeroNet/ZeroNet.git'
404
 #ZERONET_REPO='https://github.com/HelloZeroNet/ZeroNet.git'
405
 ZERONET_REPO='https://github.com/bashrc/ZeroNet.git'
405
 ZERONET_REPO='https://github.com/bashrc/ZeroNet.git'
406
+ZERONET_BLOG_REPO='https://github.com/HelloZeroNet/ZeroBlog'
407
+ZERONET_FORUM_REPO='https://github.com/HelloZeroNet/ZeroTalk'
406
 ZERONET_PORT=15441
408
 ZERONET_PORT=15441
407
 TRACKER_PORT=6969
409
 TRACKER_PORT=6969
408
 
410
 

+ 95
- 1
src/zeronetavahi 查看文件

30
 
30
 
31
 TRACKER_PORT=6969
31
 TRACKER_PORT=6969
32
 BOOTSTRAP_FILE=/opt/zeronet/bootstrap
32
 BOOTSTRAP_FILE=/opt/zeronet/bootstrap
33
+BLOGS_FILE=/opt/zeronet/blogs
34
+FORUM_FILE=/opt/zeronet/forum
33
 
35
 
34
 if [ ! -d /opt/zeronet ]; then
36
 if [ ! -d /opt/zeronet ]; then
35
     if [ -d ~/zeronet ]; then
37
     if [ -d ~/zeronet ]; then
36
         BOOTSTRAP_FILE=~/zeronet/bootstrap
38
         BOOTSTRAP_FILE=~/zeronet/bootstrap
39
+        BLOGS_FILE=~/zeronet/blogs
40
+        FORUM_FILE=~/zeronet/forum
37
     else
41
     else
38
         exit 0
42
         exit 0
39
     fi
43
     fi
43
     exit 0
47
     exit 0
44
 fi
48
 fi
45
 
49
 
50
+TEMPFILE_BASE=/tmp/tmpzeronetavahibase.txt
46
 TEMPFILE=/tmp/tmpzeronetavahi.txt
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
 if [ ! -f $TEMPFILE ]; then
54
 if [ ! -f $TEMPFILE ]; then
49
     exit 1
55
     exit 1
50
 fi
56
 fi
51
 
57
 
58
+if [ -f $BOOTSTRAP_FILE.new ]; then
59
+    rm -f $BOOTSTRAP_FILE.new
60
+fi
61
+
52
 state=0
62
 state=0
53
 address=""
63
 address=""
54
 peer=""
64
 peer=""
71
     fi
81
     fi
72
 done < "$TEMPFILE"
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
 rm -f $TEMPFILE
155
 rm -f $TEMPFILE
156
+
75
 cp -f $BOOTSTRAP_FILE.new $BOOTSTRAP_FILE
157
 cp -f $BOOTSTRAP_FILE.new $BOOTSTRAP_FILE
76
 rm -f $BOOTSTRAP_FILE.new
158
 rm -f $BOOTSTRAP_FILE.new
77
 if [ -d /home/zeronet ]; then
159
 if [ -d /home/zeronet ]; then
78
     sudo chown zeronet:zeronet $BOOTSTRAP_FILE
160
     sudo chown zeronet:zeronet $BOOTSTRAP_FILE
79
 fi
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
 exit 0
175
 exit 0