Browse Source

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

Bob Mottram 6 years ago
parent
commit
b9875f94cb

+ 2
- 2
README.md View File

4
 
4
 
5
 You can run Freedombone on an old laptop or a single board computer. See the [list of installation methods](https://freedombone.net/installmethods.html). You can also use it to [set up a mesh network](https://freedombone.net/mesh.html) in your local area.
5
 You can run Freedombone on an old laptop or a single board computer. See the [list of installation methods](https://freedombone.net/installmethods.html). You can also use it to [set up a mesh network](https://freedombone.net/mesh.html) in your local area.
6
 
6
 
7
-Check out the [list of available apps](https://freedombone.net/apps.html) and [Frequently Asked Questions](https://freedombone.net/faq.html) section. Recent developments are also described on [the blog](https://blog.freedombone.net/tag/freedombone).
7
+Check out the [list of available apps](https://freedombone.net/apps.html) and [Frequently Asked Questions](https://freedombone.net/faq.html) section. Recent developments are also described on [the blog](https://blog.freedombone.net/tag/freedombone). You might also wish to know how to [backup and restore the system](https://freedombone.net/backups.html).
8
 
8
 
9
 Disk images which can be cloned straight to USB or microSD drives are [available here](https://freedombone.net/downloads/v31).
9
 Disk images which can be cloned straight to USB or microSD drives are [available here](https://freedombone.net/downloads/v31).
10
 
10
 
11
-If you find bugs, or want to add a new app to this system see the [Developers Guide](https://freedombone.net/devguide.html) and [Code of Conduct](https://freedombone.net/codeofconduct.html). There is a Matrix chat room available at *#fbone:matrix.freedombone.net* and an XMPP channel at *support@chat.freedombone.net*.
11
+If you find bugs, or want to add a new app to this system see the [Developers Guide](https://freedombone.net/devguide.html) and [Code of Conduct](https://freedombone.net/codeofconduct.html). There is a Matrix chat room available at *#fbone:matrix.freedombone.net* and an XMPP channel at *support@chat.freedombone.net*. The XMPP channel requires membership which you can ask for via [these contact details](https://freedombone.net/support.html).
12
 
12
 
13
 If you like this project and want to support continued development then [here's what to do](https://freedombone.net/support.html).
13
 If you like this project and want to support continued development then [here's what to do](https://freedombone.net/support.html).
14
 
14
 

+ 4
- 1
doc/EN/app_syncthing.org View File

39
 ssh username@domainname -p 2222
39
 ssh username@domainname -p 2222
40
 #+END_SRC
40
 #+END_SRC
41
 
41
 
42
-Then select *File Synchronization*.
42
+Then select *Run an App* and *syncthing*.
43
 
43
 
44
 #+attr_html: :width 80% :align center
44
 #+attr_html: :width 80% :align center
45
 [[file:images/controlpanel/control_panel_file_sync.jpg]]
45
 [[file:images/controlpanel/control_panel_file_sync.jpg]]
55
 
55
 
56
 Now wait for a few minutes. Eventually you will see two messages appear within the browser asking if you want to add two new folders from the Freedombone server. Say yes to both, and specify *~/Sync* as the directory with your username and *~/SyncShared* as the shared directory. You can now copy files into your *~/Sync* directory and they will automatically be synced to the server. Those will be files which only you can access. If you copy files into *~/SyncShared* then they will also be available to any other users on the system.
56
 Now wait for a few minutes. Eventually you will see two messages appear within the browser asking if you want to add two new folders from the Freedombone server. Say yes to both, and specify *~/Sync* as the directory with your username and *~/SyncShared* as the shared directory. You can now copy files into your *~/Sync* directory and they will automatically be synced to the server. Those will be files which only you can access. If you copy files into *~/SyncShared* then they will also be available to any other users on the system.
57
 
57
 
58
+* Desktop app
59
+If you're running Arch/Parabola there is a package called [[https://github.com/syncthing/syncthing-gtk][syncthing-gtk]] which provides a GTK GUI and an icon indicating whether synchronization is happening. This can be more convenient than using the browser interface.
60
+
58
 * On Android
61
 * On Android
59
 Install Syncthing and Connectbot from F-droid.
62
 Install Syncthing and Connectbot from F-droid.
60
 
63
 

+ 0
- 3
doc/EN/app_xmpp.org View File

71
 
71
 
72
 Click on *Advanced* and make sure that *Encryption required* and *Ignore SSL certificate errors* are checked.  Ignoring the certificate errors will allow you to use the self-signed certificate created earlier.  Then click *Done* and set your Jabber account and Empathy to *On*.
72
 Click on *Advanced* and make sure that *Encryption required* and *Ignore SSL certificate errors* are checked.  Ignoring the certificate errors will allow you to use the self-signed certificate created earlier.  Then click *Done* and set your Jabber account and Empathy to *On*.
73
 
73
 
74
-* Using Tor Messenger
75
-Tor Messenger is a messaging client which supports XMPP, and its onion routing enables you to protect the metadata of chat interactions to some extent by making it difficult for an adversary to know which server is talking to which. You can download Tor Messenger from [[https://torproject.org][torproject.org]] and the setup is pretty simple.
76
-
77
 * Using with Android/Conversations
74
 * Using with Android/Conversations
78
 Install [[https://f-droid.org/][F-Droid]]
75
 Install [[https://f-droid.org/][F-Droid]]
79
 
76
 

+ 2
- 2
doc/EN/index.org View File

17
 
17
 
18
 You can run Freedombone on an old laptop or a single board computer. See the [[./installmethods.html][list of installation methods]]. You can also use it to [[./mesh.html][set up a mesh network]] in your local area.
18
 You can run Freedombone on an old laptop or a single board computer. See the [[./installmethods.html][list of installation methods]]. You can also use it to [[./mesh.html][set up a mesh network]] in your local area.
19
 
19
 
20
-Check out the [[./apps.html][list of available apps]] and [[./faq.html][Frequently Asked Questions]] section. Recent developments are also described on [[https://blog.freedombone.net/tag/freedombone][the blog]].
20
+Check out the [[./apps.html][list of available apps]] and [[./faq.html][Frequently Asked Questions]] section. Recent developments are also described on [[https://blog.freedombone.net/tag/freedombone][the blog]]. You might also wish to know how to [[./backups.html][backup and restore the system]].
21
 
21
 
22
 Disk images which can be cloned straight to USB or microSD drives are [[./downloads/v31][available here]].
22
 Disk images which can be cloned straight to USB or microSD drives are [[./downloads/v31][available here]].
23
 
23
 
24
-If you find bugs, or want to add a new app to this system see the [[./devguide.html][Developers Guide]] and [[./codeofconduct.html][Code of Conduct]]. There is a Matrix chat room available at *#fbone:matrix.freedombone.net* and an XMPP channel at *support@chat.freedombone.net*.
24
+If you find bugs, or want to add a new app to this system see the [[./devguide.html][Developers Guide]] and [[./codeofconduct.html][Code of Conduct]]. There is a Matrix chat room available at *#fbone:matrix.freedombone.net* and an XMPP channel at *support@chat.freedombone.net*. The XMPP channel requires membership which you can ask for via [[./support.html][these contact details]].
25
 
25
 
26
 If you like this project and want to support continued development then [[./support.html][here's what to do]].
26
 If you like this project and want to support continued development then [[./support.html][here's what to do]].
27
 
27
 

+ 18
- 2
doc/EN/support.org View File

15
 
15
 
16
 This site can also be accessed via a Tor browser at *http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion*
16
 This site can also be accessed via a Tor browser at *http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion*
17
 
17
 
18
-*Email:* bob@freedombone.net
18
+*Email/XMPP:* bob@freedombone.net
19
 
19
 
20
 *PGP/GPG Public key:*
20
 *PGP/GPG Public key:*
21
+#+BEGIN_SRC bash
22
+-----BEGIN PGP PUBLIC KEY BLOCK-----
23
+
24
+mDMEWZBueBYJKwYBBAHaRw8BAQdAKx1t6wL0RTuU6/IBjngMbVJJ3Wg/3UW73/PV
25
+I47xKTS0IUJvYiBNb3R0cmFtIDxib2JAZnJlZWRvbWJvbmUubmV0PoiQBBMWCAA4
26
+FiEEmruCwAq/OfgmgEh9zCU2GR+nwz8FAlmQbngCGwMFCwkIBwMFFQoJCAsFFgID
27
+AQACHgECF4AACgkQzCU2GR+nwz/9sAD/YgsHnVszHNz1zlVc5EgY1ByDupiJpHj0
28
+XsLYk3AbNRgBALn45RqgD4eWHpmOriH09H5Rc5V9iN4+OiGUn2AzJ6oHuDgEWZBu
29
+eBIKKwYBBAGXVQEFAQEHQPRBG2ZQJce475S3e0Dxeb0Fz5WdEu2q3GYLo4QG+4Ry
30
+AwEIB4h4BBgWCAAgFiEEmruCwAq/OfgmgEh9zCU2GR+nwz8FAlmQbngCGwwACgkQ
31
+zCU2GR+nwz+OswD+JOoyBku9FzuWoVoOevU2HH+bPOMDgY2OLnST9ZSyHkMBAMcK
32
+fnaZ2Wi050483Sj2RmQRpb99Dod7rVZTDtCqXk0J
33
+=gv5G
34
+-----END PGP PUBLIC KEY BLOCK-----
35
+#+END_SRC
36
+
21
 #+attr_html: :width 60% :align center
37
 #+attr_html: :width 60% :align center
22
 [[file:images/pubkey.png]]
38
 [[file:images/pubkey.png]]
23
 
39
 
24
-*XMPP channel:* support@chat.freedombone.net
40
+*XMPP channel:* support@chat.freedombone.net (Requires membership. Ask via XMPP to *bob@freedombone.net*)
25
 
41
 
26
 *Matrix:* #fbone:matrix.freedombone.net
42
 *Matrix:* #fbone:matrix.freedombone.net
27
 
43
 

+ 1
- 1
src/freedombone-app-pleroma View File

36
 PLEROMA_PORT=4000
36
 PLEROMA_PORT=4000
37
 PLEROMA_ONION_PORT=8011
37
 PLEROMA_ONION_PORT=8011
38
 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git"
38
 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git"
39
-PLEROMA_COMMIT='1d4bbec6b3239bb83b500a6a90e6686cb682cfac'
39
+PLEROMA_COMMIT='6b9a6838331210dd514d5ecda52783c183bd1bbf'
40
 PLEROMA_ADMIN_PASSWORD=
40
 PLEROMA_ADMIN_PASSWORD=
41
 PLEROMA_DIR=/etc/pleroma
41
 PLEROMA_DIR=/etc/pleroma
42
 PLEROMA_SECRET_KEY=""
42
 PLEROMA_SECRET_KEY=""

+ 13
- 20
src/freedombone-app-syncthing View File

213
     SYNCTHING_CONFIG_FILE=~/.syncthingids
213
     SYNCTHING_CONFIG_FILE=~/.syncthingids
214
     SYNCTHING_ID=$(cat ~/.syncthing-server-id)
214
     SYNCTHING_ID=$(cat ~/.syncthing-server-id)
215
 
215
 
216
+    W=(1 $"Show device ID for ${PROJECT_NAME}"
217
+       2 $"Add an ID for another machine or device"
218
+       3 $"Remove an ID for another machine or device"
219
+       4 $"Manually edit device IDs")
220
+
216
     while true
221
     while true
217
     do
222
     do
218
-        data=$(mktemp 2>/dev/null)
219
-        dialog --backtitle $"Freedombone User Control Panel" \
220
-               --title $"File Synchronization" \
221
-               --radiolist $"Choose an operation:" 12 70 6 \
222
-               1 $"Show device ID for ${PROJECT_NAME}" off \
223
-               2 $"Add an ID for another machine or device" off \
224
-               3 $"Remove an ID for another machine or device" off \
225
-               4 $"Manually edit device IDs" off \
226
-               5 $"Back to main menu" on 2> "$data"
227
-        sel=$?
228
-        case $sel in
229
-            1) rm -f "$data"
230
-               break;;
231
-            255) rm -f "$data"
232
-                 break;;
233
-        esac
234
-        case $(cat "$data") in
223
+        # shellcheck disable=SC2068
224
+        selection=$(dialog --backtitle $"Freedombone User Control Panel" --title $"File Synchronization" --menu $"Choose an operation, or ESC for main menu:" 12 70 6 "${W[@]}" 3>&2 2>&1 1>&3)
225
+
226
+        if [ ! "$selection" ]; then
227
+           break
228
+        fi
229
+
230
+        case $selection in
235
             1) syncthing_show_id;;
231
             1) syncthing_show_id;;
236
             2) syncthing_add_id;;
232
             2) syncthing_add_id;;
237
             3) syncthing_remove_id;;
233
             3) syncthing_remove_id;;
238
             4) syncthing_manual_edit;;
234
             4) syncthing_manual_edit;;
239
-            5) rm -f "$data"
240
-               break;;
241
         esac
235
         esac
242
-        rm -f "$data"
243
     done
236
     done
244
 }
237
 }
245
 
238
 

+ 9
- 16
src/freedombone-controlpanel-user View File

812
 function menu_run_client_app {
812
 function menu_run_client_app {
813
     detect_installable_apps
813
     detect_installable_apps
814
 
814
 
815
-    applist=""
815
+    W=()
816
     appnames=()
816
     appnames=()
817
     n=1
817
     n=1
818
     app_index=0
818
     app_index=0
821
     do
821
     do
822
         if [[ ${APPS_INSTALLED[$app_index]} != "0" ]]; then
822
         if [[ ${APPS_INSTALLED[$app_index]} != "0" ]]; then
823
             if [[ $(function_exists "run_client_${a}") == "1" ]]; then
823
             if [[ $(function_exists "run_client_${a}") == "1" ]]; then
824
-                applist="$applist $n $a off"
824
+                W+=("$n" "$a")
825
                 n=$((n+1))
825
                 n=$((n+1))
826
                 appnames+=("$a")
826
                 appnames+=("$a")
827
             fi
827
             fi
831
     if [ $n -le 1 ]; then
831
     if [ $n -le 1 ]; then
832
         return
832
         return
833
     fi
833
     fi
834
-    backstr=$'Exit'
835
-    applist="$applist $n $backstr on"
836
-    appnames+=("Exit")
837
 
834
 
838
     # shellcheck disable=SC2086
835
     # shellcheck disable=SC2086
839
-    choice=$(dialog --stdout --backtitle $"Freedombone" \
840
-                     --title $"Run an App" \
841
-                     --radiolist $'Choose:' \
842
-                     16 40 20 $applist)
836
+    selection=$(dialog --backtitle $"Freedombone" --title $"Run an App" --menu $"Choose an operation, or ESC for main menu:" 16 70 20 "${W[@]}" 3>&2 2>&1 1>&3)
843
 
837
 
844
-    # shellcheck disable=SC2181
845
-    if [ $? -eq 0 ]; then
846
-        app_index=$((choice-1))
847
-        chosen_app=${appnames[$app_index]}
848
-        if [[ $chosen_app != "Exit" ]]; then
849
-            "run_client_${chosen_app}"
850
-        fi
838
+    if [ ! "$selection" ]; then
839
+        return
851
     fi
840
     fi
841
+
842
+    app_index=$((selection-1))
843
+    chosen_app=${appnames[$app_index]}
844
+    "run_client_${chosen_app}"
852
 }
845
 }
853
 
846
 
854
 function show_your_email_address {
847
 function show_your_email_address {

+ 12
- 3
website/EN/app_syncthing.html View File

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
 <title></title>
6
 <title></title>
7
-<!-- 2018-04-12 Thu 12:40 -->
7
+<!-- 2018-05-24 Thu 13:40 -->
8
 <meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
9
 <meta  name="generator" content="Org-mode" />
9
 <meta  name="generator" content="Org-mode" />
10
 <meta  name="author" content="Bob Mottram" />
10
 <meta  name="author" content="Bob Mottram" />
205
 </div>
205
 </div>
206
 
206
 
207
 <p>
207
 <p>
208
-Then select <b>File Synchronization</b>.
208
+Then select <b>Run an App</b> and <b>syncthing</b>.
209
 </p>
209
 </p>
210
 
210
 
211
 
211
 
239
 </div>
239
 </div>
240
 
240
 
241
 <div id="outline-container-sec-3" class="outline-2">
241
 <div id="outline-container-sec-3" class="outline-2">
242
-<h2 id="sec-3">On Android</h2>
242
+<h2 id="sec-3">Desktop app</h2>
243
 <div class="outline-text-2" id="text-3">
243
 <div class="outline-text-2" id="text-3">
244
 <p>
244
 <p>
245
+If you're running Arch/Parabola there is a package called <a href="https://github.com/syncthing/syncthing-gtk">syncthing-gtk</a> which provides a GTK GUI and an icon indicating whether synchronization is happening. This can be more convenient than using the browser interface.
246
+</p>
247
+</div>
248
+</div>
249
+
250
+<div id="outline-container-sec-4" class="outline-2">
251
+<h2 id="sec-4">On Android</h2>
252
+<div class="outline-text-2" id="text-4">
253
+<p>
245
 Install Syncthing and Connectbot from F-droid.
254
 Install Syncthing and Connectbot from F-droid.
246
 </p>
255
 </p>
247
 
256
 

+ 2
- 11
website/EN/app_xmpp.html View File

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
 <title></title>
6
 <title></title>
7
-<!-- 2018-04-12 Thu 12:45 -->
7
+<!-- 2018-05-24 Thu 21:10 -->
8
 <meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
9
 <meta  name="generator" content="Org-mode" />
9
 <meta  name="generator" content="Org-mode" />
10
 <meta  name="author" content="Bob Mottram" />
10
 <meta  name="author" content="Bob Mottram" />
279
 </div>
279
 </div>
280
 
280
 
281
 <div id="outline-container-sec-6" class="outline-2">
281
 <div id="outline-container-sec-6" class="outline-2">
282
-<h2 id="sec-6">Using Tor Messenger</h2>
282
+<h2 id="sec-6">Using with Android/Conversations</h2>
283
 <div class="outline-text-2" id="text-6">
283
 <div class="outline-text-2" id="text-6">
284
 <p>
284
 <p>
285
-Tor Messenger is a messaging client which supports XMPP, and its onion routing enables you to protect the metadata of chat interactions to some extent by making it difficult for an adversary to know which server is talking to which. You can download Tor Messenger from <a href="https://torproject.org">torproject.org</a> and the setup is pretty simple.
286
-</p>
287
-</div>
288
-</div>
289
-
290
-<div id="outline-container-sec-7" class="outline-2">
291
-<h2 id="sec-7">Using with Android/Conversations</h2>
292
-<div class="outline-text-2" id="text-7">
293
-<p>
294
 Install <a href="https://f-droid.org/">F-Droid</a>
285
 Install <a href="https://f-droid.org/">F-Droid</a>
295
 </p>
286
 </p>
296
 
287
 

+ 31
- 122
website/EN/index.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
-<!-- 2018-05-13 Sun 11:58 -->
7
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
-<meta name="viewport" content="width=device-width, initial-scale=1" />
9
-<title>&lrm;</title>
10
-<meta name="generator" content="Org mode" />
11
-<meta name="author" content="Bob Mottram" />
12
-<meta name="description" content="Freedombone project"
6
+<title></title>
7
+<!-- 2018-05-24 Thu 21:18 -->
8
+<meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
9
+<meta  name="generator" content="Org-mode" />
10
+<meta  name="author" content="Bob Mottram" />
11
+<meta  name="description" content="Freedombone project"
13
  />
12
  />
14
-<meta name="keywords" content="freedombone" />
13
+<meta  name="keywords" content="freedombone" />
15
 <style type="text/css">
14
 <style type="text/css">
16
  <!--/*--><![CDATA[/*><!--*/
15
  <!--/*--><![CDATA[/*><!--*/
17
-  .title  { text-align: center;
18
-             margin-bottom: .2em; }
19
-  .subtitle { text-align: center;
20
-              font-size: medium;
21
-              font-weight: bold;
22
-              margin-top:0; }
16
+  .title  { text-align: center; }
23
   .todo   { font-family: monospace; color: red; }
17
   .todo   { font-family: monospace; color: red; }
24
-  .done   { font-family: monospace; color: green; }
25
-  .priority { font-family: monospace; color: orange; }
18
+  .done   { color: green; }
26
   .tag    { background-color: #eee; font-family: monospace;
19
   .tag    { background-color: #eee; font-family: monospace;
27
             padding: 2px; font-size: 80%; font-weight: normal; }
20
             padding: 2px; font-size: 80%; font-weight: normal; }
28
   .timestamp { color: #bebebe; }
21
   .timestamp { color: #bebebe; }
29
   .timestamp-kwd { color: #5f9ea0; }
22
   .timestamp-kwd { color: #5f9ea0; }
30
-  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
31
-  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
32
-  .org-center { margin-left: auto; margin-right: auto; text-align: center; }
23
+  .right  { margin-left: auto; margin-right: 0px;  text-align: right; }
24
+  .left   { margin-left: 0px;  margin-right: auto; text-align: left; }
25
+  .center { margin-left: auto; margin-right: auto; text-align: center; }
33
   .underline { text-decoration: underline; }
26
   .underline { text-decoration: underline; }
34
   #postamble p, #preamble p { font-size: 90%; margin: .2em; }
27
   #postamble p, #preamble p { font-size: 90%; margin: .2em; }
35
   p.verse { margin-left: 3%; }
28
   p.verse { margin-left: 3%; }
56
     border: 1px solid black;
49
     border: 1px solid black;
57
   }
50
   }
58
   pre.src:hover:before { display: inline;}
51
   pre.src:hover:before { display: inline;}
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'; }
52
+  pre.src-sh:before    { content: 'sh'; }
53
+  pre.src-bash:before  { content: 'sh'; }
70
   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
54
   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
71
-  pre.src-fortran:before { content: 'Fortran'; }
72
-  pre.src-gnuplot:before { content: 'gnuplot'; }
73
-  pre.src-haskell:before { content: 'Haskell'; }
74
-  pre.src-hledger:before { content: 'hledger'; }
75
-  pre.src-java:before { content: 'Java'; }
76
-  pre.src-js:before { content: 'Javascript'; }
77
-  pre.src-latex:before { content: 'LaTeX'; }
78
-  pre.src-ledger:before { content: 'Ledger'; }
79
-  pre.src-lisp:before { content: 'Lisp'; }
80
-  pre.src-lilypond:before { content: 'Lilypond'; }
81
-  pre.src-lua:before { content: 'Lua'; }
82
-  pre.src-matlab:before { content: 'MATLAB'; }
83
-  pre.src-mscgen:before { content: 'Mscgen'; }
84
-  pre.src-ocaml:before { content: 'Objective Caml'; }
85
-  pre.src-octave:before { content: 'Octave'; }
86
-  pre.src-org:before { content: 'Org mode'; }
87
-  pre.src-oz:before { content: 'OZ'; }
88
-  pre.src-plantuml:before { content: 'Plantuml'; }
89
-  pre.src-processing:before { content: 'Processing.js'; }
90
-  pre.src-python:before { content: 'Python'; }
91
-  pre.src-R:before { content: 'R'; }
92
-  pre.src-ruby:before { content: 'Ruby'; }
93
-  pre.src-sass:before { content: 'Sass'; }
94
-  pre.src-scheme:before { content: 'Scheme'; }
95
-  pre.src-screen:before { content: 'Gnu Screen'; }
96
-  pre.src-sed:before { content: 'Sed'; }
97
-  pre.src-sh:before { content: 'shell'; }
98
-  pre.src-sql:before { content: 'SQL'; }
99
-  pre.src-sqlite:before { content: 'SQLite'; }
100
-  /* additional languages in org.el's org-babel-load-languages alist */
101
-  pre.src-forth:before { content: 'Forth'; }
102
-  pre.src-io:before { content: 'IO'; }
103
-  pre.src-J:before { content: 'J'; }
104
-  pre.src-makefile:before { content: 'Makefile'; }
105
-  pre.src-maxima:before { content: 'Maxima'; }
106
-  pre.src-perl:before { content: 'Perl'; }
107
-  pre.src-picolisp:before { content: 'Pico Lisp'; }
108
-  pre.src-scala:before { content: 'Scala'; }
109
-  pre.src-shell:before { content: 'Shell Script'; }
110
-  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
111
-  /* additional language identifiers per "defun org-babel-execute"
112
-       in ob-*.el */
113
-  pre.src-cpp:before  { content: 'C++'; }
114
-  pre.src-abc:before  { content: 'ABC'; }
115
-  pre.src-coq:before  { content: 'Coq'; }
116
-  pre.src-groovy:before  { content: 'Groovy'; }
117
-  /* additional language identifiers from org-babel-shell-names in
118
-     ob-shell.el: ob-shell is the only babel language using a lambda to put
119
-     the execution function name together. */
120
-  pre.src-bash:before  { content: 'bash'; }
121
-  pre.src-csh:before  { content: 'csh'; }
122
-  pre.src-ash:before  { content: 'ash'; }
123
-  pre.src-dash:before  { content: 'dash'; }
124
-  pre.src-ksh:before  { content: 'ksh'; }
125
-  pre.src-mksh:before  { content: 'mksh'; }
126
-  pre.src-posh:before  { content: 'posh'; }
127
-  /* Additional Emacs modes also supported by the LaTeX listings package */
128
-  pre.src-ada:before { content: 'Ada'; }
129
-  pre.src-asm:before { content: 'Assembler'; }
130
-  pre.src-caml:before { content: 'Caml'; }
131
-  pre.src-delphi:before { content: 'Delphi'; }
132
-  pre.src-html:before { content: 'HTML'; }
133
-  pre.src-idl:before { content: 'IDL'; }
134
-  pre.src-mercury:before { content: 'Mercury'; }
135
-  pre.src-metapost:before { content: 'MetaPost'; }
136
-  pre.src-modula-2:before { content: 'Modula-2'; }
137
-  pre.src-pascal:before { content: 'Pascal'; }
138
-  pre.src-ps:before { content: 'PostScript'; }
139
-  pre.src-prolog:before { content: 'Prolog'; }
140
-  pre.src-simula:before { content: 'Simula'; }
141
-  pre.src-tcl:before { content: 'tcl'; }
142
-  pre.src-tex:before { content: 'TeX'; }
143
-  pre.src-plain-tex:before { content: 'Plain TeX'; }
144
-  pre.src-verilog:before { content: 'Verilog'; }
145
-  pre.src-vhdl:before { content: 'VHDL'; }
146
-  pre.src-xml:before { content: 'XML'; }
147
-  pre.src-nxml:before { content: 'XML'; }
148
-  /* add a generic configuration mode; LaTeX export needs an additional
149
-     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
150
-  pre.src-conf:before { content: 'Configuration File'; }
55
+  pre.src-R:before     { content: 'R'; }
56
+  pre.src-perl:before  { content: 'Perl'; }
57
+  pre.src-java:before  { content: 'Java'; }
58
+  pre.src-sql:before   { content: 'SQL'; }
151
 
59
 
152
   table { border-collapse:collapse; }
60
   table { border-collapse:collapse; }
153
   caption.t-above { caption-side: top; }
61
   caption.t-above { caption-side: top; }
154
   caption.t-bottom { caption-side: bottom; }
62
   caption.t-bottom { caption-side: bottom; }
155
   td, th { vertical-align:top;  }
63
   td, th { vertical-align:top;  }
156
-  th.org-right  { text-align: center;  }
157
-  th.org-left   { text-align: center;   }
158
-  th.org-center { text-align: center; }
159
-  td.org-right  { text-align: right;  }
160
-  td.org-left   { text-align: left;   }
161
-  td.org-center { text-align: center; }
64
+  th.right  { text-align: center;  }
65
+  th.left   { text-align: center;   }
66
+  th.center { text-align: center; }
67
+  td.right  { text-align: right;  }
68
+  td.left   { text-align: left;   }
69
+  td.center { text-align: center; }
162
   dt { font-weight: bold; }
70
   dt { font-weight: bold; }
163
-  .footpara { display: inline; }
71
+  .footpara:nth-child(2) { display: inline; }
72
+  .footpara { display: block; }
164
   .footdef  { margin-bottom: 1em; }
73
   .footdef  { margin-bottom: 1em; }
165
   .figure { padding: 1em; }
74
   .figure { padding: 1em; }
166
   .figure p { text-align: center; }
75
   .figure p { text-align: center; }
180
     { font-size: 10px; font-weight: bold; white-space: nowrap; }
89
     { font-size: 10px; font-weight: bold; white-space: nowrap; }
181
   .org-info-js_search-highlight
90
   .org-info-js_search-highlight
182
     { background-color: #ffff00; color: #000000; font-weight: bold; }
91
     { background-color: #ffff00; color: #000000; font-weight: bold; }
183
-  .org-svg { width: 90%; }
184
   /*]]>*/-->
92
   /*]]>*/-->
185
 </style>
93
 </style>
186
 <link rel="stylesheet" type="text/css" href="freedombone.css" />
94
 <link rel="stylesheet" type="text/css" href="freedombone.css" />
189
 @licstart  The following is the entire license notice for the
97
 @licstart  The following is the entire license notice for the
190
 JavaScript code in this tag.
98
 JavaScript code in this tag.
191
 
99
 
192
-Copyright (C) 2012-2017 Free Software Foundation, Inc.
100
+Copyright (C) 2012-2013 Free Software Foundation, Inc.
193
 
101
 
194
 The JavaScript code in this tag is free software: you can
102
 The JavaScript code in this tag is free software: you can
195
 redistribute it and/or modify it under the terms of the GNU
103
 redistribute it and/or modify it under the terms of the GNU
236
 <a name="top" id="top"></a>
144
 <a name="top" id="top"></a>
237
 </div>
145
 </div>
238
 <div id="content">
146
 <div id="content">
147
+<h1 class="title"></h1>
239
 
148
 
240
 <div class="figure">
149
 <div class="figure">
241
 <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
150
 <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
242
 </p>
151
 </p>
243
 </div>
152
 </div>
244
 
153
 
245
-<div class="org-center">
154
+<div class="center">
246
 <p>
155
 <p>
247
 <a href="./release31.html">New release 3.1</a>
156
 <a href="./release31.html">New release 3.1</a>
248
 </p>
157
 </p>
257
 </p>
166
 </p>
258
 
167
 
259
 <p>
168
 <p>
260
-Check out the <a href="./apps.html">list of available apps</a> and <a href="./faq.html">Frequently Asked Questions</a> section. Recent developments are also described on <a href="https://blog.freedombone.net/tag/freedombone">the blog</a>.
169
+Check out the <a href="./apps.html">list of available apps</a> and <a href="./faq.html">Frequently Asked Questions</a> section. Recent developments are also described on <a href="https://blog.freedombone.net/tag/freedombone">the blog</a>. You might also wish to know how to <a href="./backups.html">backup and restore the system</a>.
261
 </p>
170
 </p>
262
 
171
 
263
 <p>
172
 <p>
265
 </p>
174
 </p>
266
 
175
 
267
 <p>
176
 <p>
268
-If you find bugs, or want to add a new app to this system see the <a href="./devguide.html">Developers Guide</a> and <a href="./codeofconduct.html">Code of Conduct</a>. There is a Matrix chat room available at <b>#fbone:matrix.freedombone.net</b> and an XMPP channel at <b>support@chat.freedombone.net</b>.
177
+If you find bugs, or want to add a new app to this system see the <a href="./devguide.html">Developers Guide</a> and <a href="./codeofconduct.html">Code of Conduct</a>. There is a Matrix chat room available at <b>#fbone:matrix.freedombone.net</b> and an XMPP channel at <b>support@chat.freedombone.net</b>. The XMPP channel requires membership which you can ask for via <a href="./support.html">these contact details</a>.
269
 </p>
178
 </p>
270
 
179
 
271
 <p>
180
 <p>

+ 80
- 154
website/EN/support.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
-<!-- 2018-05-13 Sun 11:58 -->
7
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
-<meta name="viewport" content="width=device-width, initial-scale=1" />
9
-<title>&lrm;</title>
10
-<meta name="generator" content="Org mode" />
11
-<meta name="author" content="Bob Mottram" />
12
-<meta name="description" content="How to support the Freedombone project"
6
+<title></title>
7
+<!-- 2018-05-24 Thu 21:42 -->
8
+<meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
9
+<meta  name="generator" content="Org-mode" />
10
+<meta  name="author" content="Bob Mottram" />
11
+<meta  name="description" content="How to support the Freedombone project"
13
  />
12
  />
14
-<meta name="keywords" content="freedombone, support" />
13
+<meta  name="keywords" content="freedombone, support" />
15
 <style type="text/css">
14
 <style type="text/css">
16
  <!--/*--><![CDATA[/*><!--*/
15
  <!--/*--><![CDATA[/*><!--*/
17
-  .title  { text-align: center;
18
-             margin-bottom: .2em; }
19
-  .subtitle { text-align: center;
20
-              font-size: medium;
21
-              font-weight: bold;
22
-              margin-top:0; }
16
+  .title  { text-align: center; }
23
   .todo   { font-family: monospace; color: red; }
17
   .todo   { font-family: monospace; color: red; }
24
-  .done   { font-family: monospace; color: green; }
25
-  .priority { font-family: monospace; color: orange; }
18
+  .done   { color: green; }
26
   .tag    { background-color: #eee; font-family: monospace;
19
   .tag    { background-color: #eee; font-family: monospace;
27
             padding: 2px; font-size: 80%; font-weight: normal; }
20
             padding: 2px; font-size: 80%; font-weight: normal; }
28
   .timestamp { color: #bebebe; }
21
   .timestamp { color: #bebebe; }
29
   .timestamp-kwd { color: #5f9ea0; }
22
   .timestamp-kwd { color: #5f9ea0; }
30
-  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
31
-  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
32
-  .org-center { margin-left: auto; margin-right: auto; text-align: center; }
23
+  .right  { margin-left: auto; margin-right: 0px;  text-align: right; }
24
+  .left   { margin-left: 0px;  margin-right: auto; text-align: left; }
25
+  .center { margin-left: auto; margin-right: auto; text-align: center; }
33
   .underline { text-decoration: underline; }
26
   .underline { text-decoration: underline; }
34
   #postamble p, #preamble p { font-size: 90%; margin: .2em; }
27
   #postamble p, #preamble p { font-size: 90%; margin: .2em; }
35
   p.verse { margin-left: 3%; }
28
   p.verse { margin-left: 3%; }
56
     border: 1px solid black;
49
     border: 1px solid black;
57
   }
50
   }
58
   pre.src:hover:before { display: inline;}
51
   pre.src:hover:before { display: inline;}
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'; }
52
+  pre.src-sh:before    { content: 'sh'; }
53
+  pre.src-bash:before  { content: 'sh'; }
70
   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
54
   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
71
-  pre.src-fortran:before { content: 'Fortran'; }
72
-  pre.src-gnuplot:before { content: 'gnuplot'; }
73
-  pre.src-haskell:before { content: 'Haskell'; }
74
-  pre.src-hledger:before { content: 'hledger'; }
75
-  pre.src-java:before { content: 'Java'; }
76
-  pre.src-js:before { content: 'Javascript'; }
77
-  pre.src-latex:before { content: 'LaTeX'; }
78
-  pre.src-ledger:before { content: 'Ledger'; }
79
-  pre.src-lisp:before { content: 'Lisp'; }
80
-  pre.src-lilypond:before { content: 'Lilypond'; }
81
-  pre.src-lua:before { content: 'Lua'; }
82
-  pre.src-matlab:before { content: 'MATLAB'; }
83
-  pre.src-mscgen:before { content: 'Mscgen'; }
84
-  pre.src-ocaml:before { content: 'Objective Caml'; }
85
-  pre.src-octave:before { content: 'Octave'; }
86
-  pre.src-org:before { content: 'Org mode'; }
87
-  pre.src-oz:before { content: 'OZ'; }
88
-  pre.src-plantuml:before { content: 'Plantuml'; }
89
-  pre.src-processing:before { content: 'Processing.js'; }
90
-  pre.src-python:before { content: 'Python'; }
91
-  pre.src-R:before { content: 'R'; }
92
-  pre.src-ruby:before { content: 'Ruby'; }
93
-  pre.src-sass:before { content: 'Sass'; }
94
-  pre.src-scheme:before { content: 'Scheme'; }
95
-  pre.src-screen:before { content: 'Gnu Screen'; }
96
-  pre.src-sed:before { content: 'Sed'; }
97
-  pre.src-sh:before { content: 'shell'; }
98
-  pre.src-sql:before { content: 'SQL'; }
99
-  pre.src-sqlite:before { content: 'SQLite'; }
100
-  /* additional languages in org.el's org-babel-load-languages alist */
101
-  pre.src-forth:before { content: 'Forth'; }
102
-  pre.src-io:before { content: 'IO'; }
103
-  pre.src-J:before { content: 'J'; }
104
-  pre.src-makefile:before { content: 'Makefile'; }
105
-  pre.src-maxima:before { content: 'Maxima'; }
106
-  pre.src-perl:before { content: 'Perl'; }
107
-  pre.src-picolisp:before { content: 'Pico Lisp'; }
108
-  pre.src-scala:before { content: 'Scala'; }
109
-  pre.src-shell:before { content: 'Shell Script'; }
110
-  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
111
-  /* additional language identifiers per "defun org-babel-execute"
112
-       in ob-*.el */
113
-  pre.src-cpp:before  { content: 'C++'; }
114
-  pre.src-abc:before  { content: 'ABC'; }
115
-  pre.src-coq:before  { content: 'Coq'; }
116
-  pre.src-groovy:before  { content: 'Groovy'; }
117
-  /* additional language identifiers from org-babel-shell-names in
118
-     ob-shell.el: ob-shell is the only babel language using a lambda to put
119
-     the execution function name together. */
120
-  pre.src-bash:before  { content: 'bash'; }
121
-  pre.src-csh:before  { content: 'csh'; }
122
-  pre.src-ash:before  { content: 'ash'; }
123
-  pre.src-dash:before  { content: 'dash'; }
124
-  pre.src-ksh:before  { content: 'ksh'; }
125
-  pre.src-mksh:before  { content: 'mksh'; }
126
-  pre.src-posh:before  { content: 'posh'; }
127
-  /* Additional Emacs modes also supported by the LaTeX listings package */
128
-  pre.src-ada:before { content: 'Ada'; }
129
-  pre.src-asm:before { content: 'Assembler'; }
130
-  pre.src-caml:before { content: 'Caml'; }
131
-  pre.src-delphi:before { content: 'Delphi'; }
132
-  pre.src-html:before { content: 'HTML'; }
133
-  pre.src-idl:before { content: 'IDL'; }
134
-  pre.src-mercury:before { content: 'Mercury'; }
135
-  pre.src-metapost:before { content: 'MetaPost'; }
136
-  pre.src-modula-2:before { content: 'Modula-2'; }
137
-  pre.src-pascal:before { content: 'Pascal'; }
138
-  pre.src-ps:before { content: 'PostScript'; }
139
-  pre.src-prolog:before { content: 'Prolog'; }
140
-  pre.src-simula:before { content: 'Simula'; }
141
-  pre.src-tcl:before { content: 'tcl'; }
142
-  pre.src-tex:before { content: 'TeX'; }
143
-  pre.src-plain-tex:before { content: 'Plain TeX'; }
144
-  pre.src-verilog:before { content: 'Verilog'; }
145
-  pre.src-vhdl:before { content: 'VHDL'; }
146
-  pre.src-xml:before { content: 'XML'; }
147
-  pre.src-nxml:before { content: 'XML'; }
148
-  /* add a generic configuration mode; LaTeX export needs an additional
149
-     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
150
-  pre.src-conf:before { content: 'Configuration File'; }
55
+  pre.src-R:before     { content: 'R'; }
56
+  pre.src-perl:before  { content: 'Perl'; }
57
+  pre.src-java:before  { content: 'Java'; }
58
+  pre.src-sql:before   { content: 'SQL'; }
151
 
59
 
152
   table { border-collapse:collapse; }
60
   table { border-collapse:collapse; }
153
   caption.t-above { caption-side: top; }
61
   caption.t-above { caption-side: top; }
154
   caption.t-bottom { caption-side: bottom; }
62
   caption.t-bottom { caption-side: bottom; }
155
   td, th { vertical-align:top;  }
63
   td, th { vertical-align:top;  }
156
-  th.org-right  { text-align: center;  }
157
-  th.org-left   { text-align: center;   }
158
-  th.org-center { text-align: center; }
159
-  td.org-right  { text-align: right;  }
160
-  td.org-left   { text-align: left;   }
161
-  td.org-center { text-align: center; }
64
+  th.right  { text-align: center;  }
65
+  th.left   { text-align: center;   }
66
+  th.center { text-align: center; }
67
+  td.right  { text-align: right;  }
68
+  td.left   { text-align: left;   }
69
+  td.center { text-align: center; }
162
   dt { font-weight: bold; }
70
   dt { font-weight: bold; }
163
-  .footpara { display: inline; }
71
+  .footpara:nth-child(2) { display: inline; }
72
+  .footpara { display: block; }
164
   .footdef  { margin-bottom: 1em; }
73
   .footdef  { margin-bottom: 1em; }
165
   .figure { padding: 1em; }
74
   .figure { padding: 1em; }
166
   .figure p { text-align: center; }
75
   .figure p { text-align: center; }
180
     { font-size: 10px; font-weight: bold; white-space: nowrap; }
89
     { font-size: 10px; font-weight: bold; white-space: nowrap; }
181
   .org-info-js_search-highlight
90
   .org-info-js_search-highlight
182
     { background-color: #ffff00; color: #000000; font-weight: bold; }
91
     { background-color: #ffff00; color: #000000; font-weight: bold; }
183
-  .org-svg { width: 90%; }
184
   /*]]>*/-->
92
   /*]]>*/-->
185
 </style>
93
 </style>
186
 <link rel="stylesheet" type="text/css" href="freedombone.css" />
94
 <link rel="stylesheet" type="text/css" href="freedombone.css" />
189
 @licstart  The following is the entire license notice for the
97
 @licstart  The following is the entire license notice for the
190
 JavaScript code in this tag.
98
 JavaScript code in this tag.
191
 
99
 
192
-Copyright (C) 2012-2017 Free Software Foundation, Inc.
100
+Copyright (C) 2012-2013 Free Software Foundation, Inc.
193
 
101
 
194
 The JavaScript code in this tag is free software: you can
102
 The JavaScript code in this tag is free software: you can
195
 redistribute it and/or modify it under the terms of the GNU
103
 redistribute it and/or modify it under the terms of the GNU
236
 <a name="top" id="top"></a>
144
 <a name="top" id="top"></a>
237
 </div>
145
 </div>
238
 <div id="content">
146
 <div id="content">
147
+<h1 class="title"></h1>
239
 
148
 
240
 <div class="figure">
149
 <div class="figure">
241
 <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
150
 <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
242
 </p>
151
 </p>
243
 </div>
152
 </div>
244
 
153
 
245
-<div id="outline-container-org2a35610" class="outline-2">
246
-<h2 id="org2a35610">Support</h2>
154
+<div id="outline-container-sec-1" class="outline-2">
155
+<h2 id="sec-1">Support</h2>
247
 </div>
156
 </div>
248
 
157
 
249
-<div id="outline-container-orge2e7a53" class="outline-2">
250
-<h2 id="orge2e7a53">Contact details</h2>
251
-<div class="outline-text-2" id="text-orge2e7a53">
158
+<div id="outline-container-sec-2" class="outline-2">
159
+<h2 id="sec-2">Contact details</h2>
160
+<div class="outline-text-2" id="text-2">
252
 <p>
161
 <p>
253
 This site can also be accessed via a Tor browser at <b><a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a></b>
162
 This site can also be accessed via a Tor browser at <b><a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a></b>
254
 </p>
163
 </p>
255
 
164
 
256
 <p>
165
 <p>
257
-<b>Email:</b> bob@freedombone.net
166
+<b>Email/XMPP:</b> bob@freedombone.net
258
 </p>
167
 </p>
259
 
168
 
260
 <p>
169
 <p>
261
 <b>PGP/GPG Public key:</b>
170
 <b>PGP/GPG Public key:</b>
262
 </p>
171
 </p>
172
+<div class="org-src-container">
173
+
174
+<pre class="src src-bash">-----BEGIN PGP PUBLIC KEY BLOCK-----
175
+
176
+mDMEWZBueBYJKwYBBAHaRw8BAQdAKx1t6wL0RTuU6/IBjngMbVJJ3Wg/3UW73/PV
177
+I47xKTS0IUJvYiBNb3R0cmFtIDxib2JAZnJlZWRvbWJvbmUubmV0PoiQBBMWCAA4
178
+FiEEmruCwAq/OfgmgEh9zCU2GR+nwz8FAlmQbngCGwMFCwkIBwMFFQoJCAsFFgID
179
+AQACHgECF4AACgkQzCU2GR+nwz/9sAD/YgsHnVszHNz1zlVc5EgY1ByDupiJpHj0
180
+XsLYk3AbNRgBALn45RqgD4eWHpmOriH09H5Rc5V9iN4+OiGUn2AzJ6oHuDgEWZBu
181
+eBIKKwYBBAGXVQEFAQEHQPRBG2ZQJce475S3e0Dxeb0Fz5WdEu2q3GYLo4QG+4Ry
182
+AwEIB4h4BBgWCAAgFiEEmruCwAq/OfgmgEh9zCU2GR+nwz8FAlmQbngCGwwACgkQ
183
+zCU2GR+nwz+OswD+JOoyBku9FzuWoVoOevU2HH+bPOMDgY2OLnST9ZSyHkMBAMcK
184
+fnaZ2Wi050483Sj2RmQRpb99Dod7rVZTDtCqXk0J
185
+=gv5G
186
+-----END PGP PUBLIC KEY BLOCK-----
187
+</pre>
188
+</div>
189
+
263
 
190
 
264
 <div class="figure">
191
 <div class="figure">
265
 <p><img src="images/pubkey.png" alt="pubkey.png" width="60%" align="center" />
192
 <p><img src="images/pubkey.png" alt="pubkey.png" width="60%" align="center" />
267
 </div>
194
 </div>
268
 
195
 
269
 <p>
196
 <p>
270
-<b>XMPP channel:</b> support@chat.freedombone.net
197
+<b>XMPP channel:</b> support@chat.freedombone.net (Requires membership. Ask via XMPP to <b>bob@freedombone.net</b>)
271
 </p>
198
 </p>
272
 
199
 
273
 <p>
200
 <p>
280
 </div>
207
 </div>
281
 </div>
208
 </div>
282
 
209
 
283
-<div id="outline-container-org6f7b25d" class="outline-2">
284
-<h2 id="org6f7b25d">Things which would be nice to have</h2>
285
-<div class="outline-text-2" id="text-org6f7b25d">
286
-</div>
287
-<div id="outline-container-orga0bd65e" class="outline-3">
288
-<h3 id="orga0bd65e">Ideas</h3>
289
-<div class="outline-text-3" id="text-orga0bd65e">
210
+<div id="outline-container-sec-3" class="outline-2">
211
+<h2 id="sec-3">Things which would be nice to have</h2>
212
+<div class="outline-text-2" id="text-3">
213
+</div><div id="outline-container-sec-3-1" class="outline-3">
214
+<h3 id="sec-3-1">Ideas</h3>
215
+<div class="outline-text-3" id="text-3-1">
290
 <p>
216
 <p>
291
 Know of some fabulous web system which could run on Freedombone, but currently doesn't? Contact the above, and be prepared to make a compelling argument for why it should be included.
217
 Know of some fabulous web system which could run on Freedombone, but currently doesn't? Contact the above, and be prepared to make a compelling argument for why it should be included.
292
 </p>
218
 </p>
293
 </div>
219
 </div>
294
 </div>
220
 </div>
295
 
221
 
296
-<div id="outline-container-orgc0b3a8b" class="outline-3">
297
-<h3 id="orgc0b3a8b">Money</h3>
298
-<div class="outline-text-3" id="text-orgc0b3a8b">
222
+<div id="outline-container-sec-3-2" class="outline-3">
223
+<h3 id="sec-3-2">Money</h3>
224
+<div class="outline-text-3" id="text-3-2">
299
 <p>
225
 <p>
300
 At the present time this project is not seeking any funding. There is no crowdfunding campaign and no slick marketing video. Those aren't ruled out as future possibilities, but for now they're just not needed.
226
 At the present time this project is not seeking any funding. There is no crowdfunding campaign and no slick marketing video. Those aren't ruled out as future possibilities, but for now they're just not needed.
301
 </p>
227
 </p>
306
 </div>
232
 </div>
307
 </div>
233
 </div>
308
 
234
 
309
-<div id="outline-container-orgdb6bdb7" class="outline-3">
310
-<h3 id="orgdb6bdb7">Testing and reporting bugs</h3>
311
-<div class="outline-text-3" id="text-orgdb6bdb7">
235
+<div id="outline-container-sec-3-3" class="outline-3">
236
+<h3 id="sec-3-3">Testing and reporting bugs</h3>
237
+<div class="outline-text-3" id="text-3-3">
312
 <p>
238
 <p>
313
 Testing of the install on different hardware. Also pentesting on test installations to find vulnerabilities.
239
 Testing of the install on different hardware. Also pentesting on test installations to find vulnerabilities.
314
 </p>
240
 </p>
315
 </div>
241
 </div>
316
 </div>
242
 </div>
317
 
243
 
318
-<div id="outline-container-org422b096" class="outline-3">
319
-<h3 id="org422b096">Web design and artwork</h3>
320
-<div class="outline-text-3" id="text-org422b096">
244
+<div id="outline-container-sec-3-4" class="outline-3">
245
+<h3 id="sec-3-4">Web design and artwork</h3>
246
+<div class="outline-text-3" id="text-3-4">
321
 <p>
247
 <p>
322
 A better design for this website would be nice to have. Photos, icons or other artwork are all welcome. I've always liked the cartoon artwork of the <a href="https://www.mediagoblin.org/">Mediagoblin</a> project, and attractive graphics can help to get people initially interested.
248
 A better design for this website would be nice to have. Photos, icons or other artwork are all welcome. I've always liked the cartoon artwork of the <a href="https://www.mediagoblin.org/">Mediagoblin</a> project, and attractive graphics can help to get people initially interested.
323
 </p>
249
 </p>
324
 </div>
250
 </div>
325
 </div>
251
 </div>
326
 
252
 
327
-<div id="outline-container-orge5eac99" class="outline-3">
328
-<h3 id="orge5eac99">Howto videos</h3>
329
-<div class="outline-text-3" id="text-orge5eac99">
253
+<div id="outline-container-sec-3-5" class="outline-3">
254
+<h3 id="sec-3-5">Howto videos</h3>
255
+<div class="outline-text-3" id="text-3-5">
330
 <p>
256
 <p>
331
 If you're good at making videos then a howto for installing Freedombone onto various types of hardware, or testing the mesh system in realistic/exotic scenarios would be good. You could even host videos on PeerTube or Mediagoblin.
257
 If you're good at making videos then a howto for installing Freedombone onto various types of hardware, or testing the mesh system in realistic/exotic scenarios would be good. You could even host videos on PeerTube or Mediagoblin.
332
 </p>
258
 </p>
333
 </div>
259
 </div>
334
 </div>
260
 </div>
335
-<div id="outline-container-org1f0471f" class="outline-3">
336
-<h3 id="org1f0471f">More education and promotion</h3>
337
-<div class="outline-text-3" id="text-org1f0471f">
261
+<div id="outline-container-sec-3-6" class="outline-3">
262
+<h3 id="sec-3-6">More education and promotion</h3>
263
+<div class="outline-text-3" id="text-3-6">
338
 
264
 
339
 <div class="figure">
265
 <div class="figure">
340
 <p><img src="./images/educate.png" alt="educate.png" width="50%" align="center" />
266
 <p><img src="./images/educate.png" alt="educate.png" width="50%" align="center" />
351
 </div>
277
 </div>
352
 </div>
278
 </div>
353
 
279
 
354
-<div id="outline-container-orgee84413" class="outline-3">
355
-<h3 id="orgee84413">Translations</h3>
356
-<div class="outline-text-3" id="text-orgee84413">
280
+<div id="outline-container-sec-3-7" class="outline-3">
281
+<h3 id="sec-3-7">Translations</h3>
282
+<div class="outline-text-3" id="text-3-7">
357
 <p>
283
 <p>
358
 To add translations modify the json files within the <b>locale</b> subdirectory. Then make a pull request on the <a href="https://github.com/bashrc/freedombone">Github site</a>.
284
 To add translations modify the json files within the <b>locale</b> subdirectory. Then make a pull request on the <a href="https://github.com/bashrc/freedombone">Github site</a>.
359
 </p>
285
 </p>
360
 </div>
286
 </div>
361
 </div>
287
 </div>
362
 
288
 
363
-<div id="outline-container-orgf7fcec0" class="outline-3">
364
-<h3 id="orgf7fcec0">Packaging</h3>
365
-<div class="outline-text-3" id="text-orgf7fcec0">
289
+<div id="outline-container-sec-3-8" class="outline-3">
290
+<h3 id="sec-3-8">Packaging</h3>
291
+<div class="outline-text-3" id="text-3-8">
366
 <p>
292
 <p>
367
 Helping to package GNU Social and Hubzilla for Debian would be beneficial.
293
 Helping to package GNU Social and Hubzilla for Debian would be beneficial.
368
 </p>
294
 </p>