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

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
 * DLNA
23
 * DLNA
24
 Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.
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
 * Dokuwiki
27
 * Dokuwiki
27
 A databaseless wiki system.
28
 A databaseless wiki system.
28
 
29
 

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

22
 | [[./mobile.html][Mobile advice]]                                        |
22
 | [[./mobile.html][Mobile advice]]                                        |
23
 | [[./usage_email.html][Using Email]]                                          |
23
 | [[./usage_email.html][Using Email]]                                          |
24
 | [[./app_syncthing.html][Syncing to the Cloud]]                                 |
24
 | [[./app_syncthing.html][Syncing to the Cloud]]                                 |
25
-| [[Play Music]]                                           |
25
+| [[./app_dlna.html][Play Music]]                                           |
26
 | [[./app_gnusocial.html][Microblogging (GNU Social)]]                           |
26
 | [[./app_gnusocial.html][Microblogging (GNU Social)]]                           |
27
 | [[./app_hubzilla.html][Social Network]]                                       |
27
 | [[./app_hubzilla.html][Social Network]]                                       |
28
 | [[Chat Services]]                                        |
28
 | [[Chat Services]]                                        |
97
 #+END_SRC
97
 #+END_SRC
98
 
98
 
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.
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
 * Chat Services
100
 * Chat Services
124
 ** IRC
101
 ** IRC
125
 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.
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
 IN_DEFAULT_INSTALL=0
33
 IN_DEFAULT_INSTALL=0
34
 
34
 
35
 dlna_variables=(SYSTEM_TYPE
35
 dlna_variables=(SYSTEM_TYPE
36
-                USB_MOUNT
36
+                USB_MOUNT_DLNA
37
                 INSTALLED_WITHIN_DOCKER
37
                 INSTALLED_WITHIN_DOCKER
38
                 MY_USERNAME)
38
                 MY_USERNAME)
39
 
39
 
54
             255) break;;
54
             255) break;;
55
         esac
55
         esac
56
         case $(cat $data) in
56
         case $(cat $data) in
57
-            1) remove-music
58
-               attach-music;;
57
+            1) attach-music;;
59
             2) remove-music;;
58
             2) remove-music;;
60
             3) break;;
59
             3) break;;
61
         esac
60
         esac
104
 
103
 
105
 function restore_local_dlna {
104
 function restore_local_dlna {
106
     if [ -d /var/cache/minidlna ]; then
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
             echo $"Restoring DLNA cache"
107
             echo $"Restoring DLNA cache"
109
             temp_restore_dir=/root/tempdlna
108
             temp_restore_dir=/root/tempdlna
110
             function_check restore_directory_from_usb
109
             function_check restore_directory_from_usb
125
 
124
 
126
 function backup_remote_dlna {
125
 function backup_remote_dlna {
127
     if [ -d /var/cache/minidlna ]; then
126
     if [ -d /var/cache/minidlna ]; then
128
-        echo $"Backing up DLNA cache"
129
         backup_directory_to_friend /var/cache/minidlna dlna
127
         backup_directory_to_friend /var/cache/minidlna dlna
130
-        echo $"Backup of DLNA cache complete"
131
     fi
128
     fi
132
 }
129
 }
133
 
130
 
134
 function restore_remote_dlna {
131
 function restore_remote_dlna {
135
     if [ -d /var/cache/minidlna ]; then
132
     if [ -d /var/cache/minidlna ]; then
136
         if [ -d $SERVER_DIRECTORY/backup/dlna ]; then
133
         if [ -d $SERVER_DIRECTORY/backup/dlna ]; then
137
-            echo $"Restoring DLNA cache"
138
             temp_restore_dir=/root/tempdlna
134
             temp_restore_dir=/root/tempdlna
139
             function_check restore_directory_from_friend
135
             function_check restore_directory_from_friend
140
             restore_directory_from_friend $temp_restore_dir dlna
136
             restore_directory_from_friend $temp_restore_dir dlna
143
                 exit 982
139
                 exit 982
144
             fi
140
             fi
145
             rm -rf $temp_restore_dir
141
             rm -rf $temp_restore_dir
146
-            echo $"Restore of DLNA complete"
147
         fi
142
         fi
148
     fi
143
     fi
149
 }
144
 }
150
 
145
 
151
 function remove_dlna {
146
 function remove_dlna {
152
-    service minidlna stop
147
+    systemctl stop minidlna
153
     apt-get -yq remove --purge minidlna
148
     apt-get -yq remove --purge minidlna
154
     if [ -f /etc/minidlna.conf ]; then
149
     if [ -f /etc/minidlna.conf ]; then
155
         rm /etc/minidlna.conf
150
         rm /etc/minidlna.conf
156
     fi
151
     fi
152
+    rm /usr/bin/attach-music
153
+    rm /usr/bin/remove-music
157
     remove_completion_param install_dlna
154
     remove_completion_param install_dlna
158
     firewall_remove 1900 udp
155
     firewall_remove 1900 udp
159
     firewall_remove 8200 tcp
156
     firewall_remove 8200 tcp
171
         exit 55
168
         exit 55
172
     fi
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
     sed -i "s|media_dir=/var/lib/minidlna|media_dir=A,/home/$MY_USERNAME/Music|g" /etc/minidlna.conf
178
     sed -i "s|media_dir=/var/lib/minidlna|media_dir=A,/home/$MY_USERNAME/Music|g" /etc/minidlna.conf
175
     if ! grep -q "/home/$MY_USERNAME/Pictures" /etc/minidlna.conf; then
179
     if ! grep -q "/home/$MY_USERNAME/Pictures" /etc/minidlna.conf; then
176
         echo "media_dir=P,/home/$MY_USERNAME/Pictures" >> /etc/minidlna.conf
180
         echo "media_dir=P,/home/$MY_USERNAME/Pictures" >> /etc/minidlna.conf
178
     if ! grep -q "/home/$MY_USERNAME/Videos" /etc/minidlna.conf; then
182
     if ! grep -q "/home/$MY_USERNAME/Videos" /etc/minidlna.conf; then
179
         echo "media_dir=V,/home/$MY_USERNAME/Videos" >> /etc/minidlna.conf
183
         echo "media_dir=V,/home/$MY_USERNAME/Videos" >> /etc/minidlna.conf
180
     fi
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
     fi
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
     fi
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
     fi
193
     fi
190
     sed -i 's/#root_container=./root_container=B/g' /etc/minidlna.conf
194
     sed -i 's/#root_container=./root_container=B/g' /etc/minidlna.conf
191
     if [[ $SYSTEM_TYPE != "mesh"* ]]; then
195
     if [[ $SYSTEM_TYPE != "mesh"* ]]; then
202
     sed -i 's/#inotify=yes/inotify=yes/g' /etc/minidlna.conf
206
     sed -i 's/#inotify=yes/inotify=yes/g' /etc/minidlna.conf
203
     sed -i 's/#notify_interval=895/notify_interval=300/g' /etc/minidlna.conf
207
     sed -i 's/#notify_interval=895/notify_interval=300/g' /etc/minidlna.conf
204
     sed -i "s|#presentation_url=/|presentation_url=http://localhost:8200|g" /etc/minidlna.conf
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
     sed -i 's/fs.inotify.max_user_watches*/fs.inotify.max_user_watches=65536/g' /etc/sysctl.conf
211
     sed -i 's/fs.inotify.max_user_watches*/fs.inotify.max_user_watches=65536/g' /etc/sysctl.conf
209
     if ! grep -q "max_user_watches" $COMPLETION_FILE; then
212
     if ! grep -q "max_user_watches" $COMPLETION_FILE; then
221
         return
224
         return
222
     fi
225
     fi
223
     echo '#!/bin/bash' > /usr/bin/attach-music
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
     echo 'remove-music' >> /usr/bin/attach-music
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
     echo 'fi' >> /usr/bin/attach-music
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
     echo 'minidlnad -R' >> /usr/bin/attach-music
247
     echo 'minidlnad -R' >> /usr/bin/attach-music
248
+    echo 'exit 0' >> /usr/bin/attach-music
233
     chmod +x /usr/bin/attach-music
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
     echo '#!/bin/bash' > /usr/bin/remove-music
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
     echo 'fi' >> /usr/bin/remove-music
255
     echo 'fi' >> /usr/bin/remove-music
256
+    echo 'exit 0' >> /usr/bin/remove-music
244
     chmod +x /usr/bin/remove-music
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
     mark_completed $FUNCNAME
259
     mark_completed $FUNCNAME
256
 }
260
 }

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

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
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2016-11-12 Sat 19:06 -->
6
+<!-- 2016-11-12 Sat 20:19 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title></title>
9
 <title></title>
257
 </div>
257
 </div>
258
 </div>
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
 <p>
263
 <p>
264
 Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.
264
 Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.
265
 </p>
265
 </p>
266
+
267
+<p>
268
+<a href="./app_dlna.html">How to use it</a>
269
+</p>
266
 </div>
270
 </div>
267
 </div>
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
 <p>
275
 <p>
273
 A databaseless wiki system.
276
 A databaseless wiki system.
274
 </p>
277
 </p>
275
 </div>
278
 </div>
276
 </div>
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
 <p>
284
 <p>
282
 If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.
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
 </p>
286
 </p>
284
 </div>
287
 </div>
285
 </div>
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
 <p>
293
 <p>
291
 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.
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
 </p>
295
 </p>
293
 </div>
296
 </div>
294
 </div>
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
 <p>
302
 <p>
300
 Modern looking blogging system.
303
 Modern looking blogging system.
301
 </p>
304
 </p>
302
 </div>
305
 </div>
303
 </div>
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
 <p>
311
 <p>
309
 Federated social network. You can "<i>remote follow</i>" other users within the GNU Social federation.
312
 Federated social network. You can "<i>remote follow</i>" other users within the GNU Social federation.
310
 </p>
313
 </p>
314
 </p>
317
 </p>
315
 </div>
318
 </div>
316
 </div>
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
 <p>
323
 <p>
321
 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.
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
 </p>
325
 </p>
323
 </div>
326
 </div>
324
 </div>
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
 <p>
332
 <p>
330
 Databaseless blogging system. Quite simple and with a markdown-like format.
333
 Databaseless blogging system. Quite simple and with a markdown-like format.
331
 </p>
334
 </p>
332
 </div>
335
 </div>
333
 </div>
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
 <p>
341
 <p>
339
 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.
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
 </p>
343
 </p>
344
 </p>
347
 </p>
345
 </div>
348
 </div>
346
 </div>
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
 <p>
353
 <p>
351
 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.
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
 </p>
355
 </p>
353
 </div>
356
 </div>
354
 </div>
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
 <p>
362
 <p>
360
 Experimental WebRTC video conferencing system, similar to Google Hangouts. This may not be fully functional, but is hoped to be in the near future.
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
 </p>
364
 </p>
362
 </div>
365
 </div>
363
 </div>
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
 <p>
371
 <p>
369
 Make your photo albums available on the web.
372
 Make your photo albums available on the web.
370
 </p>
373
 </p>
371
 </div>
374
 </div>
372
 </div>
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
 <p>
380
 <p>
378
 Modern email client which supports GPG encryption.
381
 Modern email client which supports GPG encryption.
379
 </p>
382
 </p>
380
 </div>
383
 </div>
381
 </div>
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
 <p>
389
 <p>
387
 The popular VoIP and text chat system. Say goodbye to old-fashioned telephony conferences with silly dial codes. Also works well on mobile.
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
 </p>
391
 </p>
389
 </div>
392
 </div>
390
 </div>
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
 <p>
398
 <p>
396
 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.
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
 </p>
400
 </p>
398
 </div>
401
 </div>
399
 </div>
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
 <p>
407
 <p>
405
 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.
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
 </p>
409
 </p>
407
 </div>
410
 </div>
408
 </div>
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
 <p>
416
 <p>
414
 Calendar system compatible with CalDAV and CardDAV. Manage your calendar events easily across all your devices.
417
 Calendar system compatible with CalDAV and CardDAV. Manage your calendar events easily across all your devices.
415
 </p>
418
 </p>
416
 </div>
419
 </div>
417
 </div>
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
 <p>
425
 <p>
423
 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.
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
 </p>
427
 </p>
425
 </div>
428
 </div>
426
 </div>
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
 <p>
434
 <p>
432
 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.
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
 </p>
436
 </p>
437
 </p>
440
 </p>
438
 </div>
441
 </div>
439
 </div>
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
 <p>
446
 <p>
444
 Client and bootstrap node for the Tox chat/VoIP system.
447
 Client and bootstrap node for the Tox chat/VoIP system.
445
 </p>
448
 </p>
446
 </div>
449
 </div>
447
 </div>
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
 <p>
455
 <p>
453
 If you use the Mutt client to read your email then this will set it up to use vim for composing new mail.
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
 </p>
457
 </p>
455
 </div>
458
 </div>
456
 </div>
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
 <p>
464
 <p>
462
 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.
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
 </p>
466
 </p>

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

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2016-11-12 Sat 19:05 -->
6
+<!-- 2016-11-12 Sat 20:18 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title></title>
9
 <title></title>
255
 </colgroup>
255
 </colgroup>
256
 <tbody>
256
 <tbody>
257
 <tr>
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
 </tr>
259
 </tr>
260
 
260
 
261
 <tr>
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
 </tr>
263
 </tr>
264
 
264
 
265
 <tr>
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
 </tr>
267
 </tr>
268
 
268
 
269
 <tr>
269
 <tr>
279
 </tr>
279
 </tr>
280
 
280
 
281
 <tr>
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
 </tr>
283
 </tr>
284
 
284
 
285
 <tr>
285
 <tr>
291
 </tr>
291
 </tr>
292
 
292
 
293
 <tr>
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
 </tr>
295
 </tr>
296
 
296
 
297
 <tr>
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
 </tr>
299
 </tr>
300
 
300
 
301
 <tr>
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
 </tr>
303
 </tr>
304
 
304
 
305
 <tr>
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
 </tr>
307
 </tr>
308
 
308
 
309
 <tr>
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
 </tr>
311
 </tr>
312
 </tbody>
312
 </tbody>
313
 </table>
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
 <p>
318
 <p>
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:
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
 </p>
320
 </p>
334
 </p>
334
 </p>
335
 </div>
335
 </div>
336
 </div>
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
 <p>
340
 <p>
341
 To improve ssh security you can generate an ssh key pair on your system and then upload the public key to the Freedombone.
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
 </p>
342
 </p>
386
 </div>
386
 </div>
387
 </div>
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
 <p>
392
 <p>
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:
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
 </p>
394
 </p>
430
 </p>
430
 </p>
431
 </div>
431
 </div>
432
 </div>
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
 <p>
439
 <p>
484
 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.
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
 </p>
441
 </p>
486
 </div>
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
 <p>
446
 <p>
491
 The easiest way to use irssi is to connect to your system, like this:
447
 The easiest way to use irssi is to connect to your system, like this:
492
 </p>
448
 </p>
501
 </p>
457
 </p>
502
 </div>
458
 </div>
503
 </div>
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
 <p>
463
 <p>
508
 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.
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
 </p>
465
 </p>
584
 </div>
540
 </div>
585
 </div>
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
 <p>
546
 <p>
591
 If you are an Emacs user then you can also connect to your IRC server via Emacs.
547
 If you are an Emacs user then you can also connect to your IRC server via Emacs.
592
 </p>
548
 </p>
617
 </div>
573
 </div>
618
 </div>
574
 </div>
619
 </div>
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
 <p>
579
 <p>
624
 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:
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
 </p>
581
 </p>
636
 </div>
592
 </div>
637
 </div>
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
 <p>
601
 <p>
646
 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>.
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
 </p>
603
 </p>
648
 </div>
604
 </div>
649
 </div>
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
 <p>
609
 <p>
654
 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:
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
 </p>
611
 </p>
693
 </div>
649
 </div>
694
 </div>
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
 <p>
655
 <p>
700
 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.
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
 </p>
657
 </p>
777
 </p>
733
 </p>
778
 </div>
734
 </div>
779
 </div>
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
 <p>
739
 <p>
784
 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.
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
 </p>
741
 </p>
809
 </p>
765
 </p>
810
 </div>
766
 </div>
811
 </div>
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
 <p>
771
 <p>
816
 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.
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
 </p>
773
 </p>
829
 </p>
785
 </p>
830
 </div>
786
 </div>
831
 </div>
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
 <p>
791
 <p>
836
 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.
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
 </p>
793
 </p>
838
 </div>
794
 </div>
839
 </div>
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
 <p>
799
 <p>
844
 Install <a href="https://f-droid.org/">F-Droid</a>
800
 Install <a href="https://f-droid.org/">F-Droid</a>
845
 </p>
801
 </p>
874
 </div>
830
 </div>
875
 </div>
831
 </div>
876
 </div>
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
 <p>
836
 <p>
881
 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.
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
 </p>
838
 </p>
883
 </div>
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
 <p>
843
 <p>
888
 Log into your system with:
844
 Log into your system with:
889
 </p>
845
 </p>
906
 </div>
862
 </div>
907
 </div>
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
 <p>
871
 <p>
916
 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.
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
 </p>
873
 </p>
918
 </div>
874
 </div>
919
 </div>
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
 <p>
879
 <p>
924
 Within the software center search for "mumble" and install the client then run it. Skip through the audio setup wizard.
880
 Within the software center search for "mumble" and install the client then run it. Skip through the audio setup wizard.
925
 </p>
881
 </p>
929
 </p>
885
 </p>
930
 </div>
886
 </div>
931
 </div>
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
 <p>
891
 <p>
936
 Install <a href="https://f-droid.org/">F-Droid</a>
892
 Install <a href="https://f-droid.org/">F-Droid</a>
937
 </p>
893
 </p>
966
 </div>
922
 </div>
967
 </div>
923
 </div>
968
 </div>
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
 <p>
928
 <p>
973
 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.
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
 </p>
930
 </p>
975
 </div>
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
 <p>
935
 <p>
980
 <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.
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
 </p>
937
 </p>
982
 </div>
938
 </div>
983
 </div>
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
 <p>
943
 <p>
988
 Add an account. Under <b>General Wizards</b> choose <b>Expert</b> and enter the following details:
944
 Add an account. Under <b>General Wizards</b> choose <b>Expert</b> and enter the following details:
989
 </p>
945
 </p>
1039
 </p>
995
 </p>
1040
 </div>
996
 </div>
1041
 </div>
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
 <p>
1001
 <p>
1046
 From the menu select <b>Manage accounts</b>.
1002
 From the menu select <b>Manage accounts</b>.
1047
 </p>
1003
 </p>
1094
 </div>
1050
 </div>
1095
 </div>
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
 <p>
1056
 <p>
1101
 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.
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
 </p>
1058
 </p>
1108
 </div>
1064
 </div>
1109
 </div>
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
 <p>
1070
 <p>
1115
 See the control panel for the RSS reader onion address.
1071
 See the control panel for the RSS reader onion address.
1116
 </p>
1072
 </p>
1134
 </div>
1090
 </div>
1135
 </div>
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
 <p>
1096
 <p>
1141
 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.
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
 </p>
1098
 </p>
1148
 </blockquote>
1104
 </blockquote>
1149
 </div>
1105
 </div>
1150
 </div>
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
 <p>
1110
 <p>
1155
 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.
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
 </p>
1112
 </p>
1189
 </div>
1145
 </div>
1190
 </div>
1146
 </div>
1191
 </div>
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
 <p>
1151
 <p>
1196
 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.
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
 </p>
1153
 </p>
1227
 </p>
1183
 </p>
1228
 </div>
1184
 </div>
1229
 </div>
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
 <p>
1189
 <p>
1234
 Log into the system with:
1190
 Log into the system with:
1235
 </p>
1191
 </p>
1257
 </div>
1213
 </div>
1258
 </div>
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
 <p>
1219
 <p>
1264
 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.
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
 </p>
1221
 </p>
1273
 </p>
1229
 </p>
1274
 </div>
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
 <p>
1235
 <p>
1280
 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>.
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
 </p>
1237
 </p>
1286
 </div>
1242
 </div>
1287
 </div>
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
 <div class="org-src-container">
1248
 <div class="org-src-container">
1293
 <pre class="src src-bash">sudo chattr -i /etc/resolv.conf
1249
 <pre class="src src-bash">sudo chattr -i /etc/resolv.conf
1294
 sudo nano /etc/resolv.conf
1250
 sudo nano /etc/resolv.conf
1315
 </div>
1271
 </div>
1316
 </div>
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
 <p>
1277
 <p>
1322
 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.
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
 </p>
1279
 </p>
1327
 </p>
1283
 </p>
1328
 </div>
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
 <p>
1289
 <p>
1334
 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.
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
 </p>
1291
 </p>
1337
 </div>
1293
 </div>
1338
 </div>
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
 <p>
1299
 <p>
1344
 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.
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
 </p>
1301
 </p>