Browse Source

home versus warehouse

Bob Mottram 9 years ago
parent
commit
18f0cf8c59
No account linked to committer's email
2 changed files with 253 additions and 91 deletions
  1. 15
    0
      doc/EN/faq.org
  2. 238
    91
      website/EN/faq.html

+ 15
- 0
doc/EN/faq.org View File

21
 | [[I don't have a static IP address. Can I still install this system?]]            |
21
 | [[I don't have a static IP address. Can I still install this system?]]            |
22
 | [[Why not support building images for Raspberry Pi?]]                             |
22
 | [[Why not support building images for Raspberry Pi?]]                             |
23
 | [[Why use Github?]]                                                               |
23
 | [[Why use Github?]]                                                               |
24
+| [[Keys and emails should not be stored on servers. Why do you do that?]]          |
24
 | [[./mirrors.html][I have a question about mirrors or upstream repositories]]                      |
25
 | [[./mirrors.html][I have a question about mirrors or upstream repositories]]                      |
25
 | [[Why can't I access my .onion site with a Tor browser?]]                         |
26
 | [[Why can't I access my .onion site with a Tor browser?]]                         |
26
 | [[What is the best hardware to run this system on?]]                              |
27
 | [[What is the best hardware to run this system on?]]                              |
58
 The source code for this project is experimentally independently hosted, and it is expected that in future the main development will shift over to an independent site, maybe with mirrors on Github if it still exists in a viable form.
59
 The source code for this project is experimentally independently hosted, and it is expected that in future the main development will shift over to an independent site, maybe with mirrors on Github if it still exists in a viable form.
59
 
60
 
60
 Currently many of the repositories used for applications which are not yet packaged for Debian are on Github, and to provide some degree of resilliance against depending too much upon that it's possible to use [[./mirrors.html][mirrors stored on another server]].
61
 Currently many of the repositories used for applications which are not yet packaged for Debian are on Github, and to provide some degree of resilliance against depending too much upon that it's possible to use [[./mirrors.html][mirrors stored on another server]].
62
+* Keys and emails should not be stored on servers. Why do you do that?
63
+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:
64
+
65
+| At home                                        | In a warehouse                                                 |
66
+|------------------------------------------------+----------------------------------------------------------------|
67
+| Accessible to a small number of people         | Accessible to possibly many random strangers                   |
68
+| You control the environment                    | You have no control over the warehouse                         |
69
+| You know what gets plugged in to the box       | Anything could be plugged in to the box and you might not know |
70
+| You know where your home is                    | The warehouse could be anywhere in the world                   |
71
+| Normally requires a warrant to search          | Requires little or no justification to search                  |
72
+| You know what jurisdiction your home is within | You may have no idea what jurisdiction the warehouse is within |
73
+
74
+In the home environment a box with a good firewall and no GUI components installed may be much more secure than the end points, such as laptops and phones.
75
+
61
 * Why can't I access my .onion site with a Tor browser?
76
 * Why can't I access my .onion site with a Tor browser?
62
 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 /whitelist/ and add the site URL. You may also need to disable HTTPS Everywhere when using onion addresses, which don't use https.
77
 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 /whitelist/ and add the site URL. You may also need to disable HTTPS Everywhere when using onion addresses, which don't use https.
63
 * What is the best hardware to run this system on?
78
 * What is the best hardware to run this system on?

+ 238
- 91
website/EN/faq.html View File

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
-<!-- 2016-06-18 Sat 22:20 -->
6
+<!-- 2016-06-21 Tue 17:35 -->
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></title>
9
 <title></title>
56
     border: 1px solid black;
56
     border: 1px solid black;
57
   }
57
   }
58
   pre.src:hover:before { display: inline;}
58
   pre.src:hover:before { display: inline;}
59
-  pre.src-sh:before    { content: 'sh'; }
60
-  pre.src-bash:before  { content: 'sh'; }
59
+  /* Languages per Org manual */
60
+  pre.src-asymptote:before { content: 'Asymptote'; }
61
+  pre.src-awk:before { content: 'Awk'; }
62
+  pre.src-C:before { content: 'C'; }
63
+  /* pre.src-C++ doesn't work in CSS */
64
+  pre.src-clojure:before { content: 'Clojure'; }
65
+  pre.src-css:before { content: 'CSS'; }
66
+  pre.src-D:before { content: 'D'; }
67
+  pre.src-ditaa:before { content: 'ditaa'; }
68
+  pre.src-dot:before { content: 'Graphviz'; }
69
+  pre.src-calc:before { content: 'Emacs Calc'; }
61
   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
70
   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
62
-  pre.src-R:before     { content: 'R'; }
63
-  pre.src-perl:before  { content: 'Perl'; }
64
-  pre.src-java:before  { content: 'Java'; }
65
-  pre.src-sql:before   { content: 'SQL'; }
71
+  pre.src-fortran:before { content: 'Fortran'; }
72
+  pre.src-gnuplot:before { content: 'gnuplot'; }
73
+  pre.src-haskell:before { content: 'Haskell'; }
74
+  pre.src-java:before { content: 'Java'; }
75
+  pre.src-js:before { content: 'Javascript'; }
76
+  pre.src-latex:before { content: 'LaTeX'; }
77
+  pre.src-ledger:before { content: 'Ledger'; }
78
+  pre.src-lisp:before { content: 'Lisp'; }
79
+  pre.src-lilypond:before { content: 'Lilypond'; }
80
+  pre.src-matlab:before { content: 'MATLAB'; }
81
+  pre.src-mscgen:before { content: 'Mscgen'; }
82
+  pre.src-ocaml:before { content: 'Objective Caml'; }
83
+  pre.src-octave:before { content: 'Octave'; }
84
+  pre.src-org:before { content: 'Org mode'; }
85
+  pre.src-oz:before { content: 'OZ'; }
86
+  pre.src-plantuml:before { content: 'Plantuml'; }
87
+  pre.src-processing:before { content: 'Processing.js'; }
88
+  pre.src-python:before { content: 'Python'; }
89
+  pre.src-R:before { content: 'R'; }
90
+  pre.src-ruby:before { content: 'Ruby'; }
91
+  pre.src-sass:before { content: 'Sass'; }
92
+  pre.src-scheme:before { content: 'Scheme'; }
93
+  pre.src-screen:before { content: 'Gnu Screen'; }
94
+  pre.src-sed:before { content: 'Sed'; }
95
+  pre.src-sh:before { content: 'shell'; }
96
+  pre.src-sql:before { content: 'SQL'; }
97
+  pre.src-sqlite:before { content: 'SQLite'; }
98
+  /* additional languages in org.el's org-babel-load-languages alist */
99
+  pre.src-forth:before { content: 'Forth'; }
100
+  pre.src-io:before { content: 'IO'; }
101
+  pre.src-J:before { content: 'J'; }
102
+  pre.src-makefile:before { content: 'Makefile'; }
103
+  pre.src-maxima:before { content: 'Maxima'; }
104
+  pre.src-perl:before { content: 'Perl'; }
105
+  pre.src-picolisp:before { content: 'Pico Lisp'; }
106
+  pre.src-scala:before { content: 'Scala'; }
107
+  pre.src-shell:before { content: 'Shell Script'; }
108
+  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
109
+  /* additional language identifiers per "defun org-babel-execute"
110
+       in ob-*.el */
111
+  pre.src-cpp:before  { content: 'C++'; }
112
+  pre.src-abc:before  { content: 'ABC'; }
113
+  pre.src-coq:before  { content: 'Coq'; }
114
+  pre.src-groovy:before  { content: 'Groovy'; }
115
+  /* additional language identifiers from org-babel-shell-names in
116
+     ob-shell.el: ob-shell is the only babel language using a lambda to put
117
+     the execution function name together. */
118
+  pre.src-bash:before  { content: 'bash'; }
119
+  pre.src-csh:before  { content: 'csh'; }
120
+  pre.src-ash:before  { content: 'ash'; }
121
+  pre.src-dash:before  { content: 'dash'; }
122
+  pre.src-ksh:before  { content: 'ksh'; }
123
+  pre.src-mksh:before  { content: 'mksh'; }
124
+  pre.src-posh:before  { content: 'posh'; }
125
+  /* Additional Emacs modes also supported by the LaTeX listings package */
126
+  pre.src-ada:before { content: 'Ada'; }
127
+  pre.src-asm:before { content: 'Assembler'; }
128
+  pre.src-caml:before { content: 'Caml'; }
129
+  pre.src-delphi:before { content: 'Delphi'; }
130
+  pre.src-html:before { content: 'HTML'; }
131
+  pre.src-idl:before { content: 'IDL'; }
132
+  pre.src-mercury:before { content: 'Mercury'; }
133
+  pre.src-metapost:before { content: 'MetaPost'; }
134
+  pre.src-modula-2:before { content: 'Modula-2'; }
135
+  pre.src-pascal:before { content: 'Pascal'; }
136
+  pre.src-ps:before { content: 'PostScript'; }
137
+  pre.src-prolog:before { content: 'Prolog'; }
138
+  pre.src-simula:before { content: 'Simula'; }
139
+  pre.src-tcl:before { content: 'tcl'; }
140
+  pre.src-tex:before { content: 'TeX'; }
141
+  pre.src-plain-tex:before { content: 'Plain TeX'; }
142
+  pre.src-verilog:before { content: 'Verilog'; }
143
+  pre.src-vhdl:before { content: 'VHDL'; }
144
+  pre.src-xml:before { content: 'XML'; }
145
+  pre.src-nxml:before { content: 'XML'; }
146
+  /* add a generic configuration mode; LaTeX export needs an additional
147
+     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
148
+  pre.src-conf:before { content: 'Configuration File'; }
66
 
149
 
67
   table { border-collapse:collapse; }
150
   table { border-collapse:collapse; }
68
   caption.t-above { caption-side: top; }
151
   caption.t-above { caption-side: top; }
171
 </colgroup>
254
 </colgroup>
172
 <tbody>
255
 <tbody>
173
 <tr>
256
 <tr>
174
-<td class="org-left"><a href="#orgaa65e48">I don't have a static IP address. Can I still install this system?</a></td>
257
+<td class="org-left"><a href="#org5833119">I don't have a static IP address. Can I still install this system?</a></td>
175
 </tr>
258
 </tr>
176
 
259
 
177
 <tr>
260
 <tr>
178
-<td class="org-left"><a href="#org4234396">Why not support building images for Raspberry Pi?</a></td>
261
+<td class="org-left"><a href="#orga38e025">Why not support building images for Raspberry Pi?</a></td>
179
 </tr>
262
 </tr>
180
 
263
 
181
 <tr>
264
 <tr>
182
-<td class="org-left"><a href="#org1c08189">Why use Github?</a></td>
265
+<td class="org-left"><a href="#orgc7a829f">Why use Github?</a></td>
266
+</tr>
267
+
268
+<tr>
269
+<td class="org-left"><a href="#org8a2ba14">Keys and emails should not be stored on servers. Why do you do that?</a></td>
183
 </tr>
270
 </tr>
184
 
271
 
185
 <tr>
272
 <tr>
187
 </tr>
274
 </tr>
188
 
275
 
189
 <tr>
276
 <tr>
190
-<td class="org-left"><a href="#org4cf24da">Why can't I access my .onion site with a Tor browser?</a></td>
277
+<td class="org-left"><a href="#orgdfce0af">Why can't I access my .onion site with a Tor browser?</a></td>
191
 </tr>
278
 </tr>
192
 
279
 
193
 <tr>
280
 <tr>
194
-<td class="org-left"><a href="#orgbe169c9">What is the best hardware to run this system on?</a></td>
281
+<td class="org-left"><a href="#org076d569">What is the best hardware to run this system on?</a></td>
195
 </tr>
282
 </tr>
196
 
283
 
197
 <tr>
284
 <tr>
198
-<td class="org-left"><a href="#orga5b7a2b">Can I add more users to the system?</a></td>
285
+<td class="org-left"><a href="#org955e97c">Can I add more users to the system?</a></td>
199
 </tr>
286
 </tr>
200
 
287
 
201
 <tr>
288
 <tr>
202
-<td class="org-left"><a href="#org4bea574">Why not use Signal for mobile chat?</a></td>
289
+<td class="org-left"><a href="#org16d59ee">Why not use Signal for mobile chat?</a></td>
203
 </tr>
290
 </tr>
204
 
291
 
205
 <tr>
292
 <tr>
206
-<td class="org-left"><a href="#orgffa718f">What is the most secure chat app to use on mobile?</a></td>
293
+<td class="org-left"><a href="#org8119d23">What is the most secure chat app to use on mobile?</a></td>
207
 </tr>
294
 </tr>
208
 
295
 
209
 <tr>
296
 <tr>
210
-<td class="org-left"><a href="#org42ea0a2">How do I remove a user from the system?</a></td>
297
+<td class="org-left"><a href="#org4d5e677">How do I remove a user from the system?</a></td>
211
 </tr>
298
 </tr>
212
 
299
 
213
 <tr>
300
 <tr>
214
-<td class="org-left"><a href="#org6fa77c1">How do I reset the tripwire?</a></td>
301
+<td class="org-left"><a href="#org6f5308e">How do I reset the tripwire?</a></td>
215
 </tr>
302
 </tr>
216
 
303
 
217
 <tr>
304
 <tr>
218
-<td class="org-left"><a href="#org34e58a5">Is metadata protected?</a></td>
305
+<td class="org-left"><a href="#org7e67ac1">Is metadata protected?</a></td>
219
 </tr>
306
 </tr>
220
 
307
 
221
 <tr>
308
 <tr>
222
-<td class="org-left"><a href="#org9dcbdde">How do I create email processing rules?</a></td>
309
+<td class="org-left"><a href="#orge707b46">How do I create email processing rules?</a></td>
223
 </tr>
310
 </tr>
224
 
311
 
225
 <tr>
312
 <tr>
226
-<td class="org-left"><a href="#orge65b4e9">Why isn't dynamic DNS working?</a></td>
313
+<td class="org-left"><a href="#orgc2341ce">Why isn't dynamic DNS working?</a></td>
227
 </tr>
314
 </tr>
228
 
315
 
229
 <tr>
316
 <tr>
230
-<td class="org-left"><a href="#org2ba6d9b">How do I change my encryption settings?</a></td>
317
+<td class="org-left"><a href="#orged2a10a">How do I change my encryption settings?</a></td>
231
 </tr>
318
 </tr>
232
 
319
 
233
 <tr>
320
 <tr>
234
-<td class="org-left"><a href="#orgdfe61d1">How do I get a domain name?</a></td>
321
+<td class="org-left"><a href="#orgea1c378">How do I get a domain name?</a></td>
235
 </tr>
322
 </tr>
236
 
323
 
237
 <tr>
324
 <tr>
238
-<td class="org-left"><a href="#orgdda3099">How do I get a "real" SSL/TLS/HTTPS certificate?</a></td>
325
+<td class="org-left"><a href="#orgf339015">How do I get a "real" SSL/TLS/HTTPS certificate?</a></td>
239
 </tr>
326
 </tr>
240
 
327
 
241
 <tr>
328
 <tr>
242
-<td class="org-left"><a href="#org3c09b6c">How do I renew a Let's Encrypt certificate?</a></td>
329
+<td class="org-left"><a href="#org0ba77df">How do I renew a Let's Encrypt certificate?</a></td>
243
 </tr>
330
 </tr>
244
 
331
 
245
 <tr>
332
 <tr>
246
-<td class="org-left"><a href="#orgd49f26">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</a></td>
333
+<td class="org-left"><a href="#org0f83712">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</a></td>
247
 </tr>
334
 </tr>
248
 
335
 
249
 <tr>
336
 <tr>
250
-<td class="org-left"><a href="#orga7226a3">Why use self-signed certificates?</a></td>
337
+<td class="org-left"><a href="#org2d6e967">Why use self-signed certificates?</a></td>
251
 </tr>
338
 </tr>
252
 
339
 
253
 <tr>
340
 <tr>
254
-<td class="org-left"><a href="#orgfeeb99d">Why not use the services of $company instead? They took the Seppuku pledge</a></td>
341
+<td class="org-left"><a href="#orge47b90b">Why not use the services of $company instead? They took the Seppuku pledge</a></td>
255
 </tr>
342
 </tr>
256
 
343
 
257
 <tr>
344
 <tr>
258
-<td class="org-left"><a href="#orgc83c404">Why does my email keep getting rejected as spam by Gmail/etc?</a></td>
345
+<td class="org-left"><a href="#orgdd890fc">Why does my email keep getting rejected as spam by Gmail/etc?</a></td>
259
 </tr>
346
 </tr>
260
 </tbody>
347
 </tbody>
261
 </table>
348
 </table>
262
 </div>
349
 </div>
263
 
350
 
264
-<div id="outline-container-orgaa65e48" class="outline-2">
265
-<h2 id="orgaa65e48">I don't have a static IP address. Can I still install this system?</h2>
266
-<div class="outline-text-2" id="text-orgaa65e48">
351
+<div id="outline-container-org5833119" class="outline-2">
352
+<h2 id="org5833119">I don't have a static IP address. Can I still install this system?</h2>
353
+<div class="outline-text-2" id="text-org5833119">
267
 <p>
354
 <p>
268
 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.
355
 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.
269
 </p>
356
 </p>
273
 </p>
360
 </p>
274
 </div>
361
 </div>
275
 </div>
362
 </div>
276
-<div id="outline-container-org4234396" class="outline-2">
277
-<h2 id="org4234396">Why not support building images for Raspberry Pi?</h2>
278
-<div class="outline-text-2" id="text-org4234396">
363
+<div id="outline-container-orga38e025" class="outline-2">
364
+<h2 id="orga38e025">Why not support building images for Raspberry Pi?</h2>
365
+<div class="outline-text-2" id="text-orga38e025">
279
 <p>
366
 <p>
280
 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.
367
 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.
281
 </p>
368
 </p>
285
 </p>
372
 </p>
286
 </div>
373
 </div>
287
 </div>
374
 </div>
288
-<div id="outline-container-org1c08189" class="outline-2">
289
-<h2 id="org1c08189">Why use Github?</h2>
290
-<div class="outline-text-2" id="text-org1c08189">
375
+<div id="outline-container-orgc7a829f" class="outline-2">
376
+<h2 id="orgc7a829f">Why use Github?</h2>
377
+<div class="outline-text-2" id="text-orgc7a829f">
291
 <p>
378
 <p>
292
 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.
379
 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.
293
 </p>
380
 </p>
305
 </p>
392
 </p>
306
 </div>
393
 </div>
307
 </div>
394
 </div>
308
-<div id="outline-container-org4cf24da" class="outline-2">
309
-<h2 id="org4cf24da">Why can't I access my .onion site with a Tor browser?</h2>
310
-<div class="outline-text-2" id="text-org4cf24da">
395
+<div id="outline-container-org8a2ba14" class="outline-2">
396
+<h2 id="org8a2ba14">Keys and emails should not be stored on servers. Why do you do that?</h2>
397
+<div class="outline-text-2" id="text-org8a2ba14">
398
+<p>
399
+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:
400
+</p>
401
+
402
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
403
+
404
+
405
+<colgroup>
406
+<col  class="org-left" />
407
+
408
+<col  class="org-left" />
409
+</colgroup>
410
+<thead>
411
+<tr>
412
+<th scope="col" class="org-left">At home</th>
413
+<th scope="col" class="org-left">In a warehouse</th>
414
+</tr>
415
+</thead>
416
+<tbody>
417
+<tr>
418
+<td class="org-left">Accessible to a small number of people</td>
419
+<td class="org-left">Accessible to possibly many random strangers</td>
420
+</tr>
421
+
422
+<tr>
423
+<td class="org-left">You control the environment</td>
424
+<td class="org-left">You have no control over the warehouse</td>
425
+</tr>
426
+
427
+<tr>
428
+<td class="org-left">You know what gets plugged in to the box</td>
429
+<td class="org-left">Anything could be plugged in to the box and you might not know</td>
430
+</tr>
431
+
432
+<tr>
433
+<td class="org-left">You know where your home is</td>
434
+<td class="org-left">The warehouse could be anywhere in the world</td>
435
+</tr>
436
+
437
+<tr>
438
+<td class="org-left">Normally requires a warrant to search</td>
439
+<td class="org-left">Requires little or no justification to search</td>
440
+</tr>
441
+
442
+<tr>
443
+<td class="org-left">You know what jurisdiction your home is within</td>
444
+<td class="org-left">You may have no idea what jurisdiction the warehouse is within</td>
445
+</tr>
446
+</tbody>
447
+</table>
448
+
449
+<p>
450
+In the home environment a box with a good firewall and no GUI components installed may be much more secure than the end points, such as laptops and phones.
451
+</p>
452
+</div>
453
+</div>
454
+
455
+<div id="outline-container-orgdfce0af" class="outline-2">
456
+<h2 id="orgdfce0af">Why can't I access my .onion site with a Tor browser?</h2>
457
+<div class="outline-text-2" id="text-orgdfce0af">
311
 <p>
458
 <p>
312
 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.
459
 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.
313
 </p>
460
 </p>
314
 </div>
461
 </div>
315
 </div>
462
 </div>
316
-<div id="outline-container-orgbe169c9" class="outline-2">
317
-<h2 id="orgbe169c9">What is the best hardware to run this system on?</h2>
318
-<div class="outline-text-2" id="text-orgbe169c9">
463
+<div id="outline-container-org076d569" class="outline-2">
464
+<h2 id="org076d569">What is the best hardware to run this system on?</h2>
465
+<div class="outline-text-2" id="text-org076d569">
319
 <p>
466
 <p>
320
 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.
467
 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.
321
 </p>
468
 </p>
325
 </p>
472
 </p>
326
 </div>
473
 </div>
327
 </div>
474
 </div>
328
-<div id="outline-container-orga5b7a2b" class="outline-2">
329
-<h2 id="orga5b7a2b">Can I add more users to the system?</h2>
330
-<div class="outline-text-2" id="text-orga5b7a2b">
475
+<div id="outline-container-org955e97c" class="outline-2">
476
+<h2 id="org955e97c">Can I add more users to the system?</h2>
477
+<div class="outline-text-2" id="text-org955e97c">
331
 <p>
478
 <p>
332
 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).
479
 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).
333
 </p>
480
 </p>
351
 </p>
498
 </p>
352
 </div>
499
 </div>
353
 </div>
500
 </div>
354
-<div id="outline-container-org4bea574" class="outline-2">
355
-<h2 id="org4bea574">Why not use Signal for mobile chat?</h2>
356
-<div class="outline-text-2" id="text-org4bea574">
501
+<div id="outline-container-org16d59ee" class="outline-2">
502
+<h2 id="org16d59ee">Why not use Signal for mobile chat?</h2>
503
+<div class="outline-text-2" id="text-org16d59ee">
357
 <p>
504
 <p>
358
 Celebrities recommend Signal. It's Free Software so it must be good, right?
505
 Celebrities recommend Signal. It's Free Software so it must be good, right?
359
 </p>
506
 </p>
369
 </ul>
516
 </ul>
370
 </div>
517
 </div>
371
 </div>
518
 </div>
372
-<div id="outline-container-orgffa718f" class="outline-2">
373
-<h2 id="orgffa718f">What is the most secure chat app to use on mobile?</h2>
374
-<div class="outline-text-2" id="text-orgffa718f">
519
+<div id="outline-container-org8119d23" class="outline-2">
520
+<h2 id="org8119d23">What is the most secure chat app to use on mobile?</h2>
521
+<div class="outline-text-2" id="text-org8119d23">
375
 <p>
522
 <p>
376
 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.
523
 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.
377
 </p>
524
 </p>
385
 </p>
532
 </p>
386
 </div>
533
 </div>
387
 </div>
534
 </div>
388
-<div id="outline-container-org42ea0a2" class="outline-2">
389
-<h2 id="org42ea0a2">How do I remove a user from the system?</h2>
390
-<div class="outline-text-2" id="text-org42ea0a2">
535
+<div id="outline-container-org4d5e677" class="outline-2">
536
+<h2 id="org4d5e677">How do I remove a user from the system?</h2>
537
+<div class="outline-text-2" id="text-org4d5e677">
391
 <p>
538
 <p>
392
 To remove a user:
539
 To remove a user:
393
 </p>
540
 </p>
403
 </p>
550
 </p>
404
 </div>
551
 </div>
405
 </div>
552
 </div>
406
-<div id="outline-container-org6fa77c1" class="outline-2">
407
-<h2 id="org6fa77c1">How do I reset the tripwire?</h2>
408
-<div class="outline-text-2" id="text-org6fa77c1">
553
+<div id="outline-container-org6f5308e" class="outline-2">
554
+<h2 id="org6f5308e">How do I reset the tripwire?</h2>
555
+<div class="outline-text-2" id="text-org6f5308e">
409
 <p>
556
 <p>
410
 The tripwire will be automatically reset once per week. If you want to reset it earlier then do the following:
557
 The tripwire will be automatically reset once per week. If you want to reset it earlier then do the following:
411
 </p>
558
 </p>
421
 </p>
568
 </p>
422
 </div>
569
 </div>
423
 </div>
570
 </div>
424
-<div id="outline-container-org34e58a5" class="outline-2">
425
-<h2 id="org34e58a5">Is metadata protected?</h2>
426
-<div class="outline-text-2" id="text-org34e58a5">
571
+<div id="outline-container-org7e67ac1" class="outline-2">
572
+<h2 id="org7e67ac1">Is metadata protected?</h2>
573
+<div class="outline-text-2" id="text-org7e67ac1">
427
 <blockquote>
574
 <blockquote>
428
 <p>
575
 <p>
429
 "<i>We kill people based on metadata</i>"
576
 "<i>We kill people based on metadata</i>"
439
 </p>
586
 </p>
440
 </div>
587
 </div>
441
 </div>
588
 </div>
442
-<div id="outline-container-org9dcbdde" class="outline-2">
443
-<h2 id="org9dcbdde">How do I create email processing rules?</h2>
444
-<div class="outline-text-2" id="text-org9dcbdde">
589
+<div id="outline-container-orge707b46" class="outline-2">
590
+<h2 id="orge707b46">How do I create email processing rules?</h2>
591
+<div class="outline-text-2" id="text-orge707b46">
445
 <div class="org-src-container">
592
 <div class="org-src-container">
446
 
593
 
447
 <pre class="src src-bash">ssh username@domainname -p 2222
594
 <pre class="src src-bash">ssh username@domainname -p 2222
498
 </p>
645
 </p>
499
 </div>
646
 </div>
500
 </div>
647
 </div>
501
-<div id="outline-container-orge65b4e9" class="outline-2">
502
-<h2 id="orge65b4e9">Why isn't dynamic DNS working?</h2>
503
-<div class="outline-text-2" id="text-orge65b4e9">
648
+<div id="outline-container-orgc2341ce" class="outline-2">
649
+<h2 id="orgc2341ce">Why isn't dynamic DNS working?</h2>
650
+<div class="outline-text-2" id="text-orgc2341ce">
504
 <p>
651
 <p>
505
 If you run the command:
652
 If you run the command:
506
 </p>
653
 </p>
568
 </div>
715
 </div>
569
 </div>
716
 </div>
570
 
717
 
571
-<div id="outline-container-org2ba6d9b" class="outline-2">
572
-<h2 id="org2ba6d9b">How do I change my encryption settings?</h2>
573
-<div class="outline-text-2" id="text-org2ba6d9b">
718
+<div id="outline-container-orged2a10a" class="outline-2">
719
+<h2 id="orged2a10a">How do I change my encryption settings?</h2>
720
+<div class="outline-text-2" id="text-orged2a10a">
574
 <p>
721
 <p>
575
 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:
722
 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:
576
 </p>
723
 </p>
586
 </p>
733
 </p>
587
 </div>
734
 </div>
588
 </div>
735
 </div>
589
-<div id="outline-container-orgdfe61d1" class="outline-2">
590
-<h2 id="orgdfe61d1">How do I get a domain name?</h2>
591
-<div class="outline-text-2" id="text-orgdfe61d1">
736
+<div id="outline-container-orgea1c378" class="outline-2">
737
+<h2 id="orgea1c378">How do I get a domain name?</h2>
738
+<div class="outline-text-2" id="text-orgea1c378">
592
 <p>
739
 <p>
593
 Suppose that you have bought a domain name (rather than using a free subdomain on freedns) and you want to use that instead.
740
 Suppose that you have bought a domain name (rather than using a free subdomain on freedns) and you want to use that instead.
594
 </p>
741
 </p>
656
 </div>
803
 </div>
657
 </div>
804
 </div>
658
 
805
 
659
-<div id="outline-container-orgdda3099" class="outline-2">
660
-<h2 id="orgdda3099">How do I get a "real" SSL/TLS/HTTPS certificate?</h2>
661
-<div class="outline-text-2" id="text-orgdda3099">
806
+<div id="outline-container-orgf339015" class="outline-2">
807
+<h2 id="orgf339015">How do I get a "real" SSL/TLS/HTTPS certificate?</h2>
808
+<div class="outline-text-2" id="text-orgf339015">
662
 <p>
809
 <p>
663
 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:
810
 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:
664
 </p>
811
 </p>
678
 </p>
825
 </p>
679
 </div>
826
 </div>
680
 </div>
827
 </div>
681
-<div id="outline-container-org3c09b6c" class="outline-2">
682
-<h2 id="org3c09b6c">How do I renew a Let's Encrypt certificate?</h2>
683
-<div class="outline-text-2" id="text-org3c09b6c">
828
+<div id="outline-container-org0ba77df" class="outline-2">
829
+<h2 id="org0ba77df">How do I renew a Let's Encrypt certificate?</h2>
830
+<div class="outline-text-2" id="text-org0ba77df">
684
 <p>
831
 <p>
685
 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.
832
 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.
686
 </p>
833
 </p>
700
 </p>
847
 </p>
701
 </div>
848
 </div>
702
 </div>
849
 </div>
703
-<div id="outline-container-orgd49f26" class="outline-2">
704
-<h2 id="orgd49f26">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</h2>
705
-<div class="outline-text-2" id="text-orgd49f26">
850
+<div id="outline-container-org0f83712" class="outline-2">
851
+<h2 id="org0f83712">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</h2>
852
+<div class="outline-text-2" id="text-org0f83712">
706
 <p>
853
 <p>
707
 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:
854
 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:
708
 </p>
855
 </p>
718
 </p>
865
 </p>
719
 </div>
866
 </div>
720
 </div>
867
 </div>
721
-<div id="outline-container-orga7226a3" class="outline-2">
722
-<h2 id="orga7226a3">Why use self-signed certificates?</h2>
723
-<div class="outline-text-2" id="text-orga7226a3">
868
+<div id="outline-container-org2d6e967" class="outline-2">
869
+<h2 id="org2d6e967">Why use self-signed certificates?</h2>
870
+<div class="outline-text-2" id="text-org2d6e967">
724
 <p>
871
 <p>
725
 Almost everywhere on the web you will read that self-signed certificates are worthless. They bring up <i>scary-scary looking</i> browser warnings and gurus will advise you not to use them. Self-signed certificates are quite useful though. What the scary warnings mean - and it would be good if they explained this more clearly - is that you have an encrypted connection established but there is <i>no certainty about who that connection is with</i>.
872
 Almost everywhere on the web you will read that self-signed certificates are worthless. They bring up <i>scary-scary looking</i> browser warnings and gurus will advise you not to use them. Self-signed certificates are quite useful though. What the scary warnings mean - and it would be good if they explained this more clearly - is that you have an encrypted connection established but there is <i>no certainty about who that connection is with</i>.
726
 </p>
873
 </p>
742
 </p>
889
 </p>
743
 </div>
890
 </div>
744
 </div>
891
 </div>
745
-<div id="outline-container-orgfeeb99d" class="outline-2">
746
-<h2 id="orgfeeb99d">Why not use the services of $company instead? They took the Seppuku pledge</h2>
747
-<div class="outline-text-2" id="text-orgfeeb99d">
892
+<div id="outline-container-orge47b90b" class="outline-2">
893
+<h2 id="orge47b90b">Why not use the services of $company instead? They took the Seppuku pledge</h2>
894
+<div class="outline-text-2" id="text-orge47b90b">
748
 <p>
895
 <p>
749
 <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.
896
 <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.
750
 </p>
897
 </p>
751
 </div>
898
 </div>
752
 </div>
899
 </div>
753
-<div id="outline-container-orgc83c404" class="outline-2">
754
-<h2 id="orgc83c404">Why does my email keep getting rejected as spam by Gmail/etc?</h2>
755
-<div class="outline-text-2" id="text-orgc83c404">
900
+<div id="outline-container-orgdd890fc" class="outline-2">
901
+<h2 id="orgdd890fc">Why does my email keep getting rejected as spam by Gmail/etc?</h2>
902
+<div class="outline-text-2" id="text-orgdd890fc">
756
 <p>
903
 <p>
757
 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.
904
 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.
758
 </p>
905
 </p>