Explorar el Código

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

Bob Mottram hace 7 años
padre
commit
4b5dd72c22

+ 3
- 0
doc/EN/faq.org Ver fichero

@@ -24,6 +24,7 @@
24 24
 | [[Why not support building images for Raspberry Pi?]]                                         |
25 25
 | [[Why use Tor? I've heard it's used by bad people]]                                           |
26 26
 | [[How is Tor integrated with Freedombone?]]                                                   |
27
+| [[Can I add a clearnet domain to an onion build?]]                                            |
27 28
 | [[Why use Github?]]                                                                           |
28 29
 | [[Keys and emails should not be stored on servers. Why do you do that?]]                      |
29 30
 | [[./mirrors.html][I have a question about mirrors or upstream repositories]]                                  |
@@ -100,6 +101,8 @@ Tor is installed by default, but it's not configured as a relay or exit node. Fr
100 101
 When you install an app you will be able to access it from its onion address.
101 102
 
102 103
 Even if you're running the "onion only" build, this only means that sites are accessible via onion addresses. It doesn't mean that everything gets routed through Tor. If full anonymity is your aim then it's probably a good idea to just stick strictly to using TAILS.
104
+* Can I add a clearnet domain to an onion build?
105
+You could if you manually edited the relevant nginx configuration files and installed some dynamic DNS system yourself. If you already have sysadmin knowledge then that's probably not too hard. But the builds created with the *onion-addresses-only* option aren't really intended to support access via clearnet domains.
103 106
 * Why use Github?
104 107
 Github is paradoxically a centralized, closed and proprietary system which happens to mostly host free and open source projects. Up until now it has been relatively benign, but at some point in the name of "growth" it will likely start becoming more evil, or just become like SourceForge - which was also once much loved by FOSS developers, but turned into a den of malvertizing.
105 108
 

+ 1
- 0
doc/EN/homeserver.org Ver fichero

@@ -74,6 +74,7 @@ Now plug in the USB thumb drive, and do the same again. Notice which drive lette
74 74
 You can now copy the image to the USB thumb drive, replacing *sdX* with the identifier of the USB thumb drive. Don't include any numbers (so for example use *sdc* instead of *sdc1*).
75 75
 
76 76
 #+begin_src bash
77
+dd if=/dev/zero of=/dev/sdX bs=1M count=8
77 78
 dd bs=1M if=myimagefile.img of=/dev/sdX conv=fdatasync
78 79
 #+end_src
79 80
 

+ 3
- 0
doc/EN/mesh.org Ver fichero

@@ -73,6 +73,7 @@ gpg --verify freedombone-meshclient-3_all-i386.img.xz.sig
73 73
 sha256sum freedombone-meshclient-3_all-i386.img.xz
74 74
 74f9eaad479f84d3bf9cb002067074d35a97028145e781c5746c74577f777ee5
75 75
 unxz freedombone-meshclient-3_all-i386.img.xz
76
+sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8
76 77
 sudo dd bs=1M if=freedombone-meshclient-3_all-i386.img of=/dev/sdX conv=fdatasync
77 78
 #+end_src
78 79
 
@@ -88,6 +89,7 @@ gpg --verify freedombone-meshclient-insecure-3_all-i386.img.xz.sig
88 89
 sha256sum freedombone-meshclient-insecure-3_all-i386.img.xz
89 90
 f1c5df24a4bfca47bd5c41dfd2568925e63a1abf83aecf0250480b4b8edc071d
90 91
 unxz freedombone-meshclient-insecure-3_all-i386.img.xz
92
+sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8
91 93
 sudo dd bs=1M if=freedombone-meshclient-insecure-3_all-i386.img of=/dev/sdX conv=fdatasync
92 94
 #+end_src
93 95
 
@@ -154,6 +156,7 @@ Now plug in the USB thumb drive, and do the same again. Notice which drive lette
154 156
 You can now copy the image to the USB thumb drive, replacing *sdX* with the identifier of the USB thumb drive. Don't include any numbers (so for example use *sdc* instead of *sdc1*).
155 157
 
156 158
 #+begin_src bash
159
+sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8
157 160
 sudo dd bs=1M if=myimagefile.img of=/dev/sdX conv=fdatasync
158 161
 #+end_src
159 162
 

+ 1
- 1
src/freedombone-app-ipfs Ver fichero

@@ -34,7 +34,7 @@ IN_DEFAULT_INSTALL=0
34 34
 SHOW_ON_ABOUT=0
35 35
 
36 36
 IPFS_GO_REPO_BASE="github.com/ipfs/go-ipfs"
37
-IPFS_GO_REPO='https://github.com/ipfs/go-ipfs'
37
+IPFS_GO_REPO="https://$IPFS_GO_REPO_BASE"
38 38
 IPFS_COMMIT='6fdfaaf6e4783ae1be7b348e7a6bc0640982c7df'
39 39
 IPFS_PORT=4001
40 40
 IPFS_NODE_VERSION='6.2.2'

+ 2
- 1
src/freedombone-image Ver fichero

@@ -544,7 +544,7 @@ if [[ $VARIANT == 'meshclient' || $VARIANT == 'meshusb' ]]; then
544 544
     fi
545 545
 
546 546
     if [ ! $IMAGE_SIZE_SPECIFIED ]; then
547
-        IMAGE_SIZE=7.8G
547
+        IMAGE_SIZE=7.5G
548 548
     fi
549 549
 fi
550 550
 
@@ -700,6 +700,7 @@ if [[ $IMAGE_TYPE != "qemu"* ]]; then
700 700
     fi
701 701
     echo ''
702 702
     echo "    unxz -k ${PROJECT_NAME}*.img.xz"
703
+    echo '    sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8'
703 704
     echo "    sudo dd bs=1M if=${PROJECT_NAME}*.img of=/dev/sdX conv=fdatasync"
704 705
     echo ''
705 706
 fi

+ 31
- 1
src/freedombone-image-customise Ver fichero

@@ -561,6 +561,35 @@ INSTALL_DIR=$HOME/build
561 561
 
562 562
 INSTALLING_MESH=
563 563
 
564
+PATCHWORK_REPO="https://github.com/ssbc/patchwork"
565
+PATCHWORK_COMMIT='60111a9e3385d65be0d17aa0d15fd20e5fb311ce'
566
+
567
+install_patchwork() {
568
+    get_npm_arch
569
+
570
+    git clone $PATCHWORK_REPO $rootdir/etc/patchwork
571
+    cd $rootdir/etc/patchwork
572
+    git checkout $PATCHWORK_COMMIT -b $PATCHWORK_COMMIT
573
+
574
+    cat <<EOF > $rootdir/usr/bin/install_patchwork
575
+#!/bin/bash
576
+cd /etc/patchwork
577
+npm install --arch=$NPM_ARCH --build-from-source
578
+npm install --arch=$NPM_ARCH --save-dev electron-rebuild
579
+./node_modules/.bin/electron-rebuild
580
+npm install --arch=$NPM_ARCH git-ssb
581
+EOF
582
+    chroot "$rootdir" /bin/chmod +x /usr/bin/install_patchwork
583
+    chroot "$rootdir" /usr/bin/install_patchwork
584
+    if [ ! -f /usr/bin/patchwork ]; then
585
+        if [ ! -f /usr/local/bin/patchwork ]; then
586
+            echo $'Unable to install SSB Patchwork peer'
587
+            exit 783524
588
+        fi
589
+    fi
590
+    rm $rootdir/usr/bin/install_patchwork
591
+}
592
+
564 593
 initialise_mesh() {
565 594
     if [[ $VARIANT != "mesh"* ]]; then
566 595
         return
@@ -597,6 +626,7 @@ initialise_mesh() {
597 626
     install_tomb
598 627
     #install_tahoelafs
599 628
     #install_librevault
629
+    install_patchwork
600 630
     install_ipfs
601 631
     install_tox
602 632
     install_web_server
@@ -1463,12 +1493,12 @@ admin_user_sudo
1463 1493
 create_generic_image
1464 1494
 atheros_wifi
1465 1495
 continue_installation
1496
+image_install_nodejs
1466 1497
 initialise_mesh
1467 1498
 configure_wifi
1468 1499
 configure_user_interface
1469 1500
 image_setup_utils
1470 1501
 image_install_inadyn
1471
-image_install_nodejs
1472 1502
 image_preinstall_repos
1473 1503
 
1474 1504
 # remove downloaded packages

+ 6
- 0
src/freedombone-mesh-batman Ver fichero

@@ -155,6 +155,9 @@ function stop {
155 155
     iptables -D INPUT -p tcp --dport $LIBREVAULT_PORT -j ACCEPT
156 156
     iptables -D INPUT -p udp --dport $LIBREVAULT_PORT -j ACCEPT
157 157
     iptables -D INPUT -p tcp --dport $TAHOELAFS_PORT -j ACCEPT
158
+    # SSB/Patchwork
159
+    iptables -D INPUT -p udp --dport 8008 -j ACCEPT
160
+    iptables -D INPUT -p tcp --dport 8008 -j ACCEPT
158 161
 
159 162
     systemctl restart network-manager
160 163
 }
@@ -307,6 +310,9 @@ function start {
307 310
     iptables -A INPUT -p tcp --dport $LIBREVAULT_PORT -j ACCEPT
308 311
     iptables -A INPUT -p udp --dport $LIBREVAULT_PORT -j ACCEPT
309 312
     iptables -A INPUT -p tcp --dport $TAHOELAFS_PORT -j ACCEPT
313
+    # SSB/Patchwork
314
+    iptables -A INPUT -p udp --dport 8008 -j ACCEPT
315
+    iptables -A INPUT -p tcp --dport 8008 -j ACCEPT
310 316
 
311 317
     systemctl restart avahi-daemon
312 318
 

+ 45
- 28
src/freedombone-utils-nodejs Ver fichero

@@ -35,7 +35,7 @@ VARIANTS='mesh'
35 35
 
36 36
 # change these versions at your peril. Things will often crash if you don't
37 37
 # have specifically the correct versions
38
-NODEJS_VERSION='6.10.1'
38
+NODEJS_VERSION='6.11.3'
39 39
 NODEJS_N_VERSION='2.1.7'
40 40
 NPM_VERSION='4.0.5'
41 41
 
@@ -43,40 +43,57 @@ NPM_VERSION='4.0.5'
43 43
 # so that it can be removed if tere are no apps which need it
44 44
 NODEJS_INSTALLED_APPS_FILE=$HOME/.nodejs-apps
45 45
 
46
+function get_npm_arch {
47
+    N_ARCH='x86'
48
+    NPM_ARCH='ia32'
49
+    if [[ $ARCHITECTURE == 'arm'* ]]; then
50
+        NPM_ARCH='armv7l'
51
+        N_ARCH='arm'
52
+    fi
53
+    if [[ $ARCHITECTURE == 'x86_64' || $ARCHITECTURE == 'amd64' ]]; then
54
+        NPM_ARCH='x64'
55
+        N_ARCH='x64'
56
+    fi
57
+}
58
+
46 59
 function mesh_install_nodejs {
47
-    # Note: this has to be jessie for now
48
-    wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key > ${rootdir}/root/node.gpg.key
49
-    chroot "${rootdir}" apt-key add /root/node.gpg.key
50
-    echo "deb https://deb.nodesource.com/node_6.x jessie main" > ${rootdir}/etc/apt/sources.list.d/nodesource.list
51
-    echo "deb-src https://deb.nodesource.com/node_6.x jessie main" >> ${rootdir}/etc/apt/sources.list.d/nodesource.list
52
-    chroot "${rootdir}" apt-get update
53
-    chroot "${rootdir}" apt-get -yq install nodejs curl
60
+    chroot "$rootdir" apt-get -yq install g++ m4 libtool automake nodejs curl
61
+    chroot "$rootdir" apt-get -yq install libxext-dev libxtst-dev libxkbfile-dev
54 62
 
55 63
     if [ ! -f ${rootdir}/usr/bin/nodejs ]; then
56 64
         echo $'nodejs was not installed'
57 65
         exit 63962
58 66
     fi
59 67
 
60
-    # TODO this doesn't work
61
-#    cat <<EOF > ${rootdir}/root/install-nodejs.sh
62
-##!/bin/bash
63
-#npm install -g npm@${NPM_VERSION} --save
64
-#npm install -g n@${NODEJS_N_VERSION} --save
65
-#n ${NODEJS_VERSION}
66
-#npm install -g pug@2.0.0-beta6 --save
67
-#npm install -g graceful-fs@4.1.10 --save
68
-#npm install -g minimatch@3.0.3 --save
69
-#npm install -g npm@${NPM_VERSION} --save
70
-#cp /usr/local/bin/node /usr/bin/nodejs
71
-#cp /usr/local/bin/npm /usr/bin/npm
72
-#EOF
73
-#    chroot "${rootdir}" chmod +x /root/install-nodejs.sh
74
-#    chroot "${rootdir}" /root/install-nodejs.sh
75
-#    if [ ! "$?" = "0" ]; then
76
-#        chroot "${rootdir}" rm -f /root/install-nodejs.sh
77
-#        exit 7632572
78
-#    fi
79
-#    chroot "${rootdir}" rm -f /root/install-nodejs.sh
68
+    if [ -f $rootdir/usr/bin/nodejs ]; then
69
+        cp $rootdir/usr/bin/nodejs $rootdir/usr/bin/node
70
+    fi
71
+
72
+    if [ ! -f $rootdir/usr/bin/node ]; then
73
+        echo $'/usr/bin/node not found'
74
+        exit 7235728
75
+    fi
76
+
77
+    wget https://www.npmjs.com/install.sh -O $rootdir/root/npm_install.sh
78
+    if [ ! -f $rootdir/root/npm_install.sh ]; then
79
+        echo $'Unable to download npm installer'
80
+        exit 8793636
81
+    fi
82
+    chroot "$rootdir" chmod +x /root/npm_install.sh
83
+    sed -i "s|t=\"\${npm_install}\"|t=\"$NPM_VERSION\"|g" $rootdir/root/npm_install.sh
84
+    chroot "$rootdir" /root/npm_install.sh
85
+
86
+    if [ ! -f $rootdir/usr/bin/npm ]; then
87
+        echo $'npm was not installed'
88
+        exit 5290462
89
+    fi
90
+    cp $rootdir/usr/bin/npm $rootdir/root/npm
91
+
92
+    # update from the old debian nodejs version
93
+    get_npm_arch
94
+    chroot "$rootdir" npm install --arch=$NPM_ARCH -g n@${NODEJS_N_VERSION} --save
95
+    chroot "$rootdir" n --arch $N_ARCH ${NODEJS_VERSION}
96
+    cp $rootdir/root/npm $rootdir/usr/bin/npm
80 97
 }
81 98
 
82 99
 function remove_nodejs {

+ 136
- 124
website/EN/faq.html Ver fichero

@@ -3,7 +3,7 @@
3 3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5 5
 <head>
6
-<!-- 2017-09-12 Tue 11:53 -->
6
+<!-- 2017-09-15 Fri 10:29 -->
7 7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8 8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9 9
 <title></title>
@@ -257,35 +257,39 @@ for the JavaScript code in this tag.
257 257
 </colgroup>
258 258
 <tbody>
259 259
 <tr>
260
-<td class="org-left"><a href="#orge4d28e6">What applications are supported?</a></td>
260
+<td class="org-left"><a href="#orgbbb3441">What applications are supported?</a></td>
261 261
 </tr>
262 262
 
263 263
 <tr>
264
-<td class="org-left"><a href="#org059603a">I don't have a static IP address. Can I still install this system?</a></td>
264
+<td class="org-left"><a href="#orgd634a7c">I don't have a static IP address. Can I still install this system?</a></td>
265 265
 </tr>
266 266
 
267 267
 <tr>
268
-<td class="org-left"><a href="#orgce17fc3">Why Freedombone and not FreedomBox?</a></td>
268
+<td class="org-left"><a href="#org88331dc">Why Freedombone and not FreedomBox?</a></td>
269 269
 </tr>
270 270
 
271 271
 <tr>
272
-<td class="org-left"><a href="#org9455df3">Why not support building images for Raspberry Pi?</a></td>
272
+<td class="org-left"><a href="#orgc55c3a9">Why not support building images for Raspberry Pi?</a></td>
273 273
 </tr>
274 274
 
275 275
 <tr>
276
-<td class="org-left"><a href="#org78b57eb">Why use Tor? I've heard it's used by bad people</a></td>
276
+<td class="org-left"><a href="#orga017b02">Why use Tor? I've heard it's used by bad people</a></td>
277 277
 </tr>
278 278
 
279 279
 <tr>
280
-<td class="org-left"><a href="#org4b81ba4">How is Tor integrated with Freedombone?</a></td>
280
+<td class="org-left"><a href="#org249c744">How is Tor integrated with Freedombone?</a></td>
281 281
 </tr>
282 282
 
283 283
 <tr>
284
-<td class="org-left"><a href="#orgb1114e4">Why use Github?</a></td>
284
+<td class="org-left"><a href="#org7cecca6">Can I add a clearnet domain to an onion build?</a></td>
285 285
 </tr>
286 286
 
287 287
 <tr>
288
-<td class="org-left"><a href="#orgbc22fb9">Keys and emails should not be stored on servers. Why do you do that?</a></td>
288
+<td class="org-left"><a href="#org851c64e">Why use Github?</a></td>
289
+</tr>
290
+
291
+<tr>
292
+<td class="org-left"><a href="#orgf317597">Keys and emails should not be stored on servers. Why do you do that?</a></td>
289 293
 </tr>
290 294
 
291 295
 <tr>
@@ -293,103 +297,103 @@ for the JavaScript code in this tag.
293 297
 </tr>
294 298
 
295 299
 <tr>
296
-<td class="org-left"><a href="#org3de928d">Why can't I access my .onion site with a Tor browser?</a></td>
300
+<td class="org-left"><a href="#org01f5e64">Why can't I access my .onion site with a Tor browser?</a></td>
297 301
 </tr>
298 302
 
299 303
 <tr>
300
-<td class="org-left"><a href="#org90bb4b5">What is the best hardware to run this system on?</a></td>
304
+<td class="org-left"><a href="#org38cbf46">What is the best hardware to run this system on?</a></td>
301 305
 </tr>
302 306
 
303 307
 <tr>
304
-<td class="org-left"><a href="#orgd28e6f4">Can I add more users to the system?</a></td>
308
+<td class="org-left"><a href="#orgcce0278">Can I add more users to the system?</a></td>
305 309
 </tr>
306 310
 
307 311
 <tr>
308
-<td class="org-left"><a href="#org4f21c19">Why not use Signal for mobile chat?</a></td>
312
+<td class="org-left"><a href="#org101140b">Why not use Signal for mobile chat?</a></td>
309 313
 </tr>
310 314
 
311 315
 <tr>
312
-<td class="org-left"><a href="#orgfe6470e">What is the most secure chat app to use on mobile?</a></td>
316
+<td class="org-left"><a href="#org8b50dde">What is the most secure chat app to use on mobile?</a></td>
313 317
 </tr>
314 318
 
315 319
 <tr>
316
-<td class="org-left"><a href="#org6813023">How do I remove a user from the system?</a></td>
320
+<td class="org-left"><a href="#org20eaffc">How do I remove a user from the system?</a></td>
317 321
 </tr>
318 322
 
319 323
 <tr>
320
-<td class="org-left"><a href="#org9ba4b0e">Why is logging for web sites turned off by default?</a></td>
324
+<td class="org-left"><a href="#org209f0d6">Why is logging for web sites turned off by default?</a></td>
321 325
 </tr>
322 326
 
323 327
 <tr>
324
-<td class="org-left"><a href="#orge39d7dd">How do I reset the tripwire?</a></td>
328
+<td class="org-left"><a href="#orga16e12a">How do I reset the tripwire?</a></td>
325 329
 </tr>
326 330
 
327 331
 <tr>
328
-<td class="org-left"><a href="#orgad498c1">Is metadata protected?</a></td>
332
+<td class="org-left"><a href="#orgf085eb1">Is metadata protected?</a></td>
329 333
 </tr>
330 334
 
331 335
 <tr>
332
-<td class="org-left"><a href="#orgaf26822">How do I create email processing rules?</a></td>
336
+<td class="org-left"><a href="#org20694ec">How do I create email processing rules?</a></td>
333 337
 </tr>
334 338
 
335 339
 <tr>
336
-<td class="org-left"><a href="#org584e155">Why isn't dynamic DNS working?</a></td>
340
+<td class="org-left"><a href="#orgf194d33">Why isn't dynamic DNS working?</a></td>
337 341
 </tr>
338 342
 
339 343
 <tr>
340
-<td class="org-left"><a href="#orgca8c34e">How do I change my encryption settings?</a></td>
344
+<td class="org-left"><a href="#org04c8e6a">How do I change my encryption settings?</a></td>
341 345
 </tr>
342 346
 
343 347
 <tr>
344
-<td class="org-left"><a href="#org9742108">How do I get a domain name?</a></td>
348
+<td class="org-left"><a href="#org4756925">How do I get a domain name?</a></td>
345 349
 </tr>
346 350
 
347 351
 <tr>
348
-<td class="org-left"><a href="#org3ba4e5b">How do I get a "real" SSL/TLS/HTTPS certificate?</a></td>
352
+<td class="org-left"><a href="#org0580486">How do I get a "real" SSL/TLS/HTTPS certificate?</a></td>
349 353
 </tr>
350 354
 
351 355
 <tr>
352
-<td class="org-left"><a href="#orgf99af92">How do I renew a Let's Encrypt certificate?</a></td>
356
+<td class="org-left"><a href="#org689608f">How do I renew a Let's Encrypt certificate?</a></td>
353 357
 </tr>
354 358
 
355 359
 <tr>
356
-<td class="org-left"><a href="#org64e189a">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</a></td>
360
+<td class="org-left"><a href="#org00c9fac">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</a></td>
357 361
 </tr>
358 362
 
359 363
 <tr>
360
-<td class="org-left"><a href="#org896c14a">Why not use the services of $company instead? They took the Seppuku pledge</a></td>
364
+<td class="org-left"><a href="#org7f1159a">Why not use the services of $company instead? They took the Seppuku pledge</a></td>
361 365
 </tr>
362 366
 
363 367
 <tr>
364
-<td class="org-left"><a href="#org1f1886b">Why does my email keep getting rejected as spam by Gmail/etc?</a></td>
368
+<td class="org-left"><a href="#org5459287">Why does my email keep getting rejected as spam by Gmail/etc?</a></td>
365 369
 </tr>
366 370
 
367 371
 <tr>
368
-<td class="org-left"><a href="#org51d8596">Tor is censored/blocked in my area. What can I do?</a></td>
372
+<td class="org-left"><a href="#org108fab6">Tor is censored/blocked in my area. What can I do?</a></td>
369 373
 </tr>
370 374
 
371 375
 <tr>
372
-<td class="org-left"><a href="#orgaeba5cb">I want to block a particular domain from getting its content into my social network sites</a></td>
376
+<td class="org-left"><a href="#orgaeeac02">I want to block a particular domain from getting its content into my social network sites</a></td>
373 377
 </tr>
374 378
 
375 379
 <tr>
376
-<td class="org-left"><a href="#org021f197">The mesh system doesn't boot from USB drive</a></td>
380
+<td class="org-left"><a href="#orgfefb387">The mesh system doesn't boot from USB drive</a></td>
377 381
 </tr>
378 382
 </tbody>
379 383
 </table>
380 384
 </div>
381 385
 
382
-<div id="outline-container-orge4d28e6" class="outline-2">
383
-<h2 id="orge4d28e6">What applications are supported?</h2>
384
-<div class="outline-text-2" id="text-orge4d28e6">
386
+<div id="outline-container-orgbbb3441" class="outline-2">
387
+<h2 id="orgbbb3441">What applications are supported?</h2>
388
+<div class="outline-text-2" id="text-orgbbb3441">
385 389
 <p>
386 390
 <a href="./apps.html">See here</a> for the complete list of apps. In addition to those as part of the base install you get an email server.
387 391
 </p>
388 392
 </div>
389 393
 </div>
390
-<div id="outline-container-org059603a" class="outline-2">
391
-<h2 id="org059603a">I don't have a static IP address. Can I still install this system?</h2>
392
-<div class="outline-text-2" id="text-org059603a">
394
+<div id="outline-container-orgd634a7c" class="outline-2">
395
+<h2 id="orgd634a7c">I don't have a static IP address. Can I still install this system?</h2>
396
+<div class="outline-text-2" id="text-orgd634a7c">
393 397
 <p>
394 398
 Yes. The minimum requirements are to have some hardware that you can install Debian onto and also that you have administrator access to your internet router so that you can forward ports to the system which has Freedombone installed.
395 399
 </p>
@@ -399,17 +403,17 @@ The lack of a static IP address can be worked around by using a dynamic DNS serv
399 403
 </p>
400 404
 </div>
401 405
 </div>
402
-<div id="outline-container-orgce17fc3" class="outline-2">
403
-<h2 id="orgce17fc3">Why Freedombone and not FreedomBox?</h2>
404
-<div class="outline-text-2" id="text-orgce17fc3">
406
+<div id="outline-container-org88331dc" class="outline-2">
407
+<h2 id="org88331dc">Why Freedombone and not FreedomBox?</h2>
408
+<div class="outline-text-2" id="text-org88331dc">
405 409
 <p>
406 410
 When the project began in late 2013 the FreedomBox project seemed to be going nowhere, and was only designed to work with the DreamPlug hardware. There was some new hardware out - the Beaglebone Black - which could run Debian and was also a free hardware design so seemed more appropriate. Hence the name "Freedombone", being like FreedomBox but on a Beaglebone. There are some similarities and differences between the two projects:
407 411
 </p>
408 412
 </div>
409 413
 
410
-<div id="outline-container-org7307d12" class="outline-3">
411
-<h3 id="org7307d12">Similarities</h3>
412
-<div class="outline-text-3" id="text-org7307d12">
414
+<div id="outline-container-org2f730a6" class="outline-3">
415
+<h3 id="org2f730a6">Similarities</h3>
416
+<div class="outline-text-3" id="text-org2f730a6">
413 417
 <ul class="org-ul">
414 418
 <li>Uses freedom-maker and vmdebootstrap to build debian images</li>
415 419
 <li>Supports the use of Tor onion addresses to access websites</li>
@@ -423,9 +427,9 @@ When the project began in late 2013 the FreedomBox project seemed to be going no
423 427
 </ul>
424 428
 </div>
425 429
 </div>
426
-<div id="outline-container-org1b7f29b" class="outline-3">
427
-<h3 id="org1b7f29b">Differences</h3>
428
-<div class="outline-text-3" id="text-org1b7f29b">
430
+<div id="outline-container-org54e066a" class="outline-3">
431
+<h3 id="org54e066a">Differences</h3>
432
+<div class="outline-text-3" id="text-org54e066a">
429 433
 <ul class="org-ul">
430 434
 <li>FreedomBox is a Debian pure blend. Freedombone is not</li>
431 435
 <li>Freedombone only supports Free Software. FreedomBox includes some closed binary boot blobs for certain ARM boards</li>
@@ -440,9 +444,9 @@ When the project began in late 2013 the FreedomBox project seemed to be going no
440 444
 </div>
441 445
 </div>
442 446
 </div>
443
-<div id="outline-container-org9455df3" class="outline-2">
444
-<h2 id="org9455df3">Why not support building images for Raspberry Pi?</h2>
445
-<div class="outline-text-2" id="text-org9455df3">
447
+<div id="outline-container-orgc55c3a9" class="outline-2">
448
+<h2 id="orgc55c3a9">Why not support building images for Raspberry Pi?</h2>
449
+<div class="outline-text-2" id="text-orgc55c3a9">
446 450
 <p>
447 451
 The FreedomBox project supports Raspberry Pi builds, and the image build system for Freedombone is based on the same system. However, although the Raspberry Pi can run a version of Debian it requires a closed proprietary blob in order to boot the hardware. Who knows what that blob might contain or what exploits it could facilitate. From an adversarial point of view if you were trying to deliver "bulk equipment interference" then it doesn't get any better than piggybacking on something which has control of the boot process, and hence all subsequently run processes.
448 452
 </p>
@@ -452,9 +456,9 @@ So although the Raspberry Pi is cheap and hugely popular it's not supported by t
452 456
 </p>
453 457
 </div>
454 458
 </div>
455
-<div id="outline-container-org78b57eb" class="outline-2">
456
-<h2 id="org78b57eb">Why use Tor? I've heard it's used by bad people</h2>
457
-<div class="outline-text-2" id="text-org78b57eb">
459
+<div id="outline-container-orga017b02" class="outline-2">
460
+<h2 id="orga017b02">Why use Tor? I've heard it's used by bad people</h2>
461
+<div class="outline-text-2" id="text-orga017b02">
458 462
 <p>
459 463
 Before you run screaming for the hills based upon whatever scare story you may have just read in the mainstream media there are a few things worthy of consideration. Tor is installed by default on Freedombone, <i>but not as a relay or exit node</i>. It's only used to provide onion addresses so that this gives you or the viewers of your sites some choice about how they access the information. It also allows you to subscribe to and read RSS feeds privately.
460 464
 </p>
@@ -472,9 +476,9 @@ The media may also have sold you torrid tales about individual Tor project devel
472 476
 </p>
473 477
 </div>
474 478
 </div>
475
-<div id="outline-container-org4b81ba4" class="outline-2">
476
-<h2 id="org4b81ba4">How is Tor integrated with Freedombone?</h2>
477
-<div class="outline-text-2" id="text-org4b81ba4">
479
+<div id="outline-container-org249c744" class="outline-2">
480
+<h2 id="org249c744">How is Tor integrated with Freedombone?</h2>
481
+<div class="outline-text-2" id="text-org249c744">
478 482
 <p>
479 483
 Within this project Tor is used more to provide <i>accessibility</i> than the <i>anonymity</i> factor for which Tor is better known. The onion address system provides a way of being able to access sites even if you don't own a conventional domain name or don't have administrator access to your local internet router to be able to do port forwarding.
480 484
 </p>
@@ -492,9 +496,17 @@ Even if you're running the "onion only" build, this only means that sites are ac
492 496
 </p>
493 497
 </div>
494 498
 </div>
495
-<div id="outline-container-orgb1114e4" class="outline-2">
496
-<h2 id="orgb1114e4">Why use Github?</h2>
497
-<div class="outline-text-2" id="text-orgb1114e4">
499
+<div id="outline-container-org7cecca6" class="outline-2">
500
+<h2 id="org7cecca6">Can I add a clearnet domain to an onion build?</h2>
501
+<div class="outline-text-2" id="text-org7cecca6">
502
+<p>
503
+You could if you manually edited the relevant nginx configuration files and installed some dynamic DNS system yourself. If you already have sysadmin knowledge then that's probably not too hard. But the builds created with the <b>onion-addresses-only</b> option aren't really intended to support access via clearnet domains.
504
+</p>
505
+</div>
506
+</div>
507
+<div id="outline-container-org851c64e" class="outline-2">
508
+<h2 id="org851c64e">Why use Github?</h2>
509
+<div class="outline-text-2" id="text-org851c64e">
498 510
 <p>
499 511
 Github is paradoxically a centralized, closed and proprietary system which happens to mostly host free and open source projects. Up until now it has been relatively benign, but at some point in the name of "growth" it will likely start becoming more evil, or just become like SourceForge - which was also once much loved by FOSS developers, but turned into a den of malvertizing.
500 512
 </p>
@@ -512,9 +524,9 @@ Currently many of the repositories used for applications which are not yet packa
512 524
 </p>
513 525
 </div>
514 526
 </div>
515
-<div id="outline-container-orgbc22fb9" class="outline-2">
516
-<h2 id="orgbc22fb9">Keys and emails should not be stored on servers. Why do you do that?</h2>
517
-<div class="outline-text-2" id="text-orgbc22fb9">
527
+<div id="outline-container-orgf317597" class="outline-2">
528
+<h2 id="orgf317597">Keys and emails should not be stored on servers. Why do you do that?</h2>
529
+<div class="outline-text-2" id="text-orgf317597">
518 530
 <p>
519 531
 Ordinarily this is good advice. However, the threat model for a device in your home is different from the one for a generic server in a massive warehouse. Compare and contrast:
520 532
 </p>
@@ -572,9 +584,9 @@ In the home environment a box with a good firewall and no GUI components install
572 584
 </div>
573 585
 </div>
574 586
 
575
-<div id="outline-container-org3de928d" class="outline-2">
576
-<h2 id="org3de928d">Why can't I access my .onion site with a Tor browser?</h2>
577
-<div class="outline-text-2" id="text-org3de928d">
587
+<div id="outline-container-org01f5e64" class="outline-2">
588
+<h2 id="org01f5e64">Why can't I access my .onion site with a Tor browser?</h2>
589
+<div class="outline-text-2" id="text-org01f5e64">
578 590
 <p>
579 591
 Probably you need to add the site to the NoScript whitelist. Typically click/press on the noscript icon (or select from the menu on mobile) then select <i>whitelist</i> and add the site URL. You may also need to disable HTTPS Everywhere when using onion addresses, which don't use https.
580 592
 </p>
@@ -584,9 +596,9 @@ Another factor to be aware of is that it can take a while for the onion address
584 596
 </p>
585 597
 </div>
586 598
 </div>
587
-<div id="outline-container-org90bb4b5" class="outline-2">
588
-<h2 id="org90bb4b5">What is the best hardware to run this system on?</h2>
589
-<div class="outline-text-2" id="text-org90bb4b5">
599
+<div id="outline-container-org38cbf46" class="outline-2">
600
+<h2 id="org38cbf46">What is the best hardware to run this system on?</h2>
601
+<div class="outline-text-2" id="text-org38cbf46">
590 602
 <p>
591 603
 It was originally designed to run on the Beaglebone Black, but that should be regarded as the most minimal system, because it's single core and has by today's standards a small amount of memory. Obviously the more powerful the hardware is the faster things like web pages (blog, social networking, etc) will be served but the more electricity such a system will require if you're running it 24/7. A good compromise between performance and energy consumption is something like an old netbook. The battery of an old netbook or laptop even gives you <a href="https://en.wikipedia.org/wiki/Uninterruptible_power_supply">UPS capability</a> to keep the system going during brief power outages or cable re-arrangements, and that means using full disk encryption on the server also becomes more practical.
592 604
 </p>
@@ -596,9 +608,9 @@ It was originally designed to run on the Beaglebone Black, but that should be re
596 608
 </p>
597 609
 </div>
598 610
 </div>
599
-<div id="outline-container-orgd28e6f4" class="outline-2">
600
-<h2 id="orgd28e6f4">Can I add more users to the system?</h2>
601
-<div class="outline-text-2" id="text-orgd28e6f4">
611
+<div id="outline-container-orgcce0278" class="outline-2">
612
+<h2 id="orgcce0278">Can I add more users to the system?</h2>
613
+<div class="outline-text-2" id="text-orgcce0278">
602 614
 <p>
603 615
 Yes. Freedombone can support a small number of users, for a "<i>friends and family</i>" type of home installation. This gives them access to an email account, XMPP, SIP phone and the blog (depending on whether the variant which you installed includes those).
604 616
 </p>
@@ -621,9 +633,9 @@ Another point is that Freedombone installations are not intended to support many
621 633
 </p>
622 634
 </div>
623 635
 </div>
624
-<div id="outline-container-org4f21c19" class="outline-2">
625
-<h2 id="org4f21c19">Why not use Signal for mobile chat?</h2>
626
-<div class="outline-text-2" id="text-org4f21c19">
636
+<div id="outline-container-org101140b" class="outline-2">
637
+<h2 id="org101140b">Why not use Signal for mobile chat?</h2>
638
+<div class="outline-text-2" id="text-org101140b">
627 639
 <p>
628 640
 Celebrities recommend Signal. It's Free Software so it must be good, right?
629 641
 </p>
@@ -646,9 +658,9 @@ To give credit where it's due Signal is good, but it could be a lot better. The
646 658
 </p>
647 659
 </div>
648 660
 </div>
649
-<div id="outline-container-orgfe6470e" class="outline-2">
650
-<h2 id="orgfe6470e">What is the most secure chat app to use on mobile?</h2>
651
-<div class="outline-text-2" id="text-orgfe6470e">
661
+<div id="outline-container-org8b50dde" class="outline-2">
662
+<h2 id="org8b50dde">What is the most secure chat app to use on mobile?</h2>
663
+<div class="outline-text-2" id="text-org8b50dde">
652 664
 <p>
653 665
 On mobile there are various options. The apps which are likely to be most secure are ones which have end-to-end encryption enabled by default and which can also be onion routed via Orbot. End-to-end encryption secures the content of the message and onion routing obscures the metadata, making it hard for a passive adversary to know who is communicating with who.
654 666
 </p>
@@ -658,13 +670,13 @@ The current safest way to chat is to use <a href="https://conversations.im">Conv
658 670
 </p>
659 671
 
660 672
 <p>
661
-There are many <a href="#org4f21c19">other fashionable chat apps</a> with end-to-end security, but often they are closed source, have a single central server or can't be onion routed. It's also important to remember that closed source chat apps should be assumed to be untrustworthy, since their security cannot be independently verified.
673
+There are many <a href="#org101140b">other fashionable chat apps</a> with end-to-end security, but often they are closed source, have a single central server or can't be onion routed. It's also important to remember that closed source chat apps should be assumed to be untrustworthy, since their security cannot be independently verified.
662 674
 </p>
663 675
 </div>
664 676
 </div>
665
-<div id="outline-container-org6813023" class="outline-2">
666
-<h2 id="org6813023">How do I remove a user from the system?</h2>
667
-<div class="outline-text-2" id="text-org6813023">
677
+<div id="outline-container-org20eaffc" class="outline-2">
678
+<h2 id="org20eaffc">How do I remove a user from the system?</h2>
679
+<div class="outline-text-2" id="text-org20eaffc">
668 680
 <p>
669 681
 To remove a user:
670 682
 </p>
@@ -679,9 +691,9 @@ Select <i>Administrator controls</i> then <i>Manage Users</i> and then <i>Delete
679 691
 </p>
680 692
 </div>
681 693
 </div>
682
-<div id="outline-container-org9ba4b0e" class="outline-2">
683
-<h2 id="org9ba4b0e">Why is logging for web sites turned off by default?</h2>
684
-<div class="outline-text-2" id="text-org9ba4b0e">
694
+<div id="outline-container-org209f0d6" class="outline-2">
695
+<h2 id="org209f0d6">Why is logging for web sites turned off by default?</h2>
696
+<div class="outline-text-2" id="text-org209f0d6">
685 697
 <p>
686 698
 If you're making profits out of the logs by running large server warehouses and then data mining what users click on - as is the business model of well known internet companies - then logging everything makes total sense. However, if you're running a home server then logging really only makes sense if you're trying to diagnose some specific problem with the system, and outside of that context logging everything becomes more of a liability than an asset.
687 699
 </p>
@@ -695,9 +707,9 @@ On the Freedombone system web logs containing IP addresses are turned off by def
695 707
 </p>
696 708
 </div>
697 709
 </div>
698
-<div id="outline-container-orge39d7dd" class="outline-2">
699
-<h2 id="orge39d7dd">How do I reset the tripwire?</h2>
700
-<div class="outline-text-2" id="text-orge39d7dd">
710
+<div id="outline-container-orga16e12a" class="outline-2">
711
+<h2 id="orga16e12a">How do I reset the tripwire?</h2>
712
+<div class="outline-text-2" id="text-orga16e12a">
701 713
 <p>
702 714
 The tripwire will be automatically reset once per week. If you want to reset it earlier then do the following:
703 715
 </p>
@@ -712,9 +724,9 @@ Select <i>Administrator controls</i> then "reset tripwire" using cursors and spa
712 724
 </p>
713 725
 </div>
714 726
 </div>
715
-<div id="outline-container-orgad498c1" class="outline-2">
716
-<h2 id="orgad498c1">Is metadata protected?</h2>
717
-<div class="outline-text-2" id="text-orgad498c1">
727
+<div id="outline-container-orgf085eb1" class="outline-2">
728
+<h2 id="orgf085eb1">Is metadata protected?</h2>
729
+<div class="outline-text-2" id="text-orgf085eb1">
718 730
 <blockquote>
719 731
 <p>
720 732
 "<i>We kill people based on metadata</i>"
@@ -730,9 +742,9 @@ Even when using Freedombone metadata analysis by third parties is still possible
730 742
 </p>
731 743
 </div>
732 744
 </div>
733
-<div id="outline-container-orgaf26822" class="outline-2">
734
-<h2 id="orgaf26822">How do I create email processing rules?</h2>
735
-<div class="outline-text-2" id="text-orgaf26822">
745
+<div id="outline-container-org20694ec" class="outline-2">
746
+<h2 id="org20694ec">How do I create email processing rules?</h2>
747
+<div class="outline-text-2" id="text-org20694ec">
736 748
 <div class="org-src-container">
737 749
 <pre><code class="src src-bash">ssh username@domainname -p 2222
738 750
 </code></pre>
@@ -788,9 +800,9 @@ Spamassassin is also available and within Mutt you can use the S (shift+s) key t
788 800
 </p>
789 801
 </div>
790 802
 </div>
791
-<div id="outline-container-org584e155" class="outline-2">
792
-<h2 id="org584e155">Why isn't dynamic DNS working?</h2>
793
-<div class="outline-text-2" id="text-org584e155">
803
+<div id="outline-container-orgf194d33" class="outline-2">
804
+<h2 id="orgf194d33">Why isn't dynamic DNS working?</h2>
805
+<div class="outline-text-2" id="text-orgf194d33">
794 806
 <p>
795 807
 If you run the command:
796 808
 </p>
@@ -813,9 +825,9 @@ https://www.privateinternetaccess.com/pages/whats-my-ip/
813 825
 </div>
814 826
 </div>
815 827
 
816
-<div id="outline-container-orgca8c34e" class="outline-2">
817
-<h2 id="orgca8c34e">How do I change my encryption settings?</h2>
818
-<div class="outline-text-2" id="text-orgca8c34e">
828
+<div id="outline-container-org04c8e6a" class="outline-2">
829
+<h2 id="org04c8e6a">How do I change my encryption settings?</h2>
830
+<div class="outline-text-2" id="text-org04c8e6a">
819 831
 <p>
820 832
 Suppose that some new encryption vulnerability has been announced and that you need to change your encryption settings. Maybe an algorithm thought to be secure is now no longer so and you need to remove it. You can change your settings by doing the following:
821 833
 </p>
@@ -830,9 +842,9 @@ Select <i>Administrator controls</i> then select <i>Security Settings</i>. You w
830 842
 </p>
831 843
 </div>
832 844
 </div>
833
-<div id="outline-container-org9742108" class="outline-2">
834
-<h2 id="org9742108">How do I get a domain name?</h2>
835
-<div class="outline-text-2" id="text-org9742108">
845
+<div id="outline-container-org4756925" class="outline-2">
846
+<h2 id="org4756925">How do I get a domain name?</h2>
847
+<div class="outline-text-2" id="text-org4756925">
836 848
 <p>
837 849
 Suppose that you have bought a domain name (rather than using a free subdomain on freedns) and you want to use that instead.
838 850
 </p>
@@ -896,9 +908,9 @@ You should now be able to send an email from <i>postmaster@mynewdomainname</i> a
896 908
 </div>
897 909
 </div>
898 910
 
899
-<div id="outline-container-org3ba4e5b" class="outline-2">
900
-<h2 id="org3ba4e5b">How do I get a "real" SSL/TLS/HTTPS certificate?</h2>
901
-<div class="outline-text-2" id="text-org3ba4e5b">
911
+<div id="outline-container-org0580486" class="outline-2">
912
+<h2 id="org0580486">How do I get a "real" SSL/TLS/HTTPS certificate?</h2>
913
+<div class="outline-text-2" id="text-org0580486">
902 914
 <p>
903 915
 If you did the full install or selected the social variant then the system will have tried to obtain a Let's Encrypt certificate automatically during the install process. If this failed for any reason, or if you have created a new site which you need a certificate for then do the following:
904 916
 </p>
@@ -917,9 +929,9 @@ One thing to be aware of is that Let's Encrypt doesn't support many dynamic DNS
917 929
 </p>
918 930
 </div>
919 931
 </div>
920
-<div id="outline-container-orgf99af92" class="outline-2">
921
-<h2 id="orgf99af92">How do I renew a Let's Encrypt certificate?</h2>
922
-<div class="outline-text-2" id="text-orgf99af92">
932
+<div id="outline-container-org689608f" class="outline-2">
933
+<h2 id="org689608f">How do I renew a Let's Encrypt certificate?</h2>
934
+<div class="outline-text-2" id="text-org689608f">
923 935
 <p>
924 936
 Normally certificates will be automatically renewed once per month, so you don't need to be concerned about it. If anything goes wrong with the automatic renewal then you should receive a warning email.
925 937
 </p>
@@ -938,9 +950,9 @@ Select <i>Administrator controls</i> then <b>Security settings</b> then <b>Renew
938 950
 </p>
939 951
 </div>
940 952
 </div>
941
-<div id="outline-container-org64e189a" class="outline-2">
942
-<h2 id="org64e189a">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</h2>
943
-<div class="outline-text-2" id="text-org64e189a">
953
+<div id="outline-container-org00c9fac" class="outline-2">
954
+<h2 id="org00c9fac">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</h2>
955
+<div class="outline-text-2" id="text-org00c9fac">
944 956
 <p>
945 957
 Most likely it's because Let's Encrypt doesn't support your particular domain or subdomain. Currently free subdomains tend not to work. You'll need to buy a domain name, link it to your dynamic DNS account and then do:
946 958
 </p>
@@ -955,17 +967,17 @@ Select <i>Administrator controls</i> then <b>Security settings</b> then <b>Creat
955 967
 </p>
956 968
 </div>
957 969
 </div>
958
-<div id="outline-container-org896c14a" class="outline-2">
959
-<h2 id="org896c14a">Why not use the services of $company instead? They took the Seppuku pledge</h2>
960
-<div class="outline-text-2" id="text-org896c14a">
970
+<div id="outline-container-org7f1159a" class="outline-2">
971
+<h2 id="org7f1159a">Why not use the services of $company instead? They took the Seppuku pledge</h2>
972
+<div class="outline-text-2" id="text-org7f1159a">
961 973
 <p>
962 974
 <a href="https://cryptostorm.org/viewtopic.php?f=63&amp;t=2954&amp;sid=7de2d1e699cfde2f574e6a7f6ea5a173">That pledge</a> is utterly worthless. Years ago people trusted Google in the same sort of way, because they promised not be be evil and because a lot of the engineers working for them seemed like honest types who were "<i>on our side</i>". Post-<a href="https://en.wikipedia.org/wiki/Nymwars">nymwars</a> and post-<a href="https://en.wikipedia.org/wiki/PRISM_(surveillance_program)">PRISM</a> we know exactly how much Google cared about the privacy and security of its users. But Google is only one particular example. In general don't trust pledges made by companies, even if the people running them seem really sincere.
963 975
 </p>
964 976
 </div>
965 977
 </div>
966
-<div id="outline-container-org1f1886b" class="outline-2">
967
-<h2 id="org1f1886b">Why does my email keep getting rejected as spam by Gmail/etc?</h2>
968
-<div class="outline-text-2" id="text-org1f1886b">
978
+<div id="outline-container-org5459287" class="outline-2">
979
+<h2 id="org5459287">Why does my email keep getting rejected as spam by Gmail/etc?</h2>
980
+<div class="outline-text-2" id="text-org5459287">
969 981
 <p>
970 982
 Welcome to the world of email. Email is really the archetypal decentralized service, developed during the early days of the internet. In principle anyone can run an email server, and that's exactly what you're doing with Freedombone. Email is very useful, but it has a big problem, and that's that the protocols are totally insecure. That made it easy for spammers to do their thing, and in response highly elaborate spam filtering and blocking systems were developed. Chances are that your emails are being blocked in this way. Sometimes the blocking is so indisciminate that entire countries are excluded. What can you do about it? Unless you control the block list at the receiving end you may not be able to do much unless you can find an email proxy server which is trusted by the receiving server.
971 983
 </p>
@@ -996,9 +1008,9 @@ So the situation with email presently is pretty bad, and there's a clear selecti
996 1008
 </p>
997 1009
 </div>
998 1010
 </div>
999
-<div id="outline-container-org51d8596" class="outline-2">
1000
-<h2 id="org51d8596">Tor is censored/blocked in my area. What can I do?</h2>
1001
-<div class="outline-text-2" id="text-org51d8596">
1011
+<div id="outline-container-org108fab6" class="outline-2">
1012
+<h2 id="org108fab6">Tor is censored/blocked in my area. What can I do?</h2>
1013
+<div class="outline-text-2" id="text-org108fab6">
1002 1014
 <p>
1003 1015
 If you can find some details for an obfs4 Tor bridge (its IP address, port number and key or nickname) then you can set up the system to use it to connect to the Tor network. Unlike relay nodes the IP addresses for bridges are not public information and so can't be easily known and added to block lists by authoritarian regimes or over-zealous ISPs.
1004 1016
 </p>
@@ -1029,9 +1041,9 @@ Return to the <a href="index.html">home page</a>
1029 1041
 </div>
1030 1042
 </div>
1031 1043
 
1032
-<div id="outline-container-orgaeba5cb" class="outline-2">
1033
-<h2 id="orgaeba5cb">I want to block a particular domain from getting its content into my social network sites</h2>
1034
-<div class="outline-text-2" id="text-orgaeba5cb">
1044
+<div id="outline-container-orgaeeac02" class="outline-2">
1045
+<h2 id="orgaeeac02">I want to block a particular domain from getting its content into my social network sites</h2>
1046
+<div class="outline-text-2" id="text-orgaeeac02">
1035 1047
 <p>
1036 1048
 If you're being pestered by some domain which contains bad/illegal/harrassing content or irritating users you can block domains at the firewall level. Go to the administrator control panel and select <i>domain blocking</i>. You can then block, unblock and view the list of blocked domains.
1037 1049
 </p>
@@ -1046,9 +1058,9 @@ Select <i>Administrator controls</i> then <i>Domain blocking</i>.
1046 1058
 </div>
1047 1059
 </div>
1048 1060
 
1049
-<div id="outline-container-org021f197" class="outline-2">
1050
-<h2 id="org021f197">The mesh system doesn't boot from USB drive</h2>
1051
-<div class="outline-text-2" id="text-org021f197">
1061
+<div id="outline-container-orgfefb387" class="outline-2">
1062
+<h2 id="orgfefb387">The mesh system doesn't boot from USB drive</h2>
1063
+<div class="outline-text-2" id="text-orgfefb387">
1052 1064
 <p>
1053 1065
 If the system doesn't boot and reports an error which includes <b>/dev/mapper/loop0p1</b> then reboot with <b>Ctrl-Alt-Del</b> and when you see the grub menu press <b>e</b> and manually change <b>/dev/mapper/loop0p1</b> to <b>/dev/sdb1</b>, then press <b>Ctrl-x</b>. If that doesn't work then reboot and try <b>/dev/sdc1</b> instead.
1054 1066
 </p>

+ 3
- 2
website/EN/homeserver.html Ver fichero

@@ -3,7 +3,7 @@
3 3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5 5
 <head>
6
-<!-- 2017-09-12 Tue 10:06 -->
6
+<!-- 2017-09-15 Fri 22:17 -->
7 7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8 8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9 9
 <title></title>
@@ -340,7 +340,8 @@ You can now copy the image to the USB thumb drive, replacing <b>sdX</b> with the
340 340
 </p>
341 341
 
342 342
 <div class="org-src-container">
343
-<pre><code class="src src-bash">dd <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">if</span>=myimagefile.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync
343
+<pre><code class="src src-bash">dd <span class="org-variable-name">if</span>=/dev/zero <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">count</span>=8
344
+dd <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">if</span>=myimagefile.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync
344 345
 </code></pre>
345 346
 </div>
346 347
 

+ 54
- 51
website/EN/mesh.html Ver fichero

@@ -3,7 +3,7 @@
3 3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5 5
 <head>
6
-<!-- 2017-07-04 Tue 10:14 -->
6
+<!-- 2017-09-15 Fri 22:19 -->
7 7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8 8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9 9
 <title></title>
@@ -274,13 +274,13 @@ for the JavaScript code in this tag.
274 274
 </colgroup>
275 275
 <tbody>
276 276
 <tr>
277
-<td class="org-left"><a href="#org43720c8">What the system can do</a></td>
277
+<td class="org-left"><a href="#orgc6406cc">What the system can do</a></td>
278 278
 <td class="org-left">-</td>
279
-<td class="org-left"><a href="#orgf236d1b">Disk Images</a></td>
279
+<td class="org-left"><a href="#orgf24c15c">Disk Images</a></td>
280 280
 <td class="org-left">-</td>
281
-<td class="org-left"><a href="#org3279497">Building Disk Images</a></td>
281
+<td class="org-left"><a href="#org08c02eb">Building Disk Images</a></td>
282 282
 <td class="org-left">-</td>
283
-<td class="org-left"><a href="#org52b6ecb">How to use it</a></td>
283
+<td class="org-left"><a href="#orgfce6a77">How to use it</a></td>
284 284
 </tr>
285 285
 </tbody>
286 286
 </table>
@@ -293,9 +293,9 @@ The Freedombone Mesh is a wireless solution for autonomous communication that ca
293 293
 Mesh networks are useful as a quick way to make a fully decentralised communications system which is not connected to or reliant upon the internet. Think festivals, hacker conferences, onboard ships at sea, disaster/war zones, small business internal office communications, protests, remote areas of the world, temporary "digital blackouts", scientific expeditions and off-world space colonies. The down side is that you can't access any internet content. The upside is that you can securely communicate with anyone on the local mesh. No ISPs. No payments or subscriptions beyond the cost of obtaining the hardware. Systems need to be within wifi range of each other for the mesh to be created. It can be an ultra-convenient way to do purely local communications.
294 294
 </p>
295 295
 
296
-<div id="outline-container-org43720c8" class="outline-2">
297
-<h2 id="org43720c8">What the system can do</h2>
298
-<div class="outline-text-2" id="text-org43720c8">
296
+<div id="outline-container-orgc6406cc" class="outline-2">
297
+<h2 id="orgc6406cc">What the system can do</h2>
298
+<div class="outline-text-2" id="text-orgc6406cc">
299 299
 <ul class="org-ul">
300 300
 <li>Discovery of other users on the network</li>
301 301
 <li>Text based chat, one-to-one and in groups</li>
@@ -316,13 +316,13 @@ This system should be quite scalable. Both qTox and IPFS are based upon distribu
316 316
 </div>
317 317
 </div>
318 318
 
319
-<div id="outline-container-orgf236d1b" class="outline-2">
320
-<h2 id="orgf236d1b">Disk Images</h2>
321
-<div class="outline-text-2" id="text-orgf236d1b">
319
+<div id="outline-container-orgf24c15c" class="outline-2">
320
+<h2 id="orgf24c15c">Disk Images</h2>
321
+<div class="outline-text-2" id="text-orgf24c15c">
322 322
 </div>
323
-<div id="outline-container-org84d3aa9" class="outline-3">
324
-<h3 id="org84d3aa9">Writing many images quickly</h3>
325
-<div class="outline-text-3" id="text-org84d3aa9">
323
+<div id="outline-container-org88842fc" class="outline-3">
324
+<h3 id="org88842fc">Writing many images quickly</h3>
325
+<div class="outline-text-3" id="text-org88842fc">
326 326
 <p>
327 327
 There may be situations where you need to write the same disk image to multiple drives at the same time in order to maximize rate of deployment. In the instructions given below the <b>dd</b> command is used for writing to the target drive, but to write to multiple drives you can use a tool such as <a href="https://wiki.gnome.org/Apps/MultiWriter">GNOME MultiWriter</a>.
328 328
 </p>
@@ -346,9 +346,9 @@ Or on Debian based systems:
346 346
 </div>
347 347
 </div>
348 348
 </div>
349
-<div id="outline-container-orga950e86" class="outline-3">
350
-<h3 id="orga950e86">Client images</h3>
351
-<div class="outline-text-3" id="text-orga950e86">
349
+<div id="outline-container-org4a8b638" class="outline-3">
350
+<h3 id="org4a8b638">Client images</h3>
351
+<div class="outline-text-3" id="text-org4a8b638">
352 352
 <div class="org-center">
353 353
 
354 354
 <div class="figure">
@@ -369,6 +369,7 @@ gpg --verify freedombone-meshclient-3_all-i386.img.xz.sig
369 369
 sha256sum freedombone-meshclient-3_all-i386.img.xz
370 370
 74f9eaad479f84d3bf9cb002067074d35a97028145e781c5746c74577f777ee5
371 371
 unxz freedombone-meshclient-3_all-i386.img.xz
372
+sudo dd <span class="org-variable-name">if</span>=/dev/zero <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">count</span>=8
372 373
 sudo dd <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">if</span>=freedombone-meshclient-3_all-i386.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync
373 374
 </code></pre>
374 375
 </div>
@@ -389,22 +390,23 @@ gpg --verify freedombone-meshclient-insecure-3_all-i386.img.xz.sig
389 390
 sha256sum freedombone-meshclient-insecure-3_all-i386.img.xz
390 391
 f1c5df24a4bfca47bd5c41dfd2568925e63a1abf83aecf0250480b4b8edc071d
391 392
 unxz freedombone-meshclient-insecure-3_all-i386.img.xz
393
+sudo dd <span class="org-variable-name">if</span>=/dev/zero <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">count</span>=8
392 394
 sudo dd <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">if</span>=freedombone-meshclient-insecure-3_all-i386.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync
393 395
 </code></pre>
394 396
 </div>
395 397
 </div>
396 398
 </div>
397 399
 
398
-<div id="outline-container-org7a83803" class="outline-3">
399
-<h3 id="org7a83803">Router images</h3>
400
-<div class="outline-text-3" id="text-org7a83803">
400
+<div id="outline-container-org519744c" class="outline-3">
401
+<h3 id="org519744c">Router images</h3>
402
+<div class="outline-text-3" id="text-org519744c">
401 403
 <p>
402 404
 Routers are intended to build network coverage for an area using small and low cost hardware. You can bolt them to walls or leave them on window ledges. They don't have any user interface and their only job is to haul network traffic across the mesh and to enable peers to find each other via running bootstrap nodes for Tox and IPFS. Copy the image to a microSD card and insert it into the router, plug in an Atheros wifi dongle and power on. That should be all you need to do.
403 405
 </p>
404 406
 </div>
405
-<div id="outline-container-orgff96209" class="outline-4">
406
-<h4 id="orgff96209">Beaglebone Black</h4>
407
-<div class="outline-text-4" id="text-orgff96209">
407
+<div id="outline-container-org909807a" class="outline-4">
408
+<h4 id="org909807a">Beaglebone Black</h4>
409
+<div class="outline-text-4" id="text-org909807a">
408 410
 <div class="org-center">
409 411
 
410 412
 <div class="figure">
@@ -441,9 +443,9 @@ There is still a software freedom issue with the Beaglebone Black, but it doesn'
441 443
 </div>
442 444
 </div>
443 445
 
444
-<div id="outline-container-org3279497" class="outline-2">
445
-<h2 id="org3279497">Building Disk Images</h2>
446
-<div class="outline-text-2" id="text-org3279497">
446
+<div id="outline-container-org08c02eb" class="outline-2">
447
+<h2 id="org08c02eb">Building Disk Images</h2>
448
+<div class="outline-text-2" id="text-org08c02eb">
447 449
 <p>
448 450
 It's better not to trust images downloaded from random places on the interwebs. Chances are that unless you are in the web of trust of the above GPG signatures then they don't mean very much to you. If you actually want something trustworthy then build the images from scratch. It will take some time. Here's how to do it.
449 451
 </p>
@@ -499,7 +501,8 @@ You can now copy the image to the USB thumb drive, replacing <b>sdX</b> with the
499 501
 </p>
500 502
 
501 503
 <div class="org-src-container">
502
-<pre><code class="src src-bash">sudo dd <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">if</span>=myimagefile.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync
504
+<pre><code class="src src-bash">sudo dd <span class="org-variable-name">if</span>=/dev/zero <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">count</span>=8
505
+sudo dd <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">if</span>=myimagefile.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync
503 506
 </code></pre>
504 507
 </div>
505 508
 
@@ -530,9 +533,9 @@ The resulting image can be copied to a microSD card, inserted into a Beaglebone
530 533
 </div>
531 534
 </div>
532 535
 
533
-<div id="outline-container-org8da4b39" class="outline-2">
534
-<h2 id="org8da4b39">Customisation</h2>
535
-<div class="outline-text-2" id="text-org8da4b39">
536
+<div id="outline-container-org0dec35a" class="outline-2">
537
+<h2 id="org0dec35a">Customisation</h2>
538
+<div class="outline-text-2" id="text-org0dec35a">
536 539
 <p>
537 540
 If you want to make your own specially branded version, such as for a particular event, then to change the default desktop backgrounds edit the images within <b>img/backgrounds</b> and to change the available avatars and desktop icons edit the images within <b>img/avatars</b>. Re-create disk images using the instructions shown previously.
538 541
 </p>
@@ -542,9 +545,9 @@ If you need particular <i>dconf</i> commands to alter desktop appearance or beha
542 545
 </p>
543 546
 </div>
544 547
 </div>
545
-<div id="outline-container-org52b6ecb" class="outline-2">
546
-<h2 id="org52b6ecb">How to use it</h2>
547
-<div class="outline-text-2" id="text-org52b6ecb">
548
+<div id="outline-container-orgfce6a77" class="outline-2">
549
+<h2 id="orgfce6a77">How to use it</h2>
550
+<div class="outline-text-2" id="text-orgfce6a77">
548 551
 <p>
549 552
 When you first boot from the USB drive the system will create some encryption keys, assign a unique network address to the system and then reboot itself. When that's done you should see a prompt asking for a username. This username just makes it easy for others to initially find you on the mesh and will appear in the list of users.
550 553
 </p>
@@ -554,9 +557,9 @@ After a minute or two if you are within wifi range and there is at least one oth
554 557
 </p>
555 558
 </div>
556 559
 
557
-<div id="outline-container-org218c967" class="outline-3">
558
-<h3 id="org218c967">Boot trouble</h3>
559
-<div class="outline-text-3" id="text-org218c967">
560
+<div id="outline-container-org2a6eb8c" class="outline-3">
561
+<h3 id="org2a6eb8c">Boot trouble</h3>
562
+<div class="outline-text-3" id="text-org2a6eb8c">
560 563
 <p>
561 564
 If the system doesn't boot and reports an error which includes <b>/dev/mapper/loop0p1</b> then reboot with <b>Ctrl-Alt-Del</b> and when you see the grub menu press <b>e</b> and manually change <b>/dev/mapper/loop0p1</b> to <b>/dev/sdb1</b>, then press <b>Ctrl-x</b>. If that doesn't work then reboot and try <b>/dev/sdc1</b> instead.
562 565
 </p>
@@ -566,9 +569,9 @@ After the system has booted successfully the problem should resolve itself on su
566 569
 </p>
567 570
 </div>
568 571
 </div>
569
-<div id="outline-container-org6c9bd07" class="outline-3">
570
-<h3 id="org6c9bd07">Set the Date</h3>
571
-<div class="outline-text-3" id="text-org6c9bd07">
572
+<div id="outline-container-org92cd6d5" class="outline-3">
573
+<h3 id="org92cd6d5">Set the Date</h3>
574
+<div class="outline-text-3" id="text-org92cd6d5">
572 575
 <p>
573 576
 On the ordinary internet the date and time of your system would be set automatically via NTP. But this is not the internet and so you will need to manually ensure that your date and time settings are correct. You might need to periodically do this if your clock drifts. It's not essential that the time on your system be highly accurate, but if it drifts too far or goes back to epoch then things could become a little confusing in regard to the order of blog posts.
574 577
 </p>
@@ -578,9 +581,9 @@ On the ordinary internet the date and time of your system would be set automatic
578 581
 </p>
579 582
 </div>
580 583
 </div>
581
-<div id="outline-container-org351f6a2" class="outline-3">
582
-<h3 id="org351f6a2">Check network status</h3>
583
-<div class="outline-text-3" id="text-org351f6a2">
584
+<div id="outline-container-org2aa12f0" class="outline-3">
585
+<h3 id="org2aa12f0">Check network status</h3>
586
+<div class="outline-text-3" id="text-org2aa12f0">
584 587
 <p>
585 588
 Unlike with ordinary wifi, on the mesh you don't get a signal strength icon and so it's not simple to see if you have a good connection.
586 589
 </p>
@@ -604,9 +607,9 @@ When you are finished close the window and then select the <i>Network Restart</i
604 607
 </div>
605 608
 </div>
606 609
 
607
-<div id="outline-container-org90f8f7b" class="outline-3">
608
-<h3 id="org90f8f7b">Chat System</h3>
609
-<div class="outline-text-3" id="text-org90f8f7b">
610
+<div id="outline-container-org2f1dfa6" class="outline-3">
611
+<h3 id="org2f1dfa6">Chat System</h3>
612
+<div class="outline-text-3" id="text-org2f1dfa6">
610 613
 <p>
611 614
 Ensure that you're within wifi range of at least one other mesh peer (could be a router or client) and then you should see that the <i>Chat</i> and <i>Other Users</i> icons appear. Select the users icon and you should see a list of users on the mesh. Select the <i>Chat</i> icon and once you are connected you should see the status light turn green. If after a few minutes you don't get the green status light then try closing and re-opening the Tox chat application. Select the plus button to add a friend and then copy and paste in a Tox ID from the users list.
612 615
 </p>
@@ -665,9 +668,9 @@ At present video doesn't work reliably, but text and voice chat do work well.
665 668
 </div>
666 669
 </div>
667 670
 
668
-<div id="outline-container-orgb0ff834" class="outline-3">
669
-<h3 id="orgb0ff834">Sharing Files</h3>
670
-<div class="outline-text-3" id="text-orgb0ff834">
671
+<div id="outline-container-org75993b2" class="outline-3">
672
+<h3 id="org75993b2">Sharing Files</h3>
673
+<div class="outline-text-3" id="text-org75993b2">
671 674
 <p>
672 675
 You can make files publicly available on the network simply by dragging and dropping them into the <i>Public</i> folder on the desktop. To view the files belonging to another user select the desktop icon called <i>Visit a site</i> and enter the username or Tox ID of the other user.
673 676
 </p>
@@ -682,9 +685,9 @@ You can make files publicly available on the network simply by dragging and drop
682 685
 </div>
683 686
 </div>
684 687
 
685
-<div id="outline-container-org9f54fb7" class="outline-3">
686
-<h3 id="org9f54fb7">Blogging</h3>
687
-<div class="outline-text-3" id="text-org9f54fb7">
688
+<div id="outline-container-org86cab79" class="outline-3">
689
+<h3 id="org86cab79">Blogging</h3>
690
+<div class="outline-text-3" id="text-org86cab79">
688 691
 <p>
689 692
 To create a blog post select the <i>Blog</i> icon on the desktop and then use the up and down cursor keys, space bar and enter key to add a new entry. Edit the title of the entry and add your text. You can also include photos if you wish - just copy them to the <b>CreateBlog/content/images</b> directory and then link to them as shown.
690 693
 </p>