浏览代码

Merge branch 'stretch' of https://github.com/bashrc/freedombone

Bob Mottram 7 年前
父节点
当前提交
2c7e4df3de

+ 1
- 1
doc/EN/app_matrix.org 查看文件

55
 You may also want to make another entry with the same settings but replacing *tcp* with *udp*.
55
 You may also want to make another entry with the same settings but replacing *tcp* with *udp*.
56
 
56
 
57
 * Mobile app
57
 * Mobile app
58
-If you're using the Riot mobile app to access your Matrix homeserver then you can significantly improve battery performance by going to the settings and changing *Sync request timeout* to 30 seconds and *Delay between two sync requests* to 600 seconds.
58
+If you're using the Riot mobile app to access your Matrix homeserver then you can significantly improve battery performance by going to the *settings* and changing *Sync request timeout* to 30 seconds and *Delay between two sync requests* to 600 seconds. Also turning off *msgs in group chats* will help, since it will avoid getting a notification whenever a group chat event happens, which then wakes up the screen.

+ 1
- 1
doc/EN/fediverse.org 查看文件

39
 
39
 
40
 
40
 
41
 #+BEGIN_CENTER
41
 #+BEGIN_CENTER
42
-This site can also be accessed via a Tor browser at http://7ec7btgr6m7c5r3h.onion. This documentation is under the [[https://www.gnu.org/licenses/fdl-1.3.txt][GNU Free Documentation License version 1.3]]
42
+This site can also be accessed via a Tor browser at http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion. This documentation is under the [[https://www.gnu.org/licenses/fdl-1.3.txt][GNU Free Documentation License version 1.3]]
43
 #+END_CENTER
43
 #+END_CENTER

+ 1
- 1
doc/EN/homeserver.org 查看文件

153
 #+end_src
153
 #+end_src
154
 
154
 
155
 #+BEGIN_CENTER
155
 #+BEGIN_CENTER
156
-This site can also be accessed via a Tor browser at http://7ec7btgr6m7c5r3h.onion
156
+This site can also be accessed via a Tor browser at http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion
157
 #+END_CENTER
157
 #+END_CENTER

+ 1
- 1
doc/EN/index.org 查看文件

42
 Ready made disk images which can be copied onto USB or microSD drives are [[./downloads/current][available here]].
42
 Ready made disk images which can be copied onto USB or microSD drives are [[./downloads/current][available here]].
43
 
43
 
44
 #+BEGIN_CENTER
44
 #+BEGIN_CENTER
45
-This site can also be accessed via a Tor browser at http://7ec7btgr6m7c5r3h.onion. This documentation is under the [[https://www.gnu.org/licenses/fdl-1.3.txt][GNU Free Documentation License version 1.3]]
45
+This site can also be accessed via a Tor browser at http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion. This documentation is under the [[https://www.gnu.org/licenses/fdl-1.3.txt][GNU Free Documentation License version 1.3]]
46
 #+END_CENTER
46
 #+END_CENTER

+ 1
- 1
doc/EN/mesh.org 查看文件

35
 Like [[https://libremesh.org][LibreMesh]], this system uses a combination of [[https://en.wikipedia.org/wiki/B.A.T.M.A.N.][batman-adv]] on network layer 2 and [[http://bmx6.net][BMX]] on layer 3. Routing protocols [[http://www.olsr.org][OLSR2]] and [[https://www.irif.fr/~jch/software/babel][Babel]] are also selectable.
35
 Like [[https://libremesh.org][LibreMesh]], this system uses a combination of [[https://en.wikipedia.org/wiki/B.A.T.M.A.N.][batman-adv]] on network layer 2 and [[http://bmx6.net][BMX]] on layer 3. Routing protocols [[http://www.olsr.org][OLSR2]] and [[https://www.irif.fr/~jch/software/babel][Babel]] are also selectable.
36
 
36
 
37
 #+BEGIN_CENTER
37
 #+BEGIN_CENTER
38
-This site can also be accessed via a Tor browser at http://7ec7btgr6m7c5r3h.onion
38
+This site can also be accessed via a Tor browser at http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion
39
 #+END_CENTER
39
 #+END_CENTER

+ 1
- 1
doc/EN/support.org 查看文件

18
 
18
 
19
 * Contact details
19
 * Contact details
20
 
20
 
21
-This site can also be accessed via a Tor browser at *http://7ec7btgr6m7c5r3h.onion*
21
+This site can also be accessed via a Tor browser at *http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion*
22
 
22
 
23
 *Email:* bob@freedombone.net
23
 *Email:* bob@freedombone.net
24
 
24
 

+ 0
- 4
drivers/README 查看文件

1
-Since compiling Atheros drivers for use with a wifi dongle on the Beaglebone Black takes a long time pre-compiled drivers are also available here. These may be extracted into /lib/firmware/ before beginning the main installation via 'freedombone menuconfig'.
2
-
3
-sha256:
4
-7eb9324681f03c7630ed01e490ea447dfbd96c9b5389e45b64e4646d1be16ff1  ath9k_htc_driver_bbb.tar.gz

二进制
drivers/ath9k_htc_driver_bbb.tar.gz 查看文件


+ 0
- 17
drivers/ath9k_htc_driver_bbb.tar.gz.asc 查看文件

1
------BEGIN PGP SIGNATURE-----
2
-Version: GnuPG v1
3
-
4
-iQIcBAABCAAGBQJVs+ZQAAoJEARSzHzqmC44O1oP+wfzs0SL/NjJbl3qtw1P3hSu
5
-jpHZ9kqEibpFX1VSvFrLb9qiqHnyoBcfoz04kWQ+6uKKc8MC1cev14FUdtKiLl7h
6
-9fESVSIx8VgzHmDNkcXj+nLKI5KMp/bORZxoFL0hM/JVNUQH09RT1/upLE6k5PxA
7
-BBDF+lD0Ez9VGSa91FP5T+mDWXFtEZMwTajkzRyi+H38lSEsfMvhbWV1c5M+W7kQ
8
-u2xf5Z1BTd5lH6HPN3LKf5sOWaLAUa+jkUXLJiDfULm1ylO3ckj2TMQDlriY1Cib
9
-zvFjQ4l5NVmO4/L3HE2yIDtJpHxRCVExtzZk+iXLh8ep+avV1B0l2bf5ObahaK7q
10
-hIxudj9eeTb6ZyIUH/tUYW8LjTwNMom1vN98mG7MGnaqMHDlSqrZv36M42SM9FMb
11
-nSu6PdeFycqCM3O8h3HDuMrgBLckLRhubGVBpkE7XZXyhs8ahVGi8LwltfuVvWFz
12
-NsPnmqI8vdSZDN/b3SAN/zBb47STGFhNY9tMgdaebS40IbJ5iD5KCRLarKTHyRTS
13
-W10Q/Onno25UWbu/+ZIjfbuwaoboI8CNJRUI4YDhR4Huahh+s1v9kSjuXwMacO7R
14
-+nZEXJkP0HOQUZY9g7OjrVEXHdKUw1Vlw3AyQt7Z4SUNjeEoRP1Bcr7LPBB8Y5pW
15
-sTndAdLqpVzMBymfLGRS
16
-=OOIn
17
------END PGP SIGNATURE-----

二进制
drivers/firmware-ath9k-htc.deb 查看文件


+ 2
- 2
src/freedombone-app-fedwiki 查看文件

458
     fi
458
     fi
459
 
459
 
460
     echo '[Unit]' > /etc/systemd/system/fedwiki.service
460
     echo '[Unit]' > /etc/systemd/system/fedwiki.service
461
-    echo 'Description=Fedwiki Decentralized video streaming platform' >> /etc/systemd/system/fedwiki.service
461
+    echo 'Description=Fedwiki federated wiki' >> /etc/systemd/system/fedwiki.service
462
     echo 'After=syslog.target' >> /etc/systemd/system/fedwiki.service
462
     echo 'After=syslog.target' >> /etc/systemd/system/fedwiki.service
463
     echo 'After=network.target' >> /etc/systemd/system/fedwiki.service
463
     echo 'After=network.target' >> /etc/systemd/system/fedwiki.service
464
     echo '' >> /etc/systemd/system/fedwiki.service
464
     echo '' >> /etc/systemd/system/fedwiki.service
482
     fedwiki_auth_file=${FEDWIKI_DATA}/status/owner.json
482
     fedwiki_auth_file=${FEDWIKI_DATA}/status/owner.json
483
     echo '{' > $fedwiki_auth_file
483
     echo '{' > $fedwiki_auth_file
484
     echo "  \"name\": \"${MY_USERNAME}\"," >> $fedwiki_auth_file
484
     echo "  \"name\": \"${MY_USERNAME}\"," >> $fedwiki_auth_file
485
-    echo '  \"friend\": {' >> $fedwiki_auth_file
485
+    echo '  "friend": {' >> $fedwiki_auth_file
486
     echo "    \"secret\": \"${FEDWIKI_COOKIE}\"" >> $fedwiki_auth_file
486
     echo "    \"secret\": \"${FEDWIKI_COOKIE}\"" >> $fedwiki_auth_file
487
     echo '  }' >> $fedwiki_auth_file
487
     echo '  }' >> $fedwiki_auth_file
488
     echo '}' >> $fedwiki_auth_file
488
     echo '}' >> $fedwiki_auth_file

+ 1
- 0
src/freedombone-app-gogs 查看文件

649
     fi
649
     fi
650
     if ! grep -q "hidden_service_gogs" /etc/tor/torrc; then
650
     if ! grep -q "hidden_service_gogs" /etc/tor/torrc; then
651
         echo 'HiddenServiceDir /var/lib/tor/hidden_service_gogs/' >> /etc/tor/torrc
651
         echo 'HiddenServiceDir /var/lib/tor/hidden_service_gogs/' >> /etc/tor/torrc
652
+        echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
652
         echo "HiddenServicePort 80 127.0.0.1:${GIT_ONION_PORT}" >> /etc/tor/torrc
653
         echo "HiddenServicePort 80 127.0.0.1:${GIT_ONION_PORT}" >> /etc/tor/torrc
653
         echo "HiddenServicePort 9418 127.0.0.1:9418" >> /etc/tor/torrc
654
         echo "HiddenServicePort 9418 127.0.0.1:9418" >> /etc/tor/torrc
654
         echo $'Added onion site for Gogs'
655
         echo $'Added onion site for Gogs'

+ 1
- 0
src/freedombone-app-keyserver 查看文件

660
 
660
 
661
     if ! grep -q "hidden_service_sks" /etc/tor/torrc; then
661
     if ! grep -q "hidden_service_sks" /etc/tor/torrc; then
662
         echo 'HiddenServiceDir /var/lib/tor/hidden_service_sks/' >> /etc/tor/torrc
662
         echo 'HiddenServiceDir /var/lib/tor/hidden_service_sks/' >> /etc/tor/torrc
663
+        echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
663
         echo "HiddenServicePort 11370 127.0.0.1:11370" >> /etc/tor/torrc
664
         echo "HiddenServicePort 11370 127.0.0.1:11370" >> /etc/tor/torrc
664
         echo "HiddenServicePort 11373 127.0.0.1:11371" >> /etc/tor/torrc
665
         echo "HiddenServicePort 11373 127.0.0.1:11371" >> /etc/tor/torrc
665
         echo "HiddenServicePort 11372 127.0.0.1:11372" >> /etc/tor/torrc
666
         echo "HiddenServicePort 11372 127.0.0.1:11372" >> /etc/tor/torrc

+ 0
- 321
src/freedombone-app-librevault 查看文件

1
-#!/bin/bash
2
-#
3
-# .---.                  .              .
4
-# |                      |              |
5
-# |--- .--. .-.  .-.  .-.|  .-. .--.--. |.-.  .-. .--.  .-.
6
-# |    |   (.-' (.-' (   | (   )|  |  | |   )(   )|  | (.-'
7
-# '    '     --'  --'  -' -  -' '  '   -' -'   -' '   -  --'
8
-#
9
-#                    Freedom in the Cloud
10
-#
11
-# Librevault application
12
-#
13
-# License
14
-# =======
15
-#
16
-# Copyright (C) 2014-2016 Bob Mottram <bob@freedombone.net>
17
-#
18
-# This program is free software: you can redistribute it and/or modify
19
-# it under the terms of the GNU Affero General Public License as published by
20
-# the Free Software Foundation, either version 3 of the License, or
21
-# (at your option) any later version.
22
-#
23
-# This program is distributed in the hope that it will be useful,
24
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
25
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26
-# GNU Affero General Public License for more details.
27
-#
28
-# You should have received a copy of the GNU Affero General Public License
29
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
30
-
31
-VARIANTS=''
32
-
33
-IN_DEFAULT_INSTALL=0
34
-SHOW_ON_ABOUT=0
35
-
36
-PROTOBUF_REPO="https://github.com/google/protobuf"
37
-PROTOBUF_COMMIT='b97a4a53cdd55be74c30badefeb132a091764f53'
38
-
39
-LIBREVAULT_REPO="https://github.com/Librevault/librevault"
40
-LIBREVAULT_COMMIT='86a6aefcb5cc458f4d42195368fbcff2871f98e3'
41
-LIBREVAULT_PORT=42345
42
-
43
-librevault_variables=(PROTOBUF_REPO
44
-                      LIBREVAULT_REPO
45
-                      LIBREVAULT_PORT)
46
-
47
-function logging_on_librevault {
48
-    echo -n ''
49
-}
50
-
51
-function logging_off_librevault {
52
-    echo -n ''
53
-}
54
-
55
-function install_interactive_librevault {
56
-    echo -n ''
57
-    APP_INSTALLED=1
58
-}
59
-
60
-function reconfigure_librevault {
61
-    echo -n ''
62
-    # TODO
63
-}
64
-
65
-function upgrade_librevault {
66
-    CURR_LIBREVAULT_COMMIT=$(get_completion_param "librevault commit")
67
-    if [[ "$CURR_LIBREVAULT_COMMIT" == "$LIBREVAULT_COMMIT" ]]; then
68
-        return
69
-    fi
70
-
71
-    function_check set_repo_commit
72
-
73
-    if [ -d $INSTALL_DIR/protobuf ]; then
74
-        if ! grep -q "Protobuf commit:$PROTOBUF_COMMIT" $COMPLETION_FILE; then
75
-            set_repo_commit $INSTALL_DIR/protobuf "Protobuf commit" "$PROTOBUF_COMMIT" $PROTOBUF_REPO
76
-            cd $INSTALL_DIR/protobuf
77
-            ./autogen.sh
78
-            ./configure
79
-            make
80
-            make check
81
-            make install
82
-            ldconfig
83
-        fi
84
-    fi
85
-
86
-    if [ -d $INSTALL_DIR/librevault/build ]; then
87
-        if ! grep -q "librevault commit:$LIBREVAULT_COMMIT" $COMPLETION_FILE; then
88
-            set_repo_commit $INSTALL_DIR/librevault "librevault commit" "$LIBREVAULT_COMMIT" $LIBREVAULT_REPO
89
-            cd $INSTALL_DIR/librevault
90
-            git submodule update --init --recursive
91
-            cd $INSTALL_DIR/librevault/build
92
-            cmake ..
93
-            cmake --build .
94
-            make install
95
-        fi
96
-    fi
97
-}
98
-
99
-function backup_local_librevault {
100
-    echo -n ''
101
-    # TODO
102
-}
103
-
104
-function restore_local_librevault {
105
-    echo -n ''
106
-    # TODO
107
-}
108
-
109
-function backup_remote_librevault {
110
-    echo -n ''
111
-    # TODO
112
-}
113
-
114
-function restore_remote_librevault {
115
-    echo -n ''
116
-    # TODO
117
-}
118
-
119
-function remove_librevault {
120
-    firewall_remove ${LIBREVAULT_PORT}
121
-    systemctl stop librevault
122
-    systemctl disable librevault
123
-    rm /etc/systemd/system/librevault.service
124
-    systemctl daemon-reload
125
-    remove_completion_param install_librevault
126
-    remove_completion_param configure_firewall_for_librevault
127
-}
128
-
129
-function configure_firewall_for_librevault {
130
-    if [[ $(is_completed $FUNCNAME) == "1" ]]; then
131
-        return
132
-    fi
133
-    firewall_add Librevault ${LIBREVAULT_PORT}
134
-    mark_completed $FUNCNAME
135
-}
136
-
137
-function mesh_install_librevault {
138
-    install_tracker
139
-    install_cmake
140
-    install_cryptopp
141
-
142
-    chroot "$rootdir" apt-get -yq install bittornado nginx
143
-    chroot "$rootdir" apt-get -yq install build-essential
144
-    chroot "$rootdir" apt-get -yq install autoconf automake libtool curl make unzip
145
-
146
-    # A workaround which allows c++14 to be installed
147
-    chroot "$rootdir" apt-get -yq install g++ gcc-6 g++-6 libboost-all-dev libssl-dev
148
-    chroot "$rootdir" apt-get -yq install protobuf-compiler libprotobuf-dev
149
-    chroot "$rootdir" apt-get -yq install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev
150
-    chroot "$rootdir" apt-get -yq install libsqlite3-dev qttools5-dev qttools5-dev-tools libnatpmp-dev
151
-
152
-    if [ ! -d $rootdir$INSTALL_DIR ]; then
153
-        mkdir -p $rootdir$INSTALL_DIR
154
-    fi
155
-
156
-    git clone $PROTOBUF_REPO $rootdir$INSTALL_DIR/protobuf
157
-    cd $rootdir$INSTALL_DIR/protobuf
158
-    git checkout $PROTOBUF_COMMIT -b $PROTOBUF_COMMIT
159
-
160
-    cat <<EOF > $rootdir/root/install_protobuf
161
-cd $INSTALL_DIR/protobuf
162
-./autogen.sh
163
-./configure
164
-make
165
-make install
166
-ldconfig
167
-EOF
168
-    chroot "$rootdir" chmod +x /root/install_protobuf
169
-    chroot "$rootdir" /root/install_protobuf
170
-
171
-    git clone $LIBREVAULT_REPO $rootdir$INSTALL_DIR/librevault
172
-    cd $rootdir$INSTALL_DIR/librevault
173
-    git checkout $LIBREVAULT_COMMIT -b $LIBREVAULT_COMMIT
174
-    git submodule update --init --recursive
175
-
176
-    # rabin seems particularly broken
177
-    rm -rf $rootdir$INSTALL_DIR/librevault/contrib/rabin
178
-    git clone https://github.com/bashrc/rabin $rootdir$INSTALL_DIR/librevault/contrib/rabin
179
-    cd $rootdir$INSTALL_DIR/librevault/contrib/rabin
180
-    git checkout bashrc/fixup2
181
-
182
-    mkdir $rootdir$INSTALL_DIR/librevault/build
183
-
184
-    cat <<EOF > $rootdir/root/install_librevault
185
-cd $INSTALL_DIR/librevault/build
186
-cmake -BUILD_UPDATER=OFF ..
187
-which Meta_s.pb.cc
188
-cmake --build $INSTALL_DIR/librevault/build
189
-make install
190
-EOF
191
-    chroot "$rootdir" chmod +x /root/install_librevault
192
-    chroot "$rootdir" /root/install_librevault
193
-    chroot "$rootdir" rm /root/install_librevault
194
-
195
-    LIBREVAULT_DAEMON=$rootdir/etc/systemd/system/librevault-daemon.service
196
-    echo '[Unit]' > $LIBREVAULT_DAEMON
197
-    echo 'Description=Librevault - Peer-to-peer, decentralized and open source file sync (multi-instance-master)' >> $LIBREVAULT_DAEMON
198
-    echo '' >> $LIBREVAULT_DAEMON
199
-    echo '[Service]' >> $LIBREVAULT_DAEMON
200
-    echo 'Type=oneshot' >> $LIBREVAULT_DAEMON
201
-    echo 'RemainAfterExit=yes' >> $LIBREVAULT_DAEMON
202
-    echo 'ExecStart=/bin/true' >> $LIBREVAULT_DAEMON
203
-    echo 'ExecReload=/bin/true' >> $LIBREVAULT_DAEMON
204
-    echo '' >> $LIBREVAULT_DAEMON
205
-    echo '[Install]' >> $LIBREVAULT_DAEMON
206
-    echo 'WantedBy=multi-user.target' >> $LIBREVAULT_DAEMON
207
-
208
-    LIBREVAULT_DAEMON=$rootdir/etc/systemd/system/librevault-daemon@.service
209
-    echo '[Unit]' > $LIBREVAULT_DAEMON
210
-    echo 'Description=Librevault - Peer-to-peer, decentralized and open source file sync (instance for %I)' >> $LIBREVAULT_DAEMON
211
-    echo 'After=network.target' >> $LIBREVAULT_DAEMON
212
-    echo 'PartOf=librevault-daemon.service' >> $LIBREVAULT_DAEMON
213
-    echo 'ReloadPropagatedFrom=librevault-daemon.service' >> $LIBREVAULT_DAEMON
214
-    echo '' >> $LIBREVAULT_DAEMON
215
-    echo '[Service]' >> $LIBREVAULT_DAEMON
216
-    echo 'User=%i' >> $LIBREVAULT_DAEMON
217
-    echo 'ExecStart=/usr/bin/librevault-daemon' >> $LIBREVAULT_DAEMON
218
-    echo 'Restart=on-failure' >> $LIBREVAULT_DAEMON
219
-    echo '' >> $LIBREVAULT_DAEMON
220
-    echo '[Install]' >> $LIBREVAULT_DAEMON
221
-    echo 'WantedBy=multi-user.target' >> $LIBREVAULT_DAEMON
222
-
223
-    chroot "$rootdir" systemctl enable librevault-daemon
224
-}
225
-
226
-function install_librevault {
227
-    if [ $INSTALLING_MESH ]; then
228
-        mesh_install_librevault
229
-        return
230
-    fi
231
-
232
-    install_tracker
233
-    install_cmake
234
-    install_cryptopp
235
-
236
-    apt-get -yq install build-essential
237
-    apt-get -yq install autoconf automake libtool curl make unzip
238
-
239
-    # A workaround which allows c++14 to be installed
240
-    apt-get -yq install protobuf-compiler libprotobuf-dev
241
-    apt-get -yq install g++ gcc-6 g++-6 libboost-all-dev libssl-dev
242
-    apt-get -yq install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev
243
-    apt-get -yq install libsqlite3-dev qttools5-dev qttools5-dev-tools libnatpmp-dev
244
-    apt-get -yq install gcc-6 g++-6 libboost-all-dev
245
-
246
-    if [ ! -d $INSTALL_DIR ]; then
247
-        mkdir -p $INSTALL_DIR
248
-    fi
249
-    git_clone $PROTOBUF_REPO $INSTALL_DIR/protobuf
250
-    cd $INSTALL_DIR/protobuf
251
-    git checkout $PROTOBUF_COMMIT -b $PROTOBUF_COMMIT
252
-    ./autogen.sh
253
-    ./configure
254
-    make
255
-    make check
256
-    make install
257
-    ldconfig
258
-
259
-    set_completion_param "Protobuf commit" "$PROTOBUF_COMMIT"
260
-
261
-    if [ -d /repos/librevault ]; then
262
-        mkdir $INSTALL_DIR/librevault
263
-        cp -r -p /repos/librevault/. $INSTALL_DIR/librevault
264
-        cd $INSTALL_DIR/librevault
265
-        git pull
266
-    else
267
-        git_clone $LIBREVAULT_REPO $INSTALL_DIR/librevault
268
-    fi
269
-
270
-    cd $INSTALL_DIR/librevault
271
-    git checkout $LIBREVAULT_COMMIT -b $LIBREVAULT_COMMIT
272
-    git submodule update --init --recursive
273
-
274
-    # rabin seems particularly broken
275
-    rm -rf $INSTALL_DIR/librevault/contrib/rabin
276
-    git clone https://github.com/bashrc/rabin $INSTALL_DIR/librevault/contrib/rabin
277
-    cd $INSTALL_DIR/librevault/contrib/rabin
278
-    git checkout bashrc/fixup2
279
-
280
-    mkdir $INSTALL_DIR/librevault/build
281
-    cd $INSTALL_DIR/librevault/build
282
-    cmake -BUILD_UPDATER=OFF ..
283
-    cmake --build .
284
-    make install
285
-
286
-    set_completion_param "librevault commit" "$LIBREVAULT_COMMIT"
287
-
288
-    LIBREVAULT_DAEMON=/etc/systemd/system/librevault-daemon.service
289
-    echo '[Unit]' > $LIBREVAULT_DAEMON
290
-    echo 'Description=Librevault - Peer-to-peer, decentralized and open source file sync (multi-instance-master)' >> $LIBREVAULT_DAEMON
291
-    echo '' >> $LIBREVAULT_DAEMON
292
-    echo '[Service]' >> $LIBREVAULT_DAEMON
293
-    echo 'Type=oneshot' >> $LIBREVAULT_DAEMON
294
-    echo 'RemainAfterExit=yes' >> $LIBREVAULT_DAEMON
295
-    echo 'ExecStart=/bin/true' >> $LIBREVAULT_DAEMON
296
-    echo 'ExecReload=/bin/true' >> $LIBREVAULT_DAEMON
297
-    echo '' >> $LIBREVAULT_DAEMON
298
-    echo '[Install]' >> $LIBREVAULT_DAEMON
299
-    echo 'WantedBy=multi-user.target' >> $LIBREVAULT_DAEMON
300
-
301
-    LIBREVAULT_DAEMON=/etc/systemd/system/librevault-daemon@.service
302
-    echo '[Unit]' > $LIBREVAULT_DAEMON
303
-    echo 'Description=Librevault - Peer-to-peer, decentralized and open source file sync (instance for %I)' >> $LIBREVAULT_DAEMON
304
-    echo 'After=network.target' >> $LIBREVAULT_DAEMON
305
-    echo 'PartOf=librevault-daemon.service' >> $LIBREVAULT_DAEMON
306
-    echo 'ReloadPropagatedFrom=librevault-daemon.service' >> $LIBREVAULT_DAEMON
307
-    echo '' >> $LIBREVAULT_DAEMON
308
-    echo '[Service]' >> $LIBREVAULT_DAEMON
309
-    echo 'User=%i' >> $LIBREVAULT_DAEMON
310
-    echo 'ExecStart=/usr/bin/librevault-daemon' >> $LIBREVAULT_DAEMON
311
-    echo 'Restart=on-failure' >> $LIBREVAULT_DAEMON
312
-    echo '' >> $LIBREVAULT_DAEMON
313
-    echo '[Install]' >> $LIBREVAULT_DAEMON
314
-    echo 'WantedBy=multi-user.target' >> $LIBREVAULT_DAEMON
315
-
316
-    systemctl enable librevault-daemon
317
-    systemctl start librevault-daemon
318
-    APP_INSTALLED=1
319
-}
320
-
321
-# NOTE: deliberately no exit 0

+ 0
- 2
src/freedombone-app-rss 查看文件

394
 
394
 
395
     RSS_MOBILE_READER_ONION_HOSTNAME=$(add_onion_service mobilerss 80 ${RSS_MOBILE_READER_ONION_PORT})
395
     RSS_MOBILE_READER_ONION_HOSTNAME=$(add_onion_service mobilerss 80 ${RSS_MOBILE_READER_ONION_PORT})
396
 
396
 
397
-    set_completion_param "rss_mobile onion domain" "$RSS_MOBILE_READER_ONION_HOSTNAME"
398
-
399
     echo 'server {' > /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME
397
     echo 'server {' > /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME
400
     echo "  listen 127.0.0.1:$RSS_MOBILE_READER_ONION_PORT;" >> /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME
398
     echo "  listen 127.0.0.1:$RSS_MOBILE_READER_ONION_PORT;" >> /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME
401
     echo "  server_name $RSS_MOBILE_READER_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME
399
     echo "  server_name $RSS_MOBILE_READER_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME

+ 2
- 0
src/freedombone-app-xmpp 查看文件

586
 
586
 
587
     function_check remove_onion_service
587
     function_check remove_onion_service
588
     remove_onion_service xmpp 5222 5223 5269
588
     remove_onion_service xmpp 5222 5223 5269
589
+    sed -i '/HiddenServiceVersion 2/d' /etc/tor/torrc
589
 
590
 
590
     apt-get -yq remove --purge prosody
591
     apt-get -yq remove --purge prosody
591
     rm /etc/cron.daily/prosody
592
     rm /etc/cron.daily/prosody
1029
     fi
1030
     fi
1030
     if ! grep -q "hidden_service_xmpp" /etc/tor/torrc; then
1031
     if ! grep -q "hidden_service_xmpp" /etc/tor/torrc; then
1031
         echo 'HiddenServiceDir /var/lib/tor/hidden_service_xmpp/' >> /etc/tor/torrc
1032
         echo 'HiddenServiceDir /var/lib/tor/hidden_service_xmpp/' >> /etc/tor/torrc
1033
+        echo 'HiddenServiceVersion 2' >> /etc/tor/torrc
1032
         echo "HiddenServicePort 5222 127.0.0.1:5222" >> /etc/tor/torrc
1034
         echo "HiddenServicePort 5222 127.0.0.1:5222" >> /etc/tor/torrc
1033
         echo "HiddenServicePort 5269 127.0.0.1:5269" >> /etc/tor/torrc
1035
         echo "HiddenServicePort 5269 127.0.0.1:5269" >> /etc/tor/torrc
1034
         echo $'Added onion site for xmpp chat'
1036
         echo $'Added onion site for xmpp chat'

+ 3
- 3
src/freedombone-controlpanel 查看文件

437
             echo -n -e "$(pad_string "${icann_address}")"
437
             echo -n -e "$(pad_string "${icann_address}")"
438
             echo "${onion_address}"
438
             echo "${onion_address}"
439
 
439
 
440
-            if grep -q "${app_name}_mobile onion domain" $COMPLETION_FILE; then
440
+            if grep -q "mobile${app_name} onion domain" $COMPLETION_FILE; then
441
                 onion_address=$(get_app_onion_address "${app_name}" "mobile")
441
                 onion_address=$(get_app_onion_address "${app_name}" "mobile")
442
                 echo -n -e "$(pad_string "${app_name} (mobile)")"
442
                 echo -n -e "$(pad_string "${app_name} (mobile)")"
443
                 echo -n -e "$(pad_string "${icann_address}")"
443
                 echo -n -e "$(pad_string "${icann_address}")"
454
             echo -n "$(cat /var/lib/tor/hidden_service_ttrss/hostname)"
454
             echo -n "$(cat /var/lib/tor/hidden_service_ttrss/hostname)"
455
             echo ''
455
             echo ''
456
         fi
456
         fi
457
-        if [ -d /var/lib/tor/hidden_service_ttrss_mobile ]; then
457
+        if [ -d /var/lib/tor/hidden_service_mobilerss ]; then
458
             echo -n -e "$(pad_string 'RSS mobile')"
458
             echo -n -e "$(pad_string 'RSS mobile')"
459
             RSSMOBILEDOM='-'
459
             RSSMOBILEDOM='-'
460
             echo -n -e "$(pad_string ${RSSMOBILEDOM})"
460
             echo -n -e "$(pad_string ${RSSMOBILEDOM})"
461
-            echo -n "$(cat /var/lib/tor/hidden_service_ttrss_mobile/hostname)"
461
+            echo -n "$(cat /var/lib/tor/hidden_service_mobilerss/hostname)"
462
             echo ''
462
             echo ''
463
         fi
463
         fi
464
     fi
464
     fi

+ 4
- 14
src/freedombone-image-customise 查看文件

496
         return
496
         return
497
     fi
497
     fi
498
 
498
 
499
-    firmware_filename="open-ath9k-htc-firmware_1.3-1_all.deb"
500
-    firmware_hash='5fea58ffefdf0ef15b504db7fbe3bc078c03e0d927bba64085e4b6f2546102f5'
501
-
502
-    firmware_url="http://us.archive.trisquel.info/trisquel/pool/main/o/open-ath9k-htc-firmware/$firmware_filename"
503
-    firmware_tempfile="/tmp/$firmware_filename"
504
-    wget "$firmware_url" -O "$rootdir$firmware_tempfile"
505
-    downloaded_firmware_hash=$(sha256sum "$rootdir$firmware_tempfile" | awk -F ' ' '{print $1}')
506
-    if [[ "$downloaded_firmware_hash" == "$firmware_hash" ]]; then
507
-        chroot "$rootdir" dpkg -i "$firmware_tempfile"
508
-    else
509
-        echo 'WARNING: Atheros Wifi firmware hash does not match. The driver has not been installed.'
510
-    fi
499
+    chroot "$rootdir" dpkg -i /root/freedombone/drivers/firmware-ath9k-htc.deb
500
+    chroot "$rootdir" apt-get -yq install firmware-linux-free
511
 }
501
 }
512
 
502
 
513
 configure_wifi() {
503
 configure_wifi() {
1743
     chroot "$rootdir" connect-proxy
1733
     chroot "$rootdir" connect-proxy
1744
     sed -i 's|#Log notice file.*|Log notice file /dev/null|g' $rootdir/etc/tor/torrc
1734
     sed -i 's|#Log notice file.*|Log notice file /dev/null|g' $rootdir/etc/tor/torrc
1745
     sed -i 's|Log notice file.*|Log notice file /dev/null|g' $rootdir/etc/tor/torrc
1735
     sed -i 's|Log notice file.*|Log notice file /dev/null|g' $rootdir/etc/tor/torrc
1746
-    sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_DAY_GB GBytes|g" $rootdir/etc/tor/torrc
1747
-    sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_DAY_GB GBytes|g" $rootdir/etc/tor/torrc
1736
+    sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" $rootdir/etc/tor/torrc
1737
+    sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" $rootdir/etc/tor/torrc
1748
     if ! grep -q 'Host *.onion' $rootdir/root/.ssh/config; then
1738
     if ! grep -q 'Host *.onion' $rootdir/root/.ssh/config; then
1749
         if [ ! -d $rootdir/root/.ssh ]; then
1739
         if [ ! -d $rootdir/root/.ssh ]; then
1750
             mkdir $rootdir/root/.ssh
1740
             mkdir $rootdir/root/.ssh

+ 8
- 8
src/freedombone-utils-onion 查看文件

29
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
29
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
30
 
30
 
31
 # The maximum amount of traffic per day in gigabytes
31
 # The maximum amount of traffic per day in gigabytes
32
-TOR_MAX_TRAFFIC_PER_DAY_GB=3
32
+TOR_MAX_TRAFFIC_PER_MONTH_GB=10
33
 
33
 
34
 HIDDEN_SERVICE_PATH='/var/lib/tor/hidden_service_'
34
 HIDDEN_SERVICE_PATH='/var/lib/tor/hidden_service_'
35
 
35
 
124
     fi
124
     fi
125
     if ! grep -q "hidden_service_${onion_service_name}" /etc/tor/torrc; then
125
     if ! grep -q "hidden_service_${onion_service_name}" /etc/tor/torrc; then
126
         echo "HiddenServiceDir ${HIDDEN_SERVICE_PATH}${onion_service_name}/" >> /etc/tor/torrc
126
         echo "HiddenServiceDir ${HIDDEN_SERVICE_PATH}${onion_service_name}/" >> /etc/tor/torrc
127
-        #echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
127
+        echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
128
         echo "HiddenServicePort ${onion_service_port_from} 127.0.0.1:${onion_service_port_to}" >> /etc/tor/torrc
128
         echo "HiddenServicePort ${onion_service_port_from} 127.0.0.1:${onion_service_port_to}" >> /etc/tor/torrc
129
         if [ ${#onion_stealth_name} -gt 0 ]; then
129
         if [ ${#onion_stealth_name} -gt 0 ]; then
130
             echo "HiddenServiceAuthorizeClient stealth ${onion_stealth_name}" >> /etc/tor/torrc
130
             echo "HiddenServiceAuthorizeClient stealth ${onion_stealth_name}" >> /etc/tor/torrc
284
     sed -i 's|Log notice file.*|Log notice file /dev/null|g' /etc/tor/torrc
284
     sed -i 's|Log notice file.*|Log notice file /dev/null|g' /etc/tor/torrc
285
 
285
 
286
     # Restrict traffic
286
     # Restrict traffic
287
-    sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_DAY_GB GBytes|g" /etc/tor/torrc
288
-    sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_DAY_GB GBytes|g" /etc/tor/torrc
287
+    sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" /etc/tor/torrc
288
+    sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" /etc/tor/torrc
289
 
289
 
290
     mark_completed $FUNCNAME
290
     mark_completed $FUNCNAME
291
 }
291
 }
427
     mobilestr="$2"
427
     mobilestr="$2"
428
 
428
 
429
     if [ ${#mobilestr} -gt 0 ]; then
429
     if [ ${#mobilestr} -gt 0 ]; then
430
-        mobilestr="_${mobilestr}"
430
+        app_name="mobile${app_name}"
431
     fi
431
     fi
432
-    if grep -q "${app_name}${mobilestr} onion domain" $COMPLETION_FILE; then
433
-        if grep -q "${app_name}${mobilestr} onion domain" $COMPLETION_FILE; then
434
-            echo $(cat ${COMPLETION_FILE} | grep "${app_name}${mobilestr} onion domain" | head -n 1 | awk -F ':' '{print $2}')
432
+    if grep -q "${app_name} onion domain" $COMPLETION_FILE; then
433
+        if grep -q "${app_name} onion domain" $COMPLETION_FILE; then
434
+            echo $(cat ${COMPLETION_FILE} | grep "${app_name} onion domain" | head -n 1 | awk -F ':' '{print $2}')
435
             return
435
             return
436
         fi
436
         fi
437
     fi
437
     fi

+ 5
- 15
src/freedombone-utils-wifi 查看文件

13
 # License
13
 # License
14
 # =======
14
 # =======
15
 #
15
 #
16
-# Copyright (C) 2015-2016 Bob Mottram <bob@freedombone.net>
16
+# Copyright (C) 2015-2018 Bob Mottram <bob@freedombone.net>
17
 #
17
 #
18
 # This program is free software: you can redistribute it and/or modify
18
 # This program is free software: you can redistribute it and/or modify
19
 # it under the terms of the GNU Affero General Public License as published by
19
 # it under the terms of the GNU Affero General Public License as published by
86
         return
86
         return
87
     fi
87
     fi
88
 
88
 
89
-    atheros_drivers_file=drivers/ath9k_htc_driver_bbb.tar.gz
89
+    apt-get -yq install firmware-linux-free
90
+
91
+    atheros_drivers_file=drivers/firmware-ath9k-htc.deb
90
     if [ ! -f $atheros_drivers_file ]; then
92
     if [ ! -f $atheros_drivers_file ]; then
91
         if [ ! -f ~/freedombone/$atheros_drivers_file ]; then
93
         if [ ! -f ~/freedombone/$atheros_drivers_file ]; then
92
             return
94
             return
96
     else
98
     else
97
         atheros_drivers_file=$(pwd)/$atheros_drivers_file
99
         atheros_drivers_file=$(pwd)/$atheros_drivers_file
98
     fi
100
     fi
99
-    if [ ! -d /lib/firmware ]; then
100
-        mkdir /lib/firmware
101
-        if [ ! -d /lib/firmware ]; then
102
-            return
103
-        fi
104
-    fi
105
-    if [ -f /lib/firmware/htc_9271.fw ]; then
106
-        return
107
-    fi
108
-    curr_dir=$(pwd)
109
-    cd /lib/firmware
110
-    tar -xzvf $atheros_drivers_file
101
+    dpkg -i $atheros_drivers_file
111
     reset_usb_devices
102
     reset_usb_devices
112
-    cd $curr_dir
113
     update_wifi_adaptors
103
     update_wifi_adaptors
114
     if [ $IFACE ]; then
104
     if [ $IFACE ]; then
115
         wpa_action ${IFACE} stop
105
         wpa_action ${IFACE} stop

+ 14
- 14
website/EN/app_matrix.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2017-11-19 Sun 23:19 -->
6
+<!-- 2018-01-26 Fri 16:34 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title>&lrm;</title>
9
 <title>&lrm;</title>
264
 Another consideration is that since matrix operates on the usual HTTPS port number (443) this may make it difficult for ISPs or governments to censor this type of communications via port blocking without significant blowback.
264
 Another consideration is that since matrix operates on the usual HTTPS port number (443) this may make it difficult for ISPs or governments to censor this type of communications via port blocking without significant blowback.
265
 </p>
265
 </p>
266
 
266
 
267
-<div id="outline-container-orgd6cc689" class="outline-2">
268
-<h2 id="orgd6cc689">Installation</h2>
269
-<div class="outline-text-2" id="text-orgd6cc689">
267
+<div id="outline-container-org32d6f79" class="outline-2">
268
+<h2 id="org32d6f79">Installation</h2>
269
+<div class="outline-text-2" id="text-org32d6f79">
270
 <p>
270
 <p>
271
 Log into your system with:
271
 Log into your system with:
272
 </p>
272
 </p>
286
 </div>
286
 </div>
287
 </div>
287
 </div>
288
 
288
 
289
-<div id="outline-container-org3292734" class="outline-2">
290
-<h2 id="org3292734">Initial setup</h2>
291
-<div class="outline-text-2" id="text-org3292734">
289
+<div id="outline-container-orgd879b05" class="outline-2">
290
+<h2 id="orgd879b05">Initial setup</h2>
291
+<div class="outline-text-2" id="text-orgd879b05">
292
 <p>
292
 <p>
293
 Go to the <b>Administrator control panel</b> and select <b>Passwords</b> then <b>matrix</b>. This will give you the password to initially log in to the system and you can change it later from a client app if needed.
293
 Go to the <b>Administrator control panel</b> and select <b>Passwords</b> then <b>matrix</b>. This will give you the password to initially log in to the system and you can change it later from a client app if needed.
294
 </p>
294
 </p>
303
 </div>
303
 </div>
304
 </div>
304
 </div>
305
 
305
 
306
-<div id="outline-container-org82239c4" class="outline-2">
307
-<h2 id="org82239c4">DNS setup</h2>
308
-<div class="outline-text-2" id="text-org82239c4">
306
+<div id="outline-container-org5dc94fc" class="outline-2">
307
+<h2 id="org5dc94fc">DNS setup</h2>
308
+<div class="outline-text-2" id="text-org5dc94fc">
309
 <p>
309
 <p>
310
 It's recommended that you add an SRV record for Matrix to your DNS setup. How you do this will depend upon your dynamic DNS provider and their web interface. On FreeDNS on the subdomains settings in addition to the subdomain which you are using for the matrix server create an extra entry as follows:
310
 It's recommended that you add an SRV record for Matrix to your DNS setup. How you do this will depend upon your dynamic DNS provider and their web interface. On FreeDNS on the subdomains settings in addition to the subdomain which you are using for the matrix server create an extra entry as follows:
311
 </p>
311
 </p>
324
 </div>
324
 </div>
325
 </div>
325
 </div>
326
 
326
 
327
-<div id="outline-container-org9568212" class="outline-2">
328
-<h2 id="org9568212">Mobile app</h2>
329
-<div class="outline-text-2" id="text-org9568212">
327
+<div id="outline-container-org3819fd5" class="outline-2">
328
+<h2 id="org3819fd5">Mobile app</h2>
329
+<div class="outline-text-2" id="text-org3819fd5">
330
 <p>
330
 <p>
331
-If you're using the Riot mobile app to access your Matrix homeserver then you can significantly improve battery performance by going to the settings and changing <b>Sync request timeout</b> to 30 seconds and <b>Delay between two sync requests</b> to 600 seconds.
331
+If you're using the Riot mobile app to access your Matrix homeserver then you can significantly improve battery performance by going to the <b>settings</b> and changing <b>Sync request timeout</b> to 30 seconds and <b>Delay between two sync requests</b> to 600 seconds. Also turning off <b>msgs in group chats</b> will help, since it will avoid getting a notification whenever a group chat event happens, which then wakes up the screen.
332
 </p>
332
 </p>
333
 </div>
333
 </div>
334
 </div>
334
 </div>

+ 20
- 20
website/EN/fediverse.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2018-01-21 Sun 11:13 -->
6
+<!-- 2018-01-29 Mon 10:19 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title>&lrm;</title>
9
 <title>&lrm;</title>
252
 Some things you might want to know about the Fediverse:
252
 Some things you might want to know about the Fediverse:
253
 </p>
253
 </p>
254
 
254
 
255
-<div id="outline-container-org7ef0ae3" class="outline-2">
256
-<h2 id="org7ef0ae3">Keep the number of users on each server small</h2>
257
-<div class="outline-text-2" id="text-org7ef0ae3">
255
+<div id="outline-container-org403f1ae" class="outline-2">
256
+<h2 id="org403f1ae">Keep the number of users on each server small</h2>
257
+<div class="outline-text-2" id="text-org403f1ae">
258
 <p>
258
 <p>
259
 The importance of this can't be overstated. Servers with lots of users always eventually have problems where the interests of the users are not the same as the interests of the server administrator. If you are the server administrator, or if there are only a small squad-size group of people on the server, then it's a lot easier to resolve differences and everyone's interests are likely to be similar.
259
 The importance of this can't be overstated. Servers with lots of users always eventually have problems where the interests of the users are not the same as the interests of the server administrator. If you are the server administrator, or if there are only a small squad-size group of people on the server, then it's a lot easier to resolve differences and everyone's interests are likely to be similar.
260
 </p>
260
 </p>
261
 </div>
261
 </div>
262
 </div>
262
 </div>
263
 
263
 
264
-<div id="outline-container-orgb78d10c" class="outline-2">
265
-<h2 id="orgb78d10c">Drama will happen</h2>
266
-<div class="outline-text-2" id="text-orgb78d10c">
264
+<div id="outline-container-org4b8c27b" class="outline-2">
265
+<h2 id="org4b8c27b">Drama will happen</h2>
266
+<div class="outline-text-2" id="text-org4b8c27b">
267
 <p>
267
 <p>
268
 It's inevitable in any social network, but fortunately your options for dealing with it are better than they are in the giant proprietary monoliths. In the proprietary world Google or Facebook don't give a damn about the fate of individual users. On a server with a small number of users if you're getting griefed then the administrator is likely to care and be able to do something about it.
268
 It's inevitable in any social network, but fortunately your options for dealing with it are better than they are in the giant proprietary monoliths. In the proprietary world Google or Facebook don't give a damn about the fate of individual users. On a server with a small number of users if you're getting griefed then the administrator is likely to care and be able to do something about it.
269
 </p>
269
 </p>
270
 </div>
270
 </div>
271
 </div>
271
 </div>
272
 
272
 
273
-<div id="outline-container-orgac5dc10" class="outline-2">
274
-<h2 id="orgac5dc10">Don't be afraid to block</h2>
275
-<div class="outline-text-2" id="text-orgac5dc10">
273
+<div id="outline-container-org6bb90e7" class="outline-2">
274
+<h2 id="org6bb90e7">Don't be afraid to block</h2>
275
+<div class="outline-text-2" id="text-org6bb90e7">
276
 <p>
276
 <p>
277
 Especially if other servers are publishing content which may not be legal in your jurisdiction then don't be afraid to use domain or user blocking from the <b>Administrator control panel</b>. The same applies if users on other servers are trying to harass you. Blocking creates politics and drama but <span class="underline">this is a feature not a bug</span>. It allows you to craft your own distinct community and user experience while also existing in the wider federation. It's hard to do this on sites like Twitter or Facebook. Try to keep blocking to a minimum though and avoid doing it for insubstantial reasons. If you have other users on your server then publish the blocked domains list somewhere they can see. That avoids disappointment and enables you to have a discussion about the validity of blocking decisions.
277
 Especially if other servers are publishing content which may not be legal in your jurisdiction then don't be afraid to use domain or user blocking from the <b>Administrator control panel</b>. The same applies if users on other servers are trying to harass you. Blocking creates politics and drama but <span class="underline">this is a feature not a bug</span>. It allows you to craft your own distinct community and user experience while also existing in the wider federation. It's hard to do this on sites like Twitter or Facebook. Try to keep blocking to a minimum though and avoid doing it for insubstantial reasons. If you have other users on your server then publish the blocked domains list somewhere they can see. That avoids disappointment and enables you to have a discussion about the validity of blocking decisions.
278
 </p>
278
 </p>
279
 </div>
279
 </div>
280
 </div>
280
 </div>
281
 
281
 
282
-<div id="outline-container-orgec4f5cf" class="outline-2">
283
-<h2 id="orgec4f5cf">Network structure maps on to social structure</h2>
284
-<div class="outline-text-2" id="text-orgec4f5cf">
282
+<div id="outline-container-orgded15c7" class="outline-2">
283
+<h2 id="orgded15c7">Network structure maps on to social structure</h2>
284
+<div class="outline-text-2" id="text-orgded15c7">
285
 <p>
285
 <p>
286
 Over time follows and blocking rules come to match the underlying social geography of affinity groups. Blocking will happen and users will move around or start new servers. Drama related to blocking will dissipate.
286
 Over time follows and blocking rules come to match the underlying social geography of affinity groups. Blocking will happen and users will move around or start new servers. Drama related to blocking will dissipate.
287
 </p>
287
 </p>
288
 </div>
288
 </div>
289
 </div>
289
 </div>
290
 
290
 
291
-<div id="outline-container-org07b0224" class="outline-2">
292
-<h2 id="org07b0224">Keep your follows under the Dunbar number</h2>
293
-<div class="outline-text-2" id="text-org07b0224">
291
+<div id="outline-container-orgd6823a8" class="outline-2">
292
+<h2 id="orgd6823a8">Keep your follows under the Dunbar number</h2>
293
+<div class="outline-text-2" id="text-orgd6823a8">
294
 <p>
294
 <p>
295
 Keep the number of other users you're following and who are also active to under a couple of hundred. Any more than that and you'll just be overwhelmed by irrelevant stuff and whatever community you may have been part of will dissolve in a sea of entropy. There are no algorithmic timelines, and even if they're introduced then they create their own problems as an opaque form of censorship. <span class="underline">Real community happens at tribal scale</span>. It's something which people often don't like to admit because they get fixated upon bigger and bigger numbers, but it definitely seems to be true.
295
 Keep the number of other users you're following and who are also active to under a couple of hundred. Any more than that and you'll just be overwhelmed by irrelevant stuff and whatever community you may have been part of will dissolve in a sea of entropy. There are no algorithmic timelines, and even if they're introduced then they create their own problems as an opaque form of censorship. <span class="underline">Real community happens at tribal scale</span>. It's something which people often don't like to admit because they get fixated upon bigger and bigger numbers, but it definitely seems to be true.
296
 </p>
296
 </p>
297
 </div>
297
 </div>
298
 </div>
298
 </div>
299
 
299
 
300
-<div id="outline-container-org07a661a" class="outline-2">
301
-<h2 id="org07a661a">Avoid big public servers</h2>
302
-<div class="outline-text-2" id="text-org07a661a">
300
+<div id="outline-container-org77ec195" class="outline-2">
301
+<h2 id="org77ec195">Avoid big public servers</h2>
302
+<div class="outline-text-2" id="text-org77ec195">
303
 <p>
303
 <p>
304
 It may seem like a good idea and it may seem like you're doing a service to the community by allowing random strangers to register, but servers with thousands of users only cause problems - social, administrative, financial and possibly also legal. The financial strain of running a powerful server with high reliability may be enough to encourage the administrator to begin pushing advertising onto the system, or sell user content, and then before you know it you have identical problems to Twitter. Instead try to encourage people to set up their own servers. Follow this principle and a lot of arguments and stress will be more easily avoided.
304
 It may seem like a good idea and it may seem like you're doing a service to the community by allowing random strangers to register, but servers with thousands of users only cause problems - social, administrative, financial and possibly also legal. The financial strain of running a powerful server with high reliability may be enough to encourage the administrator to begin pushing advertising onto the system, or sell user content, and then before you know it you have identical problems to Twitter. Instead try to encourage people to set up their own servers. Follow this principle and a lot of arguments and stress will be more easily avoided.
305
 </p>
305
 </p>
308
 
308
 
309
 <div class="org-center">
309
 <div class="org-center">
310
 <p>
310
 <p>
311
-This site can also be accessed via a Tor browser at <a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a>. This documentation is under the <a href="https://www.gnu.org/licenses/fdl-1.3.txt">GNU Free Documentation License version 1.3</a>
311
+This site can also be accessed via a Tor browser at <a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a>. This documentation is under the <a href="https://www.gnu.org/licenses/fdl-1.3.txt">GNU Free Documentation License version 1.3</a>
312
 </p>
312
 </p>
313
 </div>
313
 </div>
314
 </div>
314
 </div>

+ 2
- 2
website/EN/homeserver.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2018-01-21 Sun 11:15 -->
6
+<!-- 2018-01-29 Mon 10:19 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title>&lrm;</title>
9
 <title>&lrm;</title>
478
 
478
 
479
 <div class="org-center">
479
 <div class="org-center">
480
 <p>
480
 <p>
481
-This site can also be accessed via a Tor browser at <a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a>
481
+This site can also be accessed via a Tor browser at <a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a>
482
 </p>
482
 </p>
483
 </div>
483
 </div>
484
 </div>
484
 </div>

+ 2
- 2
website/EN/index.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2018-01-21 Sun 11:15 -->
6
+<!-- 2018-01-29 Mon 10:18 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title>&lrm;</title>
9
 <title>&lrm;</title>
299
 
299
 
300
 <div class="org-center">
300
 <div class="org-center">
301
 <p>
301
 <p>
302
-This site can also be accessed via a Tor browser at <a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a>. This documentation is under the <a href="https://www.gnu.org/licenses/fdl-1.3.txt">GNU Free Documentation License version 1.3</a>
302
+This site can also be accessed via a Tor browser at <a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a>. This documentation is under the <a href="https://www.gnu.org/licenses/fdl-1.3.txt">GNU Free Documentation License version 1.3</a>
303
 </p>
303
 </p>
304
 </div>
304
 </div>
305
 </div>
305
 </div>

+ 2
- 2
website/EN/mesh.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2018-01-21 Sun 11:15 -->
6
+<!-- 2018-01-29 Mon 10:18 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title>&lrm;</title>
9
 <title>&lrm;</title>
284
 
284
 
285
 <div class="org-center">
285
 <div class="org-center">
286
 <p>
286
 <p>
287
-This site can also be accessed via a Tor browser at <a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a>
287
+This site can also be accessed via a Tor browser at <a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a>
288
 </p>
288
 </p>
289
 </div>
289
 </div>
290
 </div>
290
 </div>

+ 29
- 29
website/EN/support.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2018-01-21 Sun 11:14 -->
6
+<!-- 2018-01-29 Mon 10:18 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title>&lrm;</title>
9
 <title>&lrm;</title>
248
 <h1>Support</h1>
248
 <h1>Support</h1>
249
 </center>
249
 </center>
250
 
250
 
251
-<div id="outline-container-org3dddbf5" class="outline-2">
252
-<h2 id="org3dddbf5">Contact details</h2>
253
-<div class="outline-text-2" id="text-org3dddbf5">
251
+<div id="outline-container-org4dbc811" class="outline-2">
252
+<h2 id="org4dbc811">Contact details</h2>
253
+<div class="outline-text-2" id="text-org4dbc811">
254
 <p>
254
 <p>
255
-This site can also be accessed via a Tor browser at <b><a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a></b>
255
+This site can also be accessed via a Tor browser at <b><a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a></b>
256
 </p>
256
 </p>
257
 
257
 
258
 <p>
258
 <p>
273
 </div>
273
 </div>
274
 </div>
274
 </div>
275
 
275
 
276
-<div id="outline-container-org654de23" class="outline-2">
277
-<h2 id="org654de23">Things which would be nice to have</h2>
278
-<div class="outline-text-2" id="text-org654de23">
276
+<div id="outline-container-org0d8934f" class="outline-2">
277
+<h2 id="org0d8934f">Things which would be nice to have</h2>
278
+<div class="outline-text-2" id="text-org0d8934f">
279
 </div>
279
 </div>
280
-<div id="outline-container-org9171145" class="outline-3">
281
-<h3 id="org9171145">Ideas</h3>
282
-<div class="outline-text-3" id="text-org9171145">
280
+<div id="outline-container-orgb1770b0" class="outline-3">
281
+<h3 id="orgb1770b0">Ideas</h3>
282
+<div class="outline-text-3" id="text-orgb1770b0">
283
 <p>
283
 <p>
284
 Know of some fabulous web system which could run on Freedombone, but currently doesn't? Contact the above, and be prepared to make a compelling argument for why it should be included.
284
 Know of some fabulous web system which could run on Freedombone, but currently doesn't? Contact the above, and be prepared to make a compelling argument for why it should be included.
285
 </p>
285
 </p>
286
 </div>
286
 </div>
287
 </div>
287
 </div>
288
 
288
 
289
-<div id="outline-container-org71c7a97" class="outline-3">
290
-<h3 id="org71c7a97">Money</h3>
291
-<div class="outline-text-3" id="text-org71c7a97">
289
+<div id="outline-container-orge46d165" class="outline-3">
290
+<h3 id="orge46d165">Money</h3>
291
+<div class="outline-text-3" id="text-orge46d165">
292
 <p>
292
 <p>
293
 At the present time this project is not seeking any funding. There is no crowdfunding campaign and no slick marketing video. Those aren't ruled out as future possibilities, but for now they're just not needed.
293
 At the present time this project is not seeking any funding. There is no crowdfunding campaign and no slick marketing video. Those aren't ruled out as future possibilities, but for now they're just not needed.
294
 </p>
294
 </p>
299
 </div>
299
 </div>
300
 </div>
300
 </div>
301
 
301
 
302
-<div id="outline-container-org012655b" class="outline-3">
303
-<h3 id="org012655b">Testing and reporting bugs</h3>
304
-<div class="outline-text-3" id="text-org012655b">
302
+<div id="outline-container-orgde98a22" class="outline-3">
303
+<h3 id="orgde98a22">Testing and reporting bugs</h3>
304
+<div class="outline-text-3" id="text-orgde98a22">
305
 <p>
305
 <p>
306
 Testing of the install on different hardware. Also pentesting on test installations to find vulnerabilities.
306
 Testing of the install on different hardware. Also pentesting on test installations to find vulnerabilities.
307
 </p>
307
 </p>
308
 </div>
308
 </div>
309
 </div>
309
 </div>
310
 
310
 
311
-<div id="outline-container-org2ec5168" class="outline-3">
312
-<h3 id="org2ec5168">Web design and artwork</h3>
313
-<div class="outline-text-3" id="text-org2ec5168">
311
+<div id="outline-container-org81b0012" class="outline-3">
312
+<h3 id="org81b0012">Web design and artwork</h3>
313
+<div class="outline-text-3" id="text-org81b0012">
314
 <p>
314
 <p>
315
 A better design for this website would be nice to have. Photos, icons or other artwork are all welcome. I've always liked the cartoon artwork of the <a href="https://www.mediagoblin.org/">Mediagoblin</a> project, and attractive graphics can help to get people initially interested.
315
 A better design for this website would be nice to have. Photos, icons or other artwork are all welcome. I've always liked the cartoon artwork of the <a href="https://www.mediagoblin.org/">Mediagoblin</a> project, and attractive graphics can help to get people initially interested.
316
 </p>
316
 </p>
317
 </div>
317
 </div>
318
 </div>
318
 </div>
319
 
319
 
320
-<div id="outline-container-org76b8351" class="outline-3">
321
-<h3 id="org76b8351">More education and promotion</h3>
322
-<div class="outline-text-3" id="text-org76b8351">
320
+<div id="outline-container-orgbf8be41" class="outline-3">
321
+<h3 id="orgbf8be41">More education and promotion</h3>
322
+<div class="outline-text-3" id="text-orgbf8be41">
323
 <div class="org-center">
323
 <div class="org-center">
324
 
324
 
325
 <div class="figure">
325
 <div class="figure">
337
 </div>
337
 </div>
338
 </div>
338
 </div>
339
 
339
 
340
-<div id="outline-container-org5332549" class="outline-3">
341
-<h3 id="org5332549">Translations</h3>
342
-<div class="outline-text-3" id="text-org5332549">
340
+<div id="outline-container-orgfe4b6e1" class="outline-3">
341
+<h3 id="orgfe4b6e1">Translations</h3>
342
+<div class="outline-text-3" id="text-orgfe4b6e1">
343
 <p>
343
 <p>
344
 To add translations modify the json files within the <b>locale</b> subdirectory. Then make a pull request on the <a href="https://github.com/bashrc/freedombone">Github site</a>.
344
 To add translations modify the json files within the <b>locale</b> subdirectory. Then make a pull request on the <a href="https://github.com/bashrc/freedombone">Github site</a>.
345
 </p>
345
 </p>
346
 </div>
346
 </div>
347
 </div>
347
 </div>
348
 
348
 
349
-<div id="outline-container-orgd4e3504" class="outline-3">
350
-<h3 id="orgd4e3504">Packaging</h3>
351
-<div class="outline-text-3" id="text-orgd4e3504">
349
+<div id="outline-container-org5e6b66f" class="outline-3">
350
+<h3 id="org5e6b66f">Packaging</h3>
351
+<div class="outline-text-3" id="text-org5e6b66f">
352
 <p>
352
 <p>
353
 Helping to package GNU Social and Hubzilla for Debian would be beneficial.
353
 Helping to package GNU Social and Hubzilla for Debian would be beneficial.
354
 </p>
354
 </p>