Browse Source

Separate documentation for dlna

Bob Mottram 8 years ago
parent
commit
c71db82848
7 changed files with 580 additions and 302 deletions
  1. 33
    0
      doc/EN/app_dlna.org
  2. 1
    0
      doc/EN/apps.org
  3. 1
    24
      doc/EN/usage.org
  4. 43
    39
      src/freedombone-app-dlna
  5. 304
    0
      website/EN/app_dlna.html
  6. 71
    68
      website/EN/apps.html
  7. 127
    171
      website/EN/usage.html

+ 33
- 0
doc/EN/app_dlna.org View File

@@ -0,0 +1,33 @@
1
+#+TITLE:
2
+#+AUTHOR: Bob Mottram
3
+#+EMAIL: bob@freedombone.net
4
+#+KEYWORDS: freedombone, dlna
5
+#+DESCRIPTION: How to use DLNA
6
+#+OPTIONS: ^:nil toc:nil
7
+#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="freedombone.css" />
8
+
9
+#+BEGIN_CENTER
10
+[[file:images/logo.png]]
11
+#+END_CENTER
12
+
13
+#+BEGIN_EXPORT html
14
+<center>
15
+<h1>DLNA</h1>
16
+</center>
17
+#+END_EXPORT
18
+
19
+An easy way to play music on any mobile device in your home is to use the DLNA service. Copy your music into a directory called "/Music/" on an unencrypted USB thumb drive and then insert it into a USB socket on the Freedombone system.
20
+
21
+ssh into the system with:
22
+
23
+#+BEGIN_SRC bash
24
+ssh myusername@mydomain.com -p 2222
25
+#+END_SRC
26
+
27
+Select *Administrator controls* then *App Settings* then *dlna*. From there you can choose to attach the drive.
28
+
29
+The system will scan the /Music/ directory, which could take a while if there are thousands of files, but you don't need to do anything further other than perhaps to log out by selecting *Exit* a couple of times.
30
+
31
+If you have an Android device then go to F-Droid (if you don't already have it installed then it can be [[https://f-droid.org/][downloaded here]]) and search for *ControlDLNA*. On running the app you should see a red Debian icon which you can press on, then you may need to select "local". After a few seconds the list of albums or tracks should then appear and you can browse and play them.
32
+
33
+The DLNA service will only work within your local home network, and isn't remotely accessible from other locations via the internet. That can be both a good and a bad thing. Another consideration is that there are /no access controls/ on DLNA services, so any music or videos on the USB drive will be playable by anyone within your home network.

+ 1
- 0
doc/EN/apps.org View File

@@ -23,6 +23,7 @@ The base install of the system just contains an email server and Mutt client, bu
23 23
 * DLNA
24 24
 Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.
25 25
 
26
+[[./app_dlna.html][How to use it]]
26 27
 * Dokuwiki
27 28
 A databaseless wiki system.
28 29
 

+ 1
- 24
doc/EN/usage.org View File

@@ -22,7 +22,7 @@
22 22
 | [[./mobile.html][Mobile advice]]                                        |
23 23
 | [[./usage_email.html][Using Email]]                                          |
24 24
 | [[./app_syncthing.html][Syncing to the Cloud]]                                 |
25
-| [[Play Music]]                                           |
25
+| [[./app_dlna.html][Play Music]]                                           |
26 26
 | [[./app_gnusocial.html][Microblogging (GNU Social)]]                           |
27 27
 | [[./app_hubzilla.html][Social Network]]                                       |
28 28
 | [[Chat Services]]                                        |
@@ -97,29 +97,6 @@ ssh username@address.onion -p 2222
97 97
 #+END_SRC
98 98
 
99 99
 Subsequently even if dynamic DNS isn't working you may still be able to administer your system. Using the onion address also gives you some degree of protection against corporate or government metadata analysis, since it becomes more difficult to passively detect which systems are communicating.
100
-* Play Music
101
-** With the DLNA service
102
-An easy way to play music on any mobile device in your home is to use the DLNA service. Copy your music into a directory called "/Music/" on a USB thumb drive and then insert it into from socket on the Beaglebone.
103
-
104
-ssh into the system with:
105
-
106
-#+BEGIN_SRC bash
107
-ssh myusername@mydomain.com -p 2222
108
-#+END_SRC
109
-
110
-Then mount the USB drive with:
111
-
112
-#+BEGIN_SRC bash
113
-su
114
-attach-music
115
-#+END_SRC
116
-
117
-The system will scan the Music directory, which could take a while if there are thousands of files, but you don't need to do anything further with the Beaglebone other than perhaps to log out by typing *exit* a couple of times.
118
-
119
-If you have an Android device then go to F-Droid (if you don't already have it installed then it can be [[https://f-droid.org/][downloaded here]]) and search for *ControlDLNA*. On running the app you should see a red Debian icon which you can press on, then you may need to select "local". After a few seconds the list of albums or tracks should then appear and you can browse and play them.
120
-
121
-The DLNA service will only work within your local home network, and isn't remotely accessible from other locations via the internet. That can be both a good and a bad thing. Another consideration is that there are no access controls on DLNA services, so any music or videos on the USB drive will be playable by anyone within your home network.
122
-
123 100
 * Chat Services
124 101
 ** IRC
125 102
 IRC is useful for multi-user chat. The classic use case is for software development where many engineers might need to coordinate their activities, but it's also useful for meetings, parties and general socialising.

+ 43
- 39
src/freedombone-app-dlna View File

@@ -33,7 +33,7 @@ VARIANTS='full full-vim media'
33 33
 IN_DEFAULT_INSTALL=0
34 34
 
35 35
 dlna_variables=(SYSTEM_TYPE
36
-                USB_MOUNT
36
+                USB_MOUNT_DLNA
37 37
                 INSTALLED_WITHIN_DOCKER
38 38
                 MY_USERNAME)
39 39
 
@@ -54,8 +54,7 @@ function configure_interactive_dlna {
54 54
             255) break;;
55 55
         esac
56 56
         case $(cat $data) in
57
-            1) remove-music
58
-               attach-music;;
57
+            1) attach-music;;
59 58
             2) remove-music;;
60 59
             3) break;;
61 60
         esac
@@ -104,7 +103,7 @@ function backup_local_dlna {
104 103
 
105 104
 function restore_local_dlna {
106 105
     if [ -d /var/cache/minidlna ]; then
107
-        if [ -d $USB_MOUNT/backup/dlna ]; then
106
+        if [ -d $USB_MOUNT_DLNA/backup/dlna ]; then
108 107
             echo $"Restoring DLNA cache"
109 108
             temp_restore_dir=/root/tempdlna
110 109
             function_check restore_directory_from_usb
@@ -125,16 +124,13 @@ function restore_local_dlna {
125 124
 
126 125
 function backup_remote_dlna {
127 126
     if [ -d /var/cache/minidlna ]; then
128
-        echo $"Backing up DLNA cache"
129 127
         backup_directory_to_friend /var/cache/minidlna dlna
130
-        echo $"Backup of DLNA cache complete"
131 128
     fi
132 129
 }
133 130
 
134 131
 function restore_remote_dlna {
135 132
     if [ -d /var/cache/minidlna ]; then
136 133
         if [ -d $SERVER_DIRECTORY/backup/dlna ]; then
137
-            echo $"Restoring DLNA cache"
138 134
             temp_restore_dir=/root/tempdlna
139 135
             function_check restore_directory_from_friend
140 136
             restore_directory_from_friend $temp_restore_dir dlna
@@ -143,17 +139,18 @@ function restore_remote_dlna {
143 139
                 exit 982
144 140
             fi
145 141
             rm -rf $temp_restore_dir
146
-            echo $"Restore of DLNA complete"
147 142
         fi
148 143
     fi
149 144
 }
150 145
 
151 146
 function remove_dlna {
152
-    service minidlna stop
147
+    systemctl stop minidlna
153 148
     apt-get -yq remove --purge minidlna
154 149
     if [ -f /etc/minidlna.conf ]; then
155 150
         rm /etc/minidlna.conf
156 151
     fi
152
+    rm /usr/bin/attach-music
153
+    rm /usr/bin/remove-music
157 154
     remove_completion_param install_dlna
158 155
     firewall_remove 1900 udp
159 156
     firewall_remove 8200 tcp
@@ -171,6 +168,13 @@ function install_dlna_main {
171 168
         exit 55
172 169
     fi
173 170
 
171
+    if [ ! $USB_MOUNT_DLNA ]; then
172
+        USB_MOUNT_DLNA=/mnt/dlna
173
+    fi
174
+    if [ ${#USB_MOUNT_DLNA} -eq 0 ]; then
175
+        USB_MOUNT_DLNA=/mnt/dlna
176
+    fi
177
+
174 178
     sed -i "s|media_dir=/var/lib/minidlna|media_dir=A,/home/$MY_USERNAME/Music|g" /etc/minidlna.conf
175 179
     if ! grep -q "/home/$MY_USERNAME/Pictures" /etc/minidlna.conf; then
176 180
         echo "media_dir=P,/home/$MY_USERNAME/Pictures" >> /etc/minidlna.conf
@@ -178,14 +182,14 @@ function install_dlna_main {
178 182
     if ! grep -q "/home/$MY_USERNAME/Videos" /etc/minidlna.conf; then
179 183
         echo "media_dir=V,/home/$MY_USERNAME/Videos" >> /etc/minidlna.conf
180 184
     fi
181
-    if ! grep -q "$USB_MOUNT/Music" /etc/minidlna.conf; then
182
-        echo "media_dir=A,$USB_MOUNT/Music" >> /etc/minidlna.conf
185
+    if ! grep -q "$USB_MOUNT_DLNA/Music" /etc/minidlna.conf; then
186
+        echo "media_dir=A,$USB_MOUNT_DLNA/Music" >> /etc/minidlna.conf
183 187
     fi
184
-    if ! grep -q "$USB_MOUNT/Pictures" /etc/minidlna.conf; then
185
-        echo "media_dir=P,$USB_MOUNT/Pictures" >> /etc/minidlna.conf
188
+    if ! grep -q "$USB_MOUNT_DLNA/Pictures" /etc/minidlna.conf; then
189
+        echo "media_dir=P,$USB_MOUNT_DLNA/Pictures" >> /etc/minidlna.conf
186 190
     fi
187
-    if ! grep -q "$USB_MOUNT/Videos" /etc/minidlna.conf; then
188
-        echo "media_dir=V,$USB_MOUNT/Videos" >> /etc/minidlna.conf
191
+    if ! grep -q "$USB_MOUNT_DLNA/Videos" /etc/minidlna.conf; then
192
+        echo "media_dir=V,$USB_MOUNT_DLNA/Videos" >> /etc/minidlna.conf
189 193
     fi
190 194
     sed -i 's/#root_container=./root_container=B/g' /etc/minidlna.conf
191 195
     if [[ $SYSTEM_TYPE != "mesh"* ]]; then
@@ -202,8 +206,7 @@ function install_dlna_main {
202 206
     sed -i 's/#inotify=yes/inotify=yes/g' /etc/minidlna.conf
203 207
     sed -i 's/#notify_interval=895/notify_interval=300/g' /etc/minidlna.conf
204 208
     sed -i "s|#presentation_url=/|presentation_url=http://localhost:8200|g" /etc/minidlna.conf
205
-    service minidlna force-reload
206
-    service minidlna reload
209
+    systemctl reload minidlna
207 210
 
208 211
     sed -i 's/fs.inotify.max_user_watches*/fs.inotify.max_user_watches=65536/g' /etc/sysctl.conf
209 212
     if ! grep -q "max_user_watches" $COMPLETION_FILE; then
@@ -221,36 +224,37 @@ function script_for_attaching_usb_drive {
221 224
         return
222 225
     fi
223 226
     echo '#!/bin/bash' > /usr/bin/attach-music
227
+    echo "source /usr/local/bin/${PROJECT_NAME}-vars" >> /usr/bin/attach-music
228
+    echo "UTILS_FILES=/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-*" >> /usr/bin/attach-music
229
+    echo '' >> /usr/bin/attach-music
230
+    echo 'for f in $UTILS_FILES' >> /usr/bin/attach-music
231
+    echo 'do' >> /usr/bin/attach-music
232
+    echo '    source $f' >> /usr/bin/attach-music
233
+    echo 'done' >> /usr/bin/attach-music
234
+    echo '' >> /usr/bin/attach-music
235
+    echo 'USB_DRIVE=/dev/sda1' >> /usr/bin/attach-music
236
+    echo 'detect_usb_drive' >> /usr/bin/attach-music
237
+    echo '' >> /usr/bin/attach-music
224 238
     echo 'remove-music' >> /usr/bin/attach-music
225
-    echo "if [ ! -d $USB_MOUNT ]; then" >> /usr/bin/attach-music
226
-    echo "  mkdir $USB_MOUNT" >> /usr/bin/attach-music
239
+    echo "if [ ! -d $USB_MOUNT_DLNA ]; then" >> /usr/bin/attach-music
240
+    echo "    mkdir $USB_MOUNT_DLNA" >> /usr/bin/attach-music
227 241
     echo 'fi' >> /usr/bin/attach-music
228
-    echo "mount /dev/sda1 $USB_MOUNT" >> /usr/bin/attach-music
229
-    echo "chown root:root $USB_MOUNT" >> /usr/bin/attach-music
230
-    echo "chown -R minidlna:minidlna $USB_MOUNT/*" >> /usr/bin/attach-music
231
-    echo 'service minidlna restart' >> /usr/bin/attach-music
242
+    echo -n 'mount $USB_DRIVE ' >> /usr/bin/attach-music
243
+    echo "$USB_MOUNT_DLNA" >> /usr/bin/attach-music
244
+    echo "chown root:root $USB_MOUNT_DLNA" >> /usr/bin/attach-music
245
+    echo "chown -R minidlna:minidlna $USB_MOUNT_DLNA/*" >> /usr/bin/attach-music
246
+    echo 'systemctl restart minidlna' >> /usr/bin/attach-music
232 247
     echo 'minidlnad -R' >> /usr/bin/attach-music
248
+    echo 'exit 0' >> /usr/bin/attach-music
233 249
     chmod +x /usr/bin/attach-music
234
-    ln -s /usr/bin/attach-music /usr/bin/attach-usb
235
-    ln -s /usr/bin/attach-music /usr/bin/attach-videos
236
-    ln -s /usr/bin/attach-music /usr/bin/attach-pictures
237
-    ln -s /usr/bin/attach-music /usr/bin/attach-media
238 250
 
239 251
     echo '#!/bin/bash' > /usr/bin/remove-music
240
-    echo "if [ -d $USB_MOUNT ]; then" >> /usr/bin/remove-music
241
-    echo "  umount $USB_MOUNT" >> /usr/bin/remove-music
242
-    echo "  rm -rf $USB_MOUNT" >> /usr/bin/remove-music
252
+    echo "if [ -d $USB_MOUNT_DLNA ]; then" >> /usr/bin/remove-music
253
+    echo "  umount $USB_MOUNT_DLNA" >> /usr/bin/remove-music
254
+    echo "  rm -rf $USB_MOUNT_DLNA" >> /usr/bin/remove-music
243 255
     echo 'fi' >> /usr/bin/remove-music
256
+    echo 'exit 0' >> /usr/bin/remove-music
244 257
     chmod +x /usr/bin/remove-music
245
-    ln -s /usr/bin/remove-music /usr/bin/detach-music
246
-    ln -s /usr/bin/remove-music /usr/bin/detach-usb
247
-    ln -s /usr/bin/remove-music /usr/bin/remove-usb
248
-    ln -s /usr/bin/remove-music /usr/bin/detach-media
249
-    ln -s /usr/bin/remove-music /usr/bin/remove-media
250
-    ln -s /usr/bin/remove-music /usr/bin/detach-videos
251
-    ln -s /usr/bin/remove-music /usr/bin/remove-videos
252
-    ln -s /usr/bin/remove-music /usr/bin/detach-pictures
253
-    ln -s /usr/bin/remove-music /usr/bin/remove-pictures
254 258
 
255 259
     mark_completed $FUNCNAME
256 260
 }

+ 304
- 0
website/EN/app_dlna.html View File

@@ -0,0 +1,304 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
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">
5
+<head>
6
+<!-- 2016-11-12 Sat 20:17 -->
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></title>
10
+<meta name="generator" content="Org mode" />
11
+<meta name="author" content="Bob Mottram" />
12
+<meta name="description" content="How to use DLNA"
13
+ />
14
+<meta name="keywords" content="freedombone, dlna" />
15
+<style type="text/css">
16
+ <!--/*--><![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; }
23
+  .todo   { font-family: monospace; color: red; }
24
+  .done   { font-family: monospace; color: green; }
25
+  .priority { font-family: monospace; color: orange; }
26
+  .tag    { background-color: #eee; font-family: monospace;
27
+            padding: 2px; font-size: 80%; font-weight: normal; }
28
+  .timestamp { color: #bebebe; }
29
+  .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; }
33
+  .underline { text-decoration: underline; }
34
+  #postamble p, #preamble p { font-size: 90%; margin: .2em; }
35
+  p.verse { margin-left: 3%; }
36
+  pre {
37
+    border: 1px solid #ccc;
38
+    box-shadow: 3px 3px 3px #eee;
39
+    padding: 8pt;
40
+    font-family: monospace;
41
+    overflow: auto;
42
+    margin: 1.2em;
43
+  }
44
+  pre.src {
45
+    position: relative;
46
+    overflow: visible;
47
+    padding-top: 1.2em;
48
+  }
49
+  pre.src:before {
50
+    display: none;
51
+    position: absolute;
52
+    background-color: white;
53
+    top: -10px;
54
+    right: 10px;
55
+    padding: 3px;
56
+    border: 1px solid black;
57
+  }
58
+  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'; }
70
+  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-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-lua:before { content: 'Lua'; }
81
+  pre.src-matlab:before { content: 'MATLAB'; }
82
+  pre.src-mscgen:before { content: 'Mscgen'; }
83
+  pre.src-ocaml:before { content: 'Objective Caml'; }
84
+  pre.src-octave:before { content: 'Octave'; }
85
+  pre.src-org:before { content: 'Org mode'; }
86
+  pre.src-oz:before { content: 'OZ'; }
87
+  pre.src-plantuml:before { content: 'Plantuml'; }
88
+  pre.src-processing:before { content: 'Processing.js'; }
89
+  pre.src-python:before { content: 'Python'; }
90
+  pre.src-R:before { content: 'R'; }
91
+  pre.src-ruby:before { content: 'Ruby'; }
92
+  pre.src-sass:before { content: 'Sass'; }
93
+  pre.src-scheme:before { content: 'Scheme'; }
94
+  pre.src-screen:before { content: 'Gnu Screen'; }
95
+  pre.src-sed:before { content: 'Sed'; }
96
+  pre.src-sh:before { content: 'shell'; }
97
+  pre.src-sql:before { content: 'SQL'; }
98
+  pre.src-sqlite:before { content: 'SQLite'; }
99
+  /* additional languages in org.el's org-babel-load-languages alist */
100
+  pre.src-forth:before { content: 'Forth'; }
101
+  pre.src-io:before { content: 'IO'; }
102
+  pre.src-J:before { content: 'J'; }
103
+  pre.src-makefile:before { content: 'Makefile'; }
104
+  pre.src-maxima:before { content: 'Maxima'; }
105
+  pre.src-perl:before { content: 'Perl'; }
106
+  pre.src-picolisp:before { content: 'Pico Lisp'; }
107
+  pre.src-scala:before { content: 'Scala'; }
108
+  pre.src-shell:before { content: 'Shell Script'; }
109
+  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
110
+  /* additional language identifiers per "defun org-babel-execute"
111
+       in ob-*.el */
112
+  pre.src-cpp:before  { content: 'C++'; }
113
+  pre.src-abc:before  { content: 'ABC'; }
114
+  pre.src-coq:before  { content: 'Coq'; }
115
+  pre.src-groovy:before  { content: 'Groovy'; }
116
+  /* additional language identifiers from org-babel-shell-names in
117
+     ob-shell.el: ob-shell is the only babel language using a lambda to put
118
+     the execution function name together. */
119
+  pre.src-bash:before  { content: 'bash'; }
120
+  pre.src-csh:before  { content: 'csh'; }
121
+  pre.src-ash:before  { content: 'ash'; }
122
+  pre.src-dash:before  { content: 'dash'; }
123
+  pre.src-ksh:before  { content: 'ksh'; }
124
+  pre.src-mksh:before  { content: 'mksh'; }
125
+  pre.src-posh:before  { content: 'posh'; }
126
+  /* Additional Emacs modes also supported by the LaTeX listings package */
127
+  pre.src-ada:before { content: 'Ada'; }
128
+  pre.src-asm:before { content: 'Assembler'; }
129
+  pre.src-caml:before { content: 'Caml'; }
130
+  pre.src-delphi:before { content: 'Delphi'; }
131
+  pre.src-html:before { content: 'HTML'; }
132
+  pre.src-idl:before { content: 'IDL'; }
133
+  pre.src-mercury:before { content: 'Mercury'; }
134
+  pre.src-metapost:before { content: 'MetaPost'; }
135
+  pre.src-modula-2:before { content: 'Modula-2'; }
136
+  pre.src-pascal:before { content: 'Pascal'; }
137
+  pre.src-ps:before { content: 'PostScript'; }
138
+  pre.src-prolog:before { content: 'Prolog'; }
139
+  pre.src-simula:before { content: 'Simula'; }
140
+  pre.src-tcl:before { content: 'tcl'; }
141
+  pre.src-tex:before { content: 'TeX'; }
142
+  pre.src-plain-tex:before { content: 'Plain TeX'; }
143
+  pre.src-verilog:before { content: 'Verilog'; }
144
+  pre.src-vhdl:before { content: 'VHDL'; }
145
+  pre.src-xml:before { content: 'XML'; }
146
+  pre.src-nxml:before { content: 'XML'; }
147
+  /* add a generic configuration mode; LaTeX export needs an additional
148
+     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
149
+  pre.src-conf:before { content: 'Configuration File'; }
150
+
151
+  table { border-collapse:collapse; }
152
+  caption.t-above { caption-side: top; }
153
+  caption.t-bottom { caption-side: bottom; }
154
+  td, th { vertical-align:top;  }
155
+  th.org-right  { text-align: center;  }
156
+  th.org-left   { text-align: center;   }
157
+  th.org-center { text-align: center; }
158
+  td.org-right  { text-align: right;  }
159
+  td.org-left   { text-align: left;   }
160
+  td.org-center { text-align: center; }
161
+  dt { font-weight: bold; }
162
+  .footpara { display: inline; }
163
+  .footdef  { margin-bottom: 1em; }
164
+  .figure { padding: 1em; }
165
+  .figure p { text-align: center; }
166
+  .inlinetask {
167
+    padding: 10px;
168
+    border: 2px solid gray;
169
+    margin: 10px;
170
+    background: #ffffcc;
171
+  }
172
+  #org-div-home-and-up
173
+   { text-align: right; font-size: 70%; white-space: nowrap; }
174
+  textarea { overflow-x: auto; }
175
+  .linenr { font-size: smaller }
176
+  .code-highlighted { background-color: #ffff00; }
177
+  .org-info-js_info-navigation { border-style: none; }
178
+  #org-info-js_console-label
179
+    { font-size: 10px; font-weight: bold; white-space: nowrap; }
180
+  .org-info-js_search-highlight
181
+    { background-color: #ffff00; color: #000000; font-weight: bold; }
182
+  .org-svg { width: 90%; }
183
+  /*]]>*/-->
184
+</style>
185
+<link rel="stylesheet" type="text/css" href="freedombone.css" />
186
+<script type="text/javascript">
187
+/*
188
+@licstart  The following is the entire license notice for the
189
+JavaScript code in this tag.
190
+
191
+Copyright (C) 2012-2013 Free Software Foundation, Inc.
192
+
193
+The JavaScript code in this tag is free software: you can
194
+redistribute it and/or modify it under the terms of the GNU
195
+General Public License (GNU GPL) as published by the Free Software
196
+Foundation, either version 3 of the License, or (at your option)
197
+any later version.  The code is distributed WITHOUT ANY WARRANTY;
198
+without even the implied warranty of MERCHANTABILITY or FITNESS
199
+FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
200
+
201
+As additional permission under GNU GPL version 3 section 7, you
202
+may distribute non-source (e.g., minimized or compacted) forms of
203
+that code without the copy of the GNU GPL normally required by
204
+section 4, provided you include this license notice and a URL
205
+through which recipients can access the Corresponding Source.
206
+
207
+
208
+@licend  The above is the entire license notice
209
+for the JavaScript code in this tag.
210
+*/
211
+<!--/*--><![CDATA[/*><!--*/
212
+ function CodeHighlightOn(elem, id)
213
+ {
214
+   var target = document.getElementById(id);
215
+   if(null != target) {
216
+     elem.cacheClassElem = elem.className;
217
+     elem.cacheClassTarget = target.className;
218
+     target.className = "code-highlighted";
219
+     elem.className   = "code-highlighted";
220
+   }
221
+ }
222
+ function CodeHighlightOff(elem, id)
223
+ {
224
+   var target = document.getElementById(id);
225
+   if(elem.cacheClassElem)
226
+     elem.className = elem.cacheClassElem;
227
+   if(elem.cacheClassTarget)
228
+     target.className = elem.cacheClassTarget;
229
+ }
230
+/*]]>*///-->
231
+</script>
232
+</head>
233
+<body>
234
+<div id="preamble" class="status">
235
+<a name="top" id="top"></a>
236
+</div>
237
+<div id="content">
238
+<div class="org-center">
239
+
240
+<div class="figure">
241
+<p><img src="images/logo.png" alt="logo.png" />
242
+</p>
243
+</div>
244
+</div>
245
+
246
+<center>
247
+<h1>DLNA</h1>
248
+</center>
249
+
250
+<p>
251
+An easy way to play music on any mobile device in your home is to use the DLNA service. Copy your music into a directory called "<i>Music</i>" on an unencrypted USB thumb drive and then insert it into a USB socket on the Freedombone system.
252
+</p>
253
+
254
+<p>
255
+ssh into the system with:
256
+</p>
257
+
258
+<div class="org-src-container">
259
+<pre class="src src-bash">ssh myusername@mydomain.com -p 2222
260
+</pre>
261
+</div>
262
+
263
+<p>
264
+Select <b>Administrator controls</b> then <b>App Settings</b> then <b>dlna</b>. From there you can choose to attach the drive.
265
+</p>
266
+
267
+<p>
268
+The system will scan the <i>Music</i> directory, which could take a while if there are thousands of files, but you don't need to do anything further other than perhaps to log out by selecting <b>Exit</b> a couple of times.
269
+</p>
270
+
271
+<p>
272
+If you have an Android device then go to F-Droid (if you don't already have it installed then it can be <a href="https://f-droid.org/">downloaded here</a>) and search for <b>ControlDLNA</b>. On running the app you should see a red Debian icon which you can press on, then you may need to select "local". After a few seconds the list of albums or tracks should then appear and you can browse and play them.
273
+</p>
274
+
275
+<p>
276
+The DLNA service will only work within your local home network, and isn't remotely accessible from other locations via the internet. That can be both a good and a bad thing. Another consideration is that there are <i>no access controls</i> on DLNA services, so any music or videos on the USB drive will be playable by anyone within your home network.
277
+</p>
278
+</div>
279
+<div id="postamble" class="status">
280
+
281
+<style type="text/css">
282
+.back-to-top {
283
+    position: fixed;
284
+    bottom: 2em;
285
+    right: 0px;
286
+    text-decoration: none;
287
+    color: #000000;
288
+    background-color: rgba(235, 235, 235, 0.80);
289
+    font-size: 12px;
290
+    padding: 1em;
291
+    display: none;
292
+}
293
+
294
+.back-to-top:hover {
295
+    background-color: rgba(135, 135, 135, 0.50);
296
+}
297
+</style>
298
+
299
+<div class="back-to-top">
300
+<a href="#top">Back to top</a> | <a href="mailto:bob@freedombone.net">E-mail me</a>
301
+</div>
302
+</div>
303
+</body>
304
+</html>

+ 71
- 68
website/EN/apps.html View File

@@ -3,7 +3,7 @@
3 3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5 5
 <head>
6
-<!-- 2016-11-12 Sat 19:06 -->
6
+<!-- 2016-11-12 Sat 20:19 -->
7 7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8 8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9 9
 <title></title>
@@ -257,54 +257,57 @@ The base install of the system just contains an email server and Mutt client, bu
257 257
 </div>
258 258
 </div>
259 259
 
260
-<div id="outline-container-org37dde03" class="outline-2">
261
-<h2 id="org37dde03">DLNA</h2>
262
-<div class="outline-text-2" id="text-org37dde03">
260
+<div id="outline-container-org8b362e0" class="outline-2">
261
+<h2 id="org8b362e0">DLNA</h2>
262
+<div class="outline-text-2" id="text-org8b362e0">
263 263
 <p>
264 264
 Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.
265 265
 </p>
266
+
267
+<p>
268
+<a href="./app_dlna.html">How to use it</a>
269
+</p>
266 270
 </div>
267 271
 </div>
268
-
269
-<div id="outline-container-orgb2b081e" class="outline-2">
270
-<h2 id="orgb2b081e">Dokuwiki</h2>
271
-<div class="outline-text-2" id="text-orgb2b081e">
272
+<div id="outline-container-org5a75e71" class="outline-2">
273
+<h2 id="org5a75e71">Dokuwiki</h2>
274
+<div class="outline-text-2" id="text-org5a75e71">
272 275
 <p>
273 276
 A databaseless wiki system.
274 277
 </p>
275 278
 </div>
276 279
 </div>
277 280
 
278
-<div id="outline-container-orgbef7c5d" class="outline-2">
279
-<h2 id="orgbef7c5d">Emacs</h2>
280
-<div class="outline-text-2" id="text-orgbef7c5d">
281
+<div id="outline-container-org08e9b36" class="outline-2">
282
+<h2 id="org08e9b36">Emacs</h2>
283
+<div class="outline-text-2" id="text-org08e9b36">
281 284
 <p>
282 285
 If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.
283 286
 </p>
284 287
 </div>
285 288
 </div>
286 289
 
287
-<div id="outline-container-orgea9225f" class="outline-2">
288
-<h2 id="orgea9225f">Etherpad</h2>
289
-<div class="outline-text-2" id="text-orgea9225f">
290
+<div id="outline-container-orgc84769a" class="outline-2">
291
+<h2 id="orgc84769a">Etherpad</h2>
292
+<div class="outline-text-2" id="text-orgc84769a">
290 293
 <p>
291 294
 Collaborate on creating documents in real time. Maybe you're planning a holiday with other family members or creating documentation for a Free Software project along with other volunteers. Etherpad is hard to beat for simplicity and speed. Only users of the system will be able to access it.
292 295
 </p>
293 296
 </div>
294 297
 </div>
295 298
 
296
-<div id="outline-container-org4b850a3" class="outline-2">
297
-<h2 id="org4b850a3">Ghost</h2>
298
-<div class="outline-text-2" id="text-org4b850a3">
299
+<div id="outline-container-org6fc29f0" class="outline-2">
300
+<h2 id="org6fc29f0">Ghost</h2>
301
+<div class="outline-text-2" id="text-org6fc29f0">
299 302
 <p>
300 303
 Modern looking blogging system.
301 304
 </p>
302 305
 </div>
303 306
 </div>
304 307
 
305
-<div id="outline-container-orgb0bbf11" class="outline-2">
306
-<h2 id="orgb0bbf11">GNU Social</h2>
307
-<div class="outline-text-2" id="text-orgb0bbf11">
308
+<div id="outline-container-org13473f6" class="outline-2">
309
+<h2 id="org13473f6">GNU Social</h2>
310
+<div class="outline-text-2" id="text-org13473f6">
308 311
 <p>
309 312
 Federated social network. You can "<i>remote follow</i>" other users within the GNU Social federation.
310 313
 </p>
@@ -314,27 +317,27 @@ Federated social network. You can "<i>remote follow</i>" other users within the
314 317
 </p>
315 318
 </div>
316 319
 </div>
317
-<div id="outline-container-org592494d" class="outline-2">
318
-<h2 id="org592494d">Gogs</h2>
319
-<div class="outline-text-2" id="text-org592494d">
320
+<div id="outline-container-orge704409" class="outline-2">
321
+<h2 id="orge704409">Gogs</h2>
322
+<div class="outline-text-2" id="text-orge704409">
320 323
 <p>
321 324
 Lightweight git project hosting system. You can mirror projects from Github, or if Github turns evil then just host your own projects while retaining the familiar <i>fork-and-pull</i> workflow. If you can use Github then you can also use Gogs.
322 325
 </p>
323 326
 </div>
324 327
 </div>
325 328
 
326
-<div id="outline-container-org245ef0e" class="outline-2">
327
-<h2 id="org245ef0e">HTMLy</h2>
328
-<div class="outline-text-2" id="text-org245ef0e">
329
+<div id="outline-container-org615d7da" class="outline-2">
330
+<h2 id="org615d7da">HTMLy</h2>
331
+<div class="outline-text-2" id="text-org615d7da">
329 332
 <p>
330 333
 Databaseless blogging system. Quite simple and with a markdown-like format.
331 334
 </p>
332 335
 </div>
333 336
 </div>
334 337
 
335
-<div id="outline-container-org3fe0bdc" class="outline-2">
336
-<h2 id="org3fe0bdc">Hubzilla</h2>
337
-<div class="outline-text-2" id="text-org3fe0bdc">
338
+<div id="outline-container-org11b80ad" class="outline-2">
339
+<h2 id="org11b80ad">Hubzilla</h2>
340
+<div class="outline-text-2" id="text-org11b80ad">
338 341
 <p>
339 342
 Web publishing platform with social network like features and good privacy controls so that it's possible to specify who can see which content. Includes photo albums, calendar, wiki and file storage.
340 343
 </p>
@@ -344,90 +347,90 @@ Web publishing platform with social network like features and good privacy contr
344 347
 </p>
345 348
 </div>
346 349
 </div>
347
-<div id="outline-container-orga37f3ba" class="outline-2">
348
-<h2 id="orga37f3ba">IRC Server (ngirc)</h2>
349
-<div class="outline-text-2" id="text-orga37f3ba">
350
+<div id="outline-container-org3edd239" class="outline-2">
351
+<h2 id="org3edd239">IRC Server (ngirc)</h2>
352
+<div class="outline-text-2" id="text-org3edd239">
350 353
 <p>
351 354
 Run your own IRC chat channel which can be secured with a password and accessible via an onion address. A bouncer is included so that you can receive messages sent while you were offline. Works with Hexchat and other popular clients.
352 355
 </p>
353 356
 </div>
354 357
 </div>
355 358
 
356
-<div id="outline-container-org4297227" class="outline-2">
357
-<h2 id="org4297227">Jitsi Meet</h2>
358
-<div class="outline-text-2" id="text-org4297227">
359
+<div id="outline-container-orgbd7eda1" class="outline-2">
360
+<h2 id="orgbd7eda1">Jitsi Meet</h2>
361
+<div class="outline-text-2" id="text-orgbd7eda1">
359 362
 <p>
360 363
 Experimental WebRTC video conferencing system, similar to Google Hangouts. This may not be fully functional, but is hoped to be in the near future.
361 364
 </p>
362 365
 </div>
363 366
 </div>
364 367
 
365
-<div id="outline-container-orga757fb2" class="outline-2">
366
-<h2 id="orga757fb2">Lychee</h2>
367
-<div class="outline-text-2" id="text-orga757fb2">
368
+<div id="outline-container-org56f2d4c" class="outline-2">
369
+<h2 id="org56f2d4c">Lychee</h2>
370
+<div class="outline-text-2" id="text-org56f2d4c">
368 371
 <p>
369 372
 Make your photo albums available on the web.
370 373
 </p>
371 374
 </div>
372 375
 </div>
373 376
 
374
-<div id="outline-container-org7a7e39b" class="outline-2">
375
-<h2 id="org7a7e39b">Mailpile</h2>
376
-<div class="outline-text-2" id="text-org7a7e39b">
377
+<div id="outline-container-org2c415e2" class="outline-2">
378
+<h2 id="org2c415e2">Mailpile</h2>
379
+<div class="outline-text-2" id="text-org2c415e2">
377 380
 <p>
378 381
 Modern email client which supports GPG encryption.
379 382
 </p>
380 383
 </div>
381 384
 </div>
382 385
 
383
-<div id="outline-container-org857a6fa" class="outline-2">
384
-<h2 id="org857a6fa">Mumble</h2>
385
-<div class="outline-text-2" id="text-org857a6fa">
386
+<div id="outline-container-orgb65e532" class="outline-2">
387
+<h2 id="orgb65e532">Mumble</h2>
388
+<div class="outline-text-2" id="text-orgb65e532">
386 389
 <p>
387 390
 The popular VoIP and text chat system. Say goodbye to old-fashioned telephony conferences with silly dial codes. Also works well on mobile.
388 391
 </p>
389 392
 </div>
390 393
 </div>
391 394
 
392
-<div id="outline-container-org4b60729" class="outline-2">
393
-<h2 id="org4b60729">PI-Hole</h2>
394
-<div class="outline-text-2" id="text-org4b60729">
395
+<div id="outline-container-org73032ef" class="outline-2">
396
+<h2 id="org73032ef">PI-Hole</h2>
397
+<div class="outline-text-2" id="text-org73032ef">
395 398
 <p>
396 399
 The black hole for web adverts. Block adverts at the domain name level within your local network. It can significantly reduce bandwidth, speed up page load times and protect your systems from being tracked by spyware.
397 400
 </p>
398 401
 </div>
399 402
 </div>
400 403
 
401
-<div id="outline-container-org296b9b7" class="outline-2">
402
-<h2 id="org296b9b7">PostActiv</h2>
403
-<div class="outline-text-2" id="text-org296b9b7">
404
+<div id="outline-container-orgac6069d" class="outline-2">
405
+<h2 id="orgac6069d">PostActiv</h2>
406
+<div class="outline-text-2" id="text-orgac6069d">
404 407
 <p>
405 408
 An alternative federated social networking system compatible with GNU Social. It includes some optimisations and fixes currently not available within the main GNU Social project.
406 409
 </p>
407 410
 </div>
408 411
 </div>
409 412
 
410
-<div id="outline-container-org6730c37" class="outline-2">
411
-<h2 id="org6730c37">Radicale</h2>
412
-<div class="outline-text-2" id="text-org6730c37">
413
+<div id="outline-container-org889b446" class="outline-2">
414
+<h2 id="org889b446">Radicale</h2>
415
+<div class="outline-text-2" id="text-org889b446">
413 416
 <p>
414 417
 Calendar system compatible with CalDAV and CardDAV. Manage your calendar events easily across all your devices.
415 418
 </p>
416 419
 </div>
417 420
 </div>
418 421
 
419
-<div id="outline-container-orgb6e77e0" class="outline-2">
420
-<h2 id="orgb6e77e0">tt-rss</h2>
421
-<div class="outline-text-2" id="text-orgb6e77e0">
422
+<div id="outline-container-orgbad0c63" class="outline-2">
423
+<h2 id="orgbad0c63">tt-rss</h2>
424
+<div class="outline-text-2" id="text-orgbad0c63">
422 425
 <p>
423 426
 Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via an onion address. Have "<i>the right to read</i>" without the Surveillance State knowing what you're reading. Also available with a user interface suitable for viewing on mobile devices via a browser such as OrFox.
424 427
 </p>
425 428
 </div>
426 429
 </div>
427 430
 
428
-<div id="outline-container-org0e95589" class="outline-2">
429
-<h2 id="org0e95589">Syncthing</h2>
430
-<div class="outline-text-2" id="text-org0e95589">
431
+<div id="outline-container-org7425471" class="outline-2">
432
+<h2 id="org7425471">Syncthing</h2>
433
+<div class="outline-text-2" id="text-org7425471">
431 434
 <p>
432 435
 Possibly the best way to synchronise files across all of your devices. Once it has been set up it "just works" with no user intervention needed.
433 436
 </p>
@@ -437,27 +440,27 @@ Possibly the best way to synchronise files across all of your devices. Once it h
437 440
 </p>
438 441
 </div>
439 442
 </div>
440
-<div id="outline-container-org4e88617" class="outline-2">
441
-<h2 id="org4e88617">Tox</h2>
442
-<div class="outline-text-2" id="text-org4e88617">
443
+<div id="outline-container-org182c2c6" class="outline-2">
444
+<h2 id="org182c2c6">Tox</h2>
445
+<div class="outline-text-2" id="text-org182c2c6">
443 446
 <p>
444 447
 Client and bootstrap node for the Tox chat/VoIP system.
445 448
 </p>
446 449
 </div>
447 450
 </div>
448 451
 
449
-<div id="outline-container-org888c449" class="outline-2">
450
-<h2 id="org888c449">Vim</h2>
451
-<div class="outline-text-2" id="text-org888c449">
452
+<div id="outline-container-org6f2a32f" class="outline-2">
453
+<h2 id="org6f2a32f">Vim</h2>
454
+<div class="outline-text-2" id="text-org6f2a32f">
452 455
 <p>
453 456
 If you use the Mutt client to read your email then this will set it up to use vim for composing new mail.
454 457
 </p>
455 458
 </div>
456 459
 </div>
457 460
 
458
-<div id="outline-container-org2b56b2b" class="outline-2">
459
-<h2 id="org2b56b2b">XMPP</h2>
460
-<div class="outline-text-2" id="text-org2b56b2b">
461
+<div id="outline-container-orga1114f1" class="outline-2">
462
+<h2 id="orga1114f1">XMPP</h2>
463
+<div class="outline-text-2" id="text-orga1114f1">
461 464
 <p>
462 465
 Chat server which can be used together with client such as Gajim or Conversations to provide end-to-end content security and also onion routed metadata security. Includes advanced features such as <i>client state notification</i> to save battery power on your mobile devices, support for seamless roaming between networks and <i>message carbons</i> so that you can receive the same messages while being simultaneously logged in to your account on more than one device.
463 466
 </p>

+ 127
- 171
website/EN/usage.html View File

@@ -3,7 +3,7 @@
3 3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5 5
 <head>
6
-<!-- 2016-11-12 Sat 19:05 -->
6
+<!-- 2016-11-12 Sat 20:18 -->
7 7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8 8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9 9
 <title></title>
@@ -255,15 +255,15 @@ for the JavaScript code in this tag.
255 255
 </colgroup>
256 256
 <tbody>
257 257
 <tr>
258
-<td class="org-left"><a href="#org141137d">Readme</a></td>
258
+<td class="org-left"><a href="#orge0d5123">Readme</a></td>
259 259
 </tr>
260 260
 
261 261
 <tr>
262
-<td class="org-left"><a href="#org9c10648">Improving ssh security</a></td>
262
+<td class="org-left"><a href="#orgd2a9afb">Improving ssh security</a></td>
263 263
 </tr>
264 264
 
265 265
 <tr>
266
-<td class="org-left"><a href="#orgc3c2433">Administrating the system via an onion address (Tor)</a></td>
266
+<td class="org-left"><a href="#orgaf97067">Administrating the system via an onion address (Tor)</a></td>
267 267
 </tr>
268 268
 
269 269
 <tr>
@@ -279,7 +279,7 @@ for the JavaScript code in this tag.
279 279
 </tr>
280 280
 
281 281
 <tr>
282
-<td class="org-left"><a href="#org5c7cafb">Play Music</a></td>
282
+<td class="org-left"><a href="./app_dlna.html">Play Music</a></td>
283 283
 </tr>
284 284
 
285 285
 <tr>
@@ -291,30 +291,30 @@ for the JavaScript code in this tag.
291 291
 </tr>
292 292
 
293 293
 <tr>
294
-<td class="org-left"><a href="#org0aff6bf">Chat Services</a></td>
294
+<td class="org-left"><a href="#org61a775a">Chat Services</a></td>
295 295
 </tr>
296 296
 
297 297
 <tr>
298
-<td class="org-left"><a href="#orgb52605f">RSS Reader</a></td>
298
+<td class="org-left"><a href="#orgf076640">RSS Reader</a></td>
299 299
 </tr>
300 300
 
301 301
 <tr>
302
-<td class="org-left"><a href="#orgc9810a8">Git Projects</a></td>
302
+<td class="org-left"><a href="#org8b7fde8">Git Projects</a></td>
303 303
 </tr>
304 304
 
305 305
 <tr>
306
-<td class="org-left"><a href="#org4d7f5fe">Adding or removing users</a></td>
306
+<td class="org-left"><a href="#org0f48943">Adding or removing users</a></td>
307 307
 </tr>
308 308
 
309 309
 <tr>
310
-<td class="org-left"><a href="#orgd4d5363">Blocking Ads</a></td>
310
+<td class="org-left"><a href="#org99fb698">Blocking Ads</a></td>
311 311
 </tr>
312 312
 </tbody>
313 313
 </table>
314 314
 
315
-<div id="outline-container-org141137d" class="outline-2">
316
-<h2 id="org141137d">Readme</h2>
317
-<div class="outline-text-2" id="text-org141137d">
315
+<div id="outline-container-orge0d5123" class="outline-2">
316
+<h2 id="orge0d5123">Readme</h2>
317
+<div class="outline-text-2" id="text-orge0d5123">
318 318
 <p>
319 319
 After the system has installed a README file will be generated which contains passwords and some brief advice on using the installed systems. You can read this with the following commands:
320 320
 </p>
@@ -334,9 +334,9 @@ To exit you can either just close the terminal or use <b>CTRL-x CTRL-c</b> follo
334 334
 </p>
335 335
 </div>
336 336
 </div>
337
-<div id="outline-container-org9c10648" class="outline-2">
338
-<h2 id="org9c10648">Improving ssh security</h2>
339
-<div class="outline-text-2" id="text-org9c10648">
337
+<div id="outline-container-orgd2a9afb" class="outline-2">
338
+<h2 id="orgd2a9afb">Improving ssh security</h2>
339
+<div class="outline-text-2" id="text-orgd2a9afb">
340 340
 <p>
341 341
 To improve ssh security you can generate an ssh key pair on your system and then upload the public key to the Freedombone.
342 342
 </p>
@@ -386,9 +386,9 @@ If you wish to only use ssh keys then log in to the Freedombone, become the root
386 386
 </div>
387 387
 </div>
388 388
 
389
-<div id="outline-container-orgc3c2433" class="outline-2">
390
-<h2 id="orgc3c2433">Administrating the system via an onion address (Tor)</h2>
391
-<div class="outline-text-2" id="text-orgc3c2433">
389
+<div id="outline-container-orgaf97067" class="outline-2">
390
+<h2 id="orgaf97067">Administrating the system via an onion address (Tor)</h2>
391
+<div class="outline-text-2" id="text-orgaf97067">
392 392
 <p>
393 393
 You can also access your system via the Tor system using an onion address. To find out what the onion address for ssh access is you can do the following:
394 394
 </p>
@@ -430,63 +430,19 @@ Subsequently even if dynamic DNS isn't working you may still be able to administ
430 430
 </p>
431 431
 </div>
432 432
 </div>
433
-<div id="outline-container-org5c7cafb" class="outline-2">
434
-<h2 id="org5c7cafb">Play Music</h2>
435
-<div class="outline-text-2" id="text-org5c7cafb">
436
-</div><div id="outline-container-org8f0f04b" class="outline-3">
437
-<h3 id="org8f0f04b">With the DLNA service</h3>
438
-<div class="outline-text-3" id="text-org8f0f04b">
439
-<p>
440
-An easy way to play music on any mobile device in your home is to use the DLNA service. Copy your music into a directory called "<i>Music</i>" on a USB thumb drive and then insert it into from socket on the Beaglebone.
441
-</p>
442
-
443
-<p>
444
-ssh into the system with:
445
-</p>
446
-
447
-<div class="org-src-container">
448
-<pre class="src src-bash">ssh myusername@mydomain.com -p 2222
449
-</pre>
450
-</div>
451
-
452
-<p>
453
-Then mount the USB drive with:
454
-</p>
455
-
456
-<div class="org-src-container">
457
-<pre class="src src-bash">su
458
-attach-music
459
-</pre>
460
-</div>
461
-
462
-<p>
463
-The system will scan the Music directory, which could take a while if there are thousands of files, but you don't need to do anything further with the Beaglebone other than perhaps to log out by typing <b>exit</b> a couple of times.
464
-</p>
465
-
466
-<p>
467
-If you have an Android device then go to F-Droid (if you don't already have it installed then it can be <a href="https://f-droid.org/">downloaded here</a>) and search for <b>ControlDLNA</b>. On running the app you should see a red Debian icon which you can press on, then you may need to select "local". After a few seconds the list of albums or tracks should then appear and you can browse and play them.
468
-</p>
469
-
470
-<p>
471
-The DLNA service will only work within your local home network, and isn't remotely accessible from other locations via the internet. That can be both a good and a bad thing. Another consideration is that there are no access controls on DLNA services, so any music or videos on the USB drive will be playable by anyone within your home network.
472
-</p>
473
-</div>
474
-</div>
475
-</div>
476
-
477
-<div id="outline-container-org0aff6bf" class="outline-2">
478
-<h2 id="org0aff6bf">Chat Services</h2>
479
-<div class="outline-text-2" id="text-org0aff6bf">
480
-</div><div id="outline-container-org09c4a1e" class="outline-3">
481
-<h3 id="org09c4a1e">IRC</h3>
482
-<div class="outline-text-3" id="text-org09c4a1e">
433
+<div id="outline-container-org61a775a" class="outline-2">
434
+<h2 id="org61a775a">Chat Services</h2>
435
+<div class="outline-text-2" id="text-org61a775a">
436
+</div><div id="outline-container-orgf4bf4ce" class="outline-3">
437
+<h3 id="orgf4bf4ce">IRC</h3>
438
+<div class="outline-text-3" id="text-orgf4bf4ce">
483 439
 <p>
484 440
 IRC is useful for multi-user chat. The classic use case is for software development where many engineers might need to coordinate their activities, but it's also useful for meetings, parties and general socialising.
485 441
 </p>
486 442
 </div>
487
-<div id="outline-container-org6aa72bd" class="outline-4">
488
-<h4 id="org6aa72bd">Irssi</h4>
489
-<div class="outline-text-4" id="text-org6aa72bd">
443
+<div id="outline-container-orgacaf59f" class="outline-4">
444
+<h4 id="orgacaf59f">Irssi</h4>
445
+<div class="outline-text-4" id="text-orgacaf59f">
490 446
 <p>
491 447
 The easiest way to use irssi is to connect to your system, like this:
492 448
 </p>
@@ -501,9 +457,9 @@ Then select <b>IRC</b> from the menu. However, other than via this method using
501 457
 </p>
502 458
 </div>
503 459
 </div>
504
-<div id="outline-container-org42430e0" class="outline-4">
505
-<h4 id="org42430e0">HexChat</h4>
506
-<div class="outline-text-4" id="text-org42430e0">
460
+<div id="outline-container-org4acdb42" class="outline-4">
461
+<h4 id="org4acdb42">HexChat</h4>
462
+<div class="outline-text-4" id="text-org4acdb42">
507 463
 <p>
508 464
 HexChat (formerly XChat) is compatible with proxying via Tor and so provides the best security when connecting to your IRC server. It will allow you to connect to your IRC server's onion address.
509 465
 </p>
@@ -584,9 +540,9 @@ Click <b>close</b> and then <b>connect</b>.
584 540
 </div>
585 541
 </div>
586 542
 
587
-<div id="outline-container-org11890a4" class="outline-4">
588
-<h4 id="org11890a4">Emacs</h4>
589
-<div class="outline-text-4" id="text-org11890a4">
543
+<div id="outline-container-orgcb3ad1c" class="outline-4">
544
+<h4 id="orgcb3ad1c">Emacs</h4>
545
+<div class="outline-text-4" id="text-orgcb3ad1c">
590 546
 <p>
591 547
 If you are an Emacs user then you can also connect to your IRC server via Emacs.
592 548
 </p>
@@ -617,9 +573,9 @@ Add the following to your Emacs configuration file:
617 573
 </div>
618 574
 </div>
619 575
 </div>
620
-<div id="outline-container-orgd474965" class="outline-4">
621
-<h4 id="orgd474965">Changing or removing the IRC password</h4>
622
-<div class="outline-text-4" id="text-orgd474965">
576
+<div id="outline-container-orgaec0a45" class="outline-4">
577
+<h4 id="orgaec0a45">Changing or removing the IRC password</h4>
578
+<div class="outline-text-4" id="text-orgaec0a45">
623 579
 <p>
624 580
 By default the IRC server is set up to require a password for users to log in. The password is the same for all users. If you want to change or remove the password:
625 581
 </p>
@@ -636,20 +592,20 @@ Select <i>Administrator controls</i> then <b>IRC Menu</b> and then change the pa
636 592
 </div>
637 593
 </div>
638 594
 
639
-<div id="outline-container-orgfc8f38b" class="outline-3">
640
-<h3 id="orgfc8f38b">XMPP/Jabber</h3>
641
-<div class="outline-text-3" id="text-orgfc8f38b">
642
-</div><div id="outline-container-org8b413e8" class="outline-4">
643
-<h4 id="org8b413e8">About XMPP</h4>
644
-<div class="outline-text-4" id="text-org8b413e8">
595
+<div id="outline-container-org4016ecb" class="outline-3">
596
+<h3 id="org4016ecb">XMPP/Jabber</h3>
597
+<div class="outline-text-3" id="text-org4016ecb">
598
+</div><div id="outline-container-org4c7f956" class="outline-4">
599
+<h4 id="org4c7f956">About XMPP</h4>
600
+<div class="outline-text-4" id="text-org4c7f956">
645 601
 <p>
646 602
 A well written article on the state of XMPP and how it compares to other chat protocols <a href="https://gultsch.de/xmpp_2016.html">can be found here</a>.
647 603
 </p>
648 604
 </div>
649 605
 </div>
650
-<div id="outline-container-org34fc80f" class="outline-4">
651
-<h4 id="org34fc80f">Using with Gajim</h4>
652
-<div class="outline-text-4" id="text-org34fc80f">
606
+<div id="outline-container-org706b122" class="outline-4">
607
+<h4 id="org706b122">Using with Gajim</h4>
608
+<div class="outline-text-4" id="text-org706b122">
653 609
 <p>
654 610
 In mid 2016 <a href="https://gajim.org/">Gajim</a> became the first desktop XMPP client to support the <a href="https://en.wikipedia.org/wiki/OMEMO">OMEMO end-to-end security standard</a>, which is superior to the more traditional <a href="https://en.wikipedia.org/wiki/Off-the-Record_Messaging">OTR</a> since it also includes multi-user chat and the ratcheting mechanism pioneered by Open Whisper Systems. To install it:
655 611
 </p>
@@ -693,9 +649,9 @@ If you wish to use OpenPGP to encrypt your messages then go to <b>Edit/Accounts<
693 649
 </div>
694 650
 </div>
695 651
 
696
-<div id="outline-container-org2e3a3ad" class="outline-4">
697
-<h4 id="org2e3a3ad">Using with Profanity</h4>
698
-<div class="outline-text-4" id="text-org2e3a3ad">
652
+<div id="outline-container-org27d6954" class="outline-4">
653
+<h4 id="org27d6954">Using with Profanity</h4>
654
+<div class="outline-text-4" id="text-org27d6954">
699 655
 <p>
700 656
 The <a href="https://profanity.im">Profanity</a> shell based user interface and is perhaps the simplest way to use XMPP from a laptop. It's also a good way to ensure that your OTR keys are the same even when logging in from different laptops or devices, and it also means that if those devices later become compomised then there are no locally stored OTR keys to be found.
701 657
 </p>
@@ -777,9 +733,9 @@ When accessed via the user control panel the client is automatically routed thro
777 733
 </p>
778 734
 </div>
779 735
 </div>
780
-<div id="outline-container-orgcce7e0d" class="outline-4">
781
-<h4 id="orgcce7e0d">Using with Jitsi</h4>
782
-<div class="outline-text-4" id="text-orgcce7e0d">
736
+<div id="outline-container-org3a05a57" class="outline-4">
737
+<h4 id="org3a05a57">Using with Jitsi</h4>
738
+<div class="outline-text-4" id="text-org3a05a57">
783 739
 <p>
784 740
 Jitsi is the recommended communications client for desktop or laptop systems, since it includes the <i>off the record</i> (OTR) feature which provides some additional security beyond the usual SSL certificates.
785 741
 </p>
@@ -809,9 +765,9 @@ You can also <a href="https://www.youtube.com/watch?v=vgx7VSrDGjk">see this vide
809 765
 </p>
810 766
 </div>
811 767
 </div>
812
-<div id="outline-container-orgcd30180" class="outline-4">
813
-<h4 id="orgcd30180">Using with Ubuntu</h4>
814
-<div class="outline-text-4" id="text-orgcd30180">
768
+<div id="outline-container-org77d30ac" class="outline-4">
769
+<h4 id="org77d30ac">Using with Ubuntu</h4>
770
+<div class="outline-text-4" id="text-org77d30ac">
815 771
 <p>
816 772
 The default XMPP client in Ubuntu is Empathy.  Using Empathy isn't as secure as using Jitsi, since it doesn't include the <i>off the record</i> feature, but since it's the default it's what many users will have easy access to.
817 773
 </p>
@@ -829,17 +785,17 @@ Click on <b>Advanced</b> and make sure that <b>Encryption required</b> and <b>Ig
829 785
 </p>
830 786
 </div>
831 787
 </div>
832
-<div id="outline-container-org531c10e" class="outline-4">
833
-<h4 id="org531c10e">Using Tor Messenger</h4>
834
-<div class="outline-text-4" id="text-org531c10e">
788
+<div id="outline-container-orgeba2ba7" class="outline-4">
789
+<h4 id="orgeba2ba7">Using Tor Messenger</h4>
790
+<div class="outline-text-4" id="text-orgeba2ba7">
835 791
 <p>
836 792
 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.
837 793
 </p>
838 794
 </div>
839 795
 </div>
840
-<div id="outline-container-org4f51b2a" class="outline-4">
841
-<h4 id="org4f51b2a">Using with Android/Conversations</h4>
842
-<div class="outline-text-4" id="text-org4f51b2a">
796
+<div id="outline-container-orgab2ba25" class="outline-4">
797
+<h4 id="orgab2ba25">Using with Android/Conversations</h4>
798
+<div class="outline-text-4" id="text-orgab2ba25">
843 799
 <p>
844 800
 Install <a href="https://f-droid.org/">F-Droid</a>
845 801
 </p>
@@ -874,16 +830,16 @@ Then select <b>Next</b>. When chatting you can use the lock icon to encrypt your
874 830
 </div>
875 831
 </div>
876 832
 </div>
877
-<div id="outline-container-orga8ba519" class="outline-3">
878
-<h3 id="orga8ba519">Tox</h3>
879
-<div class="outline-text-3" id="text-orga8ba519">
833
+<div id="outline-container-org4f4b967" class="outline-3">
834
+<h3 id="org4f4b967">Tox</h3>
835
+<div class="outline-text-3" id="text-org4f4b967">
880 836
 <p>
881 837
 Tox is an encrypted peer-to-peer messaging system and so should work without Freedombone. It uses a system of nodes which act as a sort of directory service allowing users to find and connect to each other. The Tox node ID on the Freedombone can be found within the README within your home directory. If you have other users connect to your node then you will be able to continue chatting even when no other nodes are available.
882 838
 </p>
883 839
 </div>
884
-<div id="outline-container-orgc740041" class="outline-4">
885
-<h4 id="orgc740041">Using the Toxic client</h4>
886
-<div class="outline-text-4" id="text-orgc740041">
840
+<div id="outline-container-org1b76e54" class="outline-4">
841
+<h4 id="org1b76e54">Using the Toxic client</h4>
842
+<div class="outline-text-4" id="text-org1b76e54">
887 843
 <p>
888 844
 Log into your system with:
889 845
 </p>
@@ -906,20 +862,20 @@ Then from the menu select <b>Tox Chat</b>. Tox is encrypted by default and also
906 862
 </div>
907 863
 </div>
908 864
 
909
-<div id="outline-container-orgc288724" class="outline-3">
910
-<h3 id="orgc288724">VoIP (Voice and text chat)</h3>
911
-<div class="outline-text-3" id="text-orgc288724">
912
-</div><div id="outline-container-org314f074" class="outline-4">
913
-<h4 id="org314f074">Text chat</h4>
914
-<div class="outline-text-4" id="text-org314f074">
865
+<div id="outline-container-org39c5c24" class="outline-3">
866
+<h3 id="org39c5c24">VoIP (Voice and text chat)</h3>
867
+<div class="outline-text-3" id="text-org39c5c24">
868
+</div><div id="outline-container-org29bf1bd" class="outline-4">
869
+<h4 id="org29bf1bd">Text chat</h4>
870
+<div class="outline-text-4" id="text-org29bf1bd">
915 871
 <p>
916 872
 In addition to voice it is also possible to do text chat via mumble. The security of this is pretty good provided that you do it via Plumble and Orbot on mobile, but compared to other options such as XMPP/Conversations or Tox the security is not as good, since the mumble server currently doesn't support forward secrecy.
917 873
 </p>
918 874
 </div>
919 875
 </div>
920
-<div id="outline-container-org356d6d8" class="outline-4">
921
-<h4 id="org356d6d8">Using with Ubuntu</h4>
922
-<div class="outline-text-4" id="text-org356d6d8">
876
+<div id="outline-container-orgdeb8d3a" class="outline-4">
877
+<h4 id="orgdeb8d3a">Using with Ubuntu</h4>
878
+<div class="outline-text-4" id="text-orgdeb8d3a">
923 879
 <p>
924 880
 Within the software center search for "mumble" and install the client then run it. Skip through the audio setup wizard.
925 881
 </p>
@@ -929,9 +885,9 @@ Click on "add new" to add a new server and enter the default domain name for the
929 885
 </p>
930 886
 </div>
931 887
 </div>
932
-<div id="outline-container-orgbe64210" class="outline-4">
933
-<h4 id="orgbe64210">Using with Android</h4>
934
-<div class="outline-text-4" id="text-orgbe64210">
888
+<div id="outline-container-org1fc921a" class="outline-4">
889
+<h4 id="org1fc921a">Using with Android</h4>
890
+<div class="outline-text-4" id="text-org1fc921a">
935 891
 <p>
936 892
 Install <a href="https://f-droid.org/">F-Droid</a>
937 893
 </p>
@@ -966,24 +922,24 @@ Selecting the server by pressing on it then connects you to the server so that y
966 922
 </div>
967 923
 </div>
968 924
 </div>
969
-<div id="outline-container-org390ba27" class="outline-3">
970
-<h3 id="org390ba27">SIP phones</h3>
971
-<div class="outline-text-3" id="text-org390ba27">
925
+<div id="outline-container-org678aa32" class="outline-3">
926
+<h3 id="org678aa32">SIP phones</h3>
927
+<div class="outline-text-3" id="text-org678aa32">
972 928
 <p>
973 929
 Freedombone also supports SIP phones The username and domain is the same as for your email address, and the SIP password and extension number will appear within the README file in your home directory. Various SIP client options are available, such as CSipSimple on Android and Jitsi on desktop or laptop machines. Ideally use clients which support ZRTP, which will provide the best level of security.
974 930
 </p>
975 931
 </div>
976
-<div id="outline-container-orge2d32ba" class="outline-4">
977
-<h4 id="orge2d32ba">About ZRTP</h4>
978
-<div class="outline-text-4" id="text-orge2d32ba">
932
+<div id="outline-container-org74168da" class="outline-4">
933
+<h4 id="org74168da">About ZRTP</h4>
934
+<div class="outline-text-4" id="text-org74168da">
979 935
 <p>
980 936
 <a href="https://jitsi.org/Documentation/ZrtpFAQ">ZRTP</a> appears to be the current best standard to end-to-end encrypted voice calls, combining good security with simplicity of use. When the initial cryptographic negotiation between phones is done at the start of a call a short authentication string (SAS) is calculated and displayed at both ends. To check that there isn't anyone intercepting the call and acting as a <i>man in the middle</i> - as <a href="https://en.wikipedia.org/wiki/Stingray_phone_tracker">stingray type devices</a> try to do - the short authentication string can be read out and verbally confirmed between the callers. If it's the same then you can be pretty confident that the call is secure.
981 937
 </p>
982 938
 </div>
983 939
 </div>
984
-<div id="outline-container-org66fe13a" class="outline-4">
985
-<h4 id="org66fe13a">Using with CSIPSimple</h4>
986
-<div class="outline-text-4" id="text-org66fe13a">
940
+<div id="outline-container-org5a51525" class="outline-4">
941
+<h4 id="org5a51525">Using with CSIPSimple</h4>
942
+<div class="outline-text-4" id="text-org5a51525">
987 943
 <p>
988 944
 Add an account. Under <b>General Wizards</b> choose <b>Expert</b> and enter the following details:
989 945
 </p>
@@ -1039,9 +995,9 @@ If everything is working the account should appear in green with a status of <b>
1039 995
 </p>
1040 996
 </div>
1041 997
 </div>
1042
-<div id="outline-container-orgbdd9823" class="outline-4">
1043
-<h4 id="orgbdd9823">Using with Ring</h4>
1044
-<div class="outline-text-4" id="text-orgbdd9823">
998
+<div id="outline-container-org3a1fff5" class="outline-4">
999
+<h4 id="org3a1fff5">Using with Ring</h4>
1000
+<div class="outline-text-4" id="text-org3a1fff5">
1045 1001
 <p>
1046 1002
 From the menu select <b>Manage accounts</b>.
1047 1003
 </p>
@@ -1094,9 +1050,9 @@ Select the <b>Security</b> tab. Under <b>SRTP Key Exchange</b> select <b>ZRTP</b
1094 1050
 </div>
1095 1051
 </div>
1096 1052
 
1097
-<div id="outline-container-orgb52605f" class="outline-2">
1098
-<h2 id="orgb52605f">RSS Reader</h2>
1099
-<div class="outline-text-2" id="text-orgb52605f">
1053
+<div id="outline-container-orgf076640" class="outline-2">
1054
+<h2 id="orgf076640">RSS Reader</h2>
1055
+<div class="outline-text-2" id="text-orgf076640">
1100 1056
 <p>
1101 1057
 The way that RSS reading is set up on Freedombone gives you strong reading privacy. Not only is there onion routing between you and the server but also between the server and the source of the RSS feed. The only down side is that many RSS feeds are still http only, and so could be vulnerable to injection attacks, but it's expected that more of this will go to https in the foreseeable future due to a combination of growing recognition of security issues and systems like Let's Encrypt which make obtaining certificates much easier.
1102 1058
 </p>
@@ -1108,9 +1064,9 @@ The way that RSS reading is set up on Freedombone gives you strong reading priva
1108 1064
 </div>
1109 1065
 </div>
1110 1066
 
1111
-<div id="outline-container-orgdac978f" class="outline-3">
1112
-<h3 id="orgdac978f">Finding the onion address</h3>
1113
-<div class="outline-text-3" id="text-orgdac978f">
1067
+<div id="outline-container-orgc718f45" class="outline-3">
1068
+<h3 id="orgc718f45">Finding the onion address</h3>
1069
+<div class="outline-text-3" id="text-orgc718f45">
1114 1070
 <p>
1115 1071
 See the control panel for the RSS reader onion address.
1116 1072
 </p>
@@ -1134,9 +1090,9 @@ To set up the system open <a href="http://rss_reader_onion_address">http://rss_r
1134 1090
 </div>
1135 1091
 </div>
1136 1092
 
1137
-<div id="outline-container-org83b86ad" class="outline-3">
1138
-<h3 id="org83b86ad">On mobile</h3>
1139
-<div class="outline-text-3" id="text-org83b86ad">
1093
+<div id="outline-container-orgfebdb13" class="outline-3">
1094
+<h3 id="orgfebdb13">On mobile</h3>
1095
+<div class="outline-text-3" id="text-orgfebdb13">
1140 1096
 <p>
1141 1097
 To access the RSS reader from a mobile device you can install a Tor compatible browser such as OrFox. It will try to automatically change to the mobile version of the user interface. Remember to add the site to the NoScript whitelist, and you may also need to turn HTTPS Everywhere off.
1142 1098
 </p>
@@ -1148,9 +1104,9 @@ A note for the paranoid is that on mobile devices you get redirected to a differ
1148 1104
 </blockquote>
1149 1105
 </div>
1150 1106
 </div>
1151
-<div id="outline-container-org1d77402" class="outline-3">
1152
-<h3 id="org1d77402">With Emacs</h3>
1153
-<div class="outline-text-3" id="text-org1d77402">
1107
+<div id="outline-container-orgac64c2b" class="outline-3">
1108
+<h3 id="orgac64c2b">With Emacs</h3>
1109
+<div class="outline-text-3" id="text-orgac64c2b">
1154 1110
 <p>
1155 1111
 If you are an Emacs user then you can also read your RSS feeds via the <a href="https://github.com/dk87/avandu">Avandu</a> mode.
1156 1112
 </p>
@@ -1189,9 +1145,9 @@ And ensure that the Tor daemon is installed:
1189 1145
 </div>
1190 1146
 </div>
1191 1147
 </div>
1192
-<div id="outline-container-orgc9810a8" class="outline-2">
1193
-<h2 id="orgc9810a8">Git Projects</h2>
1194
-<div class="outline-text-2" id="text-orgc9810a8">
1148
+<div id="outline-container-org8b7fde8" class="outline-2">
1149
+<h2 id="org8b7fde8">Git Projects</h2>
1150
+<div class="outline-text-2" id="text-org8b7fde8">
1195 1151
 <p>
1196 1152
 Github is ok, but it's proprietary and funded by venture capital. If you been around on the internet for long enough then you know how this story eventually works itself out - i.e. badly for the users. It's really only a question of time. If you're a software developer or do things which involve the Git version control system then it's a good idea to become accustomed to hosting your own repositories, before the inevitable Github shitstorm happens.
1197 1153
 </p>
@@ -1227,9 +1183,9 @@ This will stop any spam accounts being created by random strangers or bots. You
1227 1183
 </p>
1228 1184
 </div>
1229 1185
 </div>
1230
-<div id="outline-container-org4d7f5fe" class="outline-2">
1231
-<h2 id="org4d7f5fe">Adding or removing users</h2>
1232
-<div class="outline-text-2" id="text-org4d7f5fe">
1186
+<div id="outline-container-org0f48943" class="outline-2">
1187
+<h2 id="org0f48943">Adding or removing users</h2>
1188
+<div class="outline-text-2" id="text-org0f48943">
1233 1189
 <p>
1234 1190
 Log into the system with:
1235 1191
 </p>
@@ -1257,9 +1213,9 @@ control
1257 1213
 </div>
1258 1214
 </div>
1259 1215
 
1260
-<div id="outline-container-orgd4d5363" class="outline-2">
1261
-<h2 id="orgd4d5363">Blocking Ads</h2>
1262
-<div class="outline-text-2" id="text-orgd4d5363">
1216
+<div id="outline-container-org99fb698" class="outline-2">
1217
+<h2 id="org99fb698">Blocking Ads</h2>
1218
+<div class="outline-text-2" id="text-org99fb698">
1263 1219
 <p>
1264 1220
 Everyone except for advertisers hates adverts. Not only are they annoying, but they can consume a lot of bandwidth, be a privacy problem in terms of allowing companies to track your browsing habits and also any badly written scripts they contain may introduce exploitable security holes. Also if you're poor then adverts often make you want things that you can't have.
1265 1221
 </p>
@@ -1273,9 +1229,9 @@ Also don't expect perfection. Though many ads may be blocked by this system some
1273 1229
 </p>
1274 1230
 </div>
1275 1231
 
1276
-<div id="outline-container-org6790473" class="outline-3">
1277
-<h3 id="org6790473">Set a static IP address</h3>
1278
-<div class="outline-text-3" id="text-org6790473">
1232
+<div id="outline-container-org36b0a42" class="outline-3">
1233
+<h3 id="org36b0a42">Set a static IP address</h3>
1234
+<div class="outline-text-3" id="text-org36b0a42">
1279 1235
 <p>
1280 1236
 Ensure that your system has a static local IP address (typically 192.168..) using the option on the control panel. You will also need to know the IP address of your internet router, which is usually <b>192.168.1.1</b> or <b>192.168.1.254</b>.
1281 1237
 </p>
@@ -1286,9 +1242,9 @@ When that's done select <b>About this system</b> from the control panel and see
1286 1242
 </div>
1287 1243
 </div>
1288 1244
 
1289
-<div id="outline-container-org4ec35fd" class="outline-3">
1290
-<h3 id="org4ec35fd">On each client system within your local network</h3>
1291
-<div class="outline-text-3" id="text-org4ec35fd">
1245
+<div id="outline-container-orgf4ac5e0" class="outline-3">
1246
+<h3 id="orgf4ac5e0">On each client system within your local network</h3>
1247
+<div class="outline-text-3" id="text-orgf4ac5e0">
1292 1248
 <div class="org-src-container">
1293 1249
 <pre class="src src-bash">sudo chattr -i /etc/resolv.conf
1294 1250
 sudo nano /etc/resolv.conf
@@ -1315,9 +1271,9 @@ Normally <i>resolv.conf</i> will be overwritten every time your reboot, but you
1315 1271
 </div>
1316 1272
 </div>
1317 1273
 
1318
-<div id="outline-container-orgbb72fde" class="outline-3">
1319
-<h3 id="orgbb72fde">On your internet router</h3>
1320
-<div class="outline-text-3" id="text-orgbb72fde">
1274
+<div id="outline-container-org9063cc0" class="outline-3">
1275
+<h3 id="org9063cc0">On your internet router</h3>
1276
+<div class="outline-text-3" id="text-org9063cc0">
1321 1277
 <p>
1322 1278
 If you can access the settings on your local internet router then this is the simplest way to provide ad blocking for all devices which connect to it. Unfortunately some router models don't let you edit the DNS settings and if that's the case you might want to consider getting a different router.
1323 1279
 </p>
@@ -1327,9 +1283,9 @@ Edit the DNS settings and add the IPv4 address which you got from the control pa
1327 1283
 </p>
1328 1284
 </div>
1329 1285
 
1330
-<div id="outline-container-org655f73f" class="outline-4">
1331
-<h4 id="org655f73f">LibreCMC</h4>
1332
-<div class="outline-text-4" id="text-org655f73f">
1286
+<div id="outline-container-org1b0b157" class="outline-4">
1287
+<h4 id="org1b0b157">LibreCMC</h4>
1288
+<div class="outline-text-4" id="text-org1b0b157">
1333 1289
 <p>
1334 1290
 On a router running LibreCMC from the <b>Network</b> menu select <b>DHCP and DNS</b>. Enter the static IP address of your Freedombone system within <b>DNS Forwardings</b>, then at the bottom of the page click on <b>Save &amp; Apply</b>. Any devices which connect to your router will now have ad blocking.
1335 1291
 </p>
@@ -1337,9 +1293,9 @@ On a router running LibreCMC from the <b>Network</b> menu select <b>DHCP and DNS
1337 1293
 </div>
1338 1294
 </div>
1339 1295
 
1340
-<div id="outline-container-org29026cb" class="outline-3">
1341
-<h3 id="org29026cb">Configuring block lists</h3>
1342
-<div class="outline-text-3" id="text-org29026cb">
1296
+<div id="outline-container-org116997a" class="outline-3">
1297
+<h3 id="org116997a">Configuring block lists</h3>
1298
+<div class="outline-text-3" id="text-org116997a">
1343 1299
 <p>
1344 1300
 You can configure the block lists which the system uses by going to the <b>administrator control panel</b>, selecting <b>App Settings</b> then choosing <b>pihole</b>. You can also add any extra domain names to the whitelist if they're being wrongly blocked or to the blacklist if they're not blocked by the current lists.
1345 1301
 </p>