From 8bda053fd960a6c36c3181be925814bb3c6ff172 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Sat, 6 May 2017 14:39:31 +0100
Subject: [PATCH] Documentation for Matrix

---
 doc/EN/app_matrix.org      |  53 ++++++
 doc/EN/apps.org            |   4 +
 img/matrix_riotweb.jpg     | Bin 0 -> 43614 bytes
 website/EN/app_matrix.html | 348 +++++++++++++++++++++++++++++++++++++
 website/EN/apps.html       | 176 ++++++++++---------
 5 files changed, 499 insertions(+), 82 deletions(-)
 create mode 100644 doc/EN/app_matrix.org
 create mode 100644 img/matrix_riotweb.jpg
 create mode 100644 website/EN/app_matrix.html

diff --git a/doc/EN/app_matrix.org b/doc/EN/app_matrix.org
new file mode 100644
index 000000000..456e8f7a8
--- /dev/null
+++ b/doc/EN/app_matrix.org
@@ -0,0 +1,53 @@
+#+TITLE:
+#+AUTHOR: Bob Mottram
+#+EMAIL: bob@freedombone.net
+#+KEYWORDS: freedombone, matrix
+#+DESCRIPTION: How to use Matrix
+#+OPTIONS: ^:nil toc:nil
+#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="freedombone.css" />
+
+#+BEGIN_CENTER
+[[file:images/logo.png]]
+#+END_CENTER
+
+#+BEGIN_EXPORT html
+<center>
+<h1>Matrix</h1>
+</center>
+#+END_EXPORT
+
+#+BEGIN_CENTER
+[[file:images/matrix_riotweb.jpg]]
+#+END_CENTER
+
+Matrix is a federated communications system, typically for multi-user chat, with end-to-end content security features. You can consider it to be like a modernized version of IRC chat where the crypto and access controls have been built in by default. At present Matrix is really only a creature of the clearnet and so there isn't any way to protect the metadata. Despite the talk of security the lack of metadata defenses make this really only suitable for public communications, similar to microblogging or public IRC channels.
+
+* Installation
+Log into your system with:
+
+#+begin_src bash
+ssh myusername@mydomain -p 2222
+#+end_src
+
+Using cursor keys, space bar and Enter key select *Administrator controls* and type in your password.
+
+Select *Add/Remove Apps* then *matrix*. You will then be asked for a domain name and if you are using FreeDNS also the code for the domain which can be found under *Dynamic DNS* on the FreeDNS site (the random string from "/quick cron example/" which appears after /update.php?/ and before />>/). For more details on obtaining a domain and making it accessible via dynamic DNS see the [[./faq.html][FAQ]]. Typically the domain name you use will be a subdomain, such as /matrix.mydomainname.net/. It will need to be a domain which you have bought somewhere and own and not one of the FreeDNS subdomains, otherwise you won't be able to get a SSL/TLS certificate for it.
+
+* Initial setup
+Go to the *Administrator control panel* and select *Passwords* then *matrix*. This will give you the password to initially log in to the system and you can change it later from a client app if needed.
+
+Install the *Riot* app from F-droid on a mobile device. You can then log in with your username and password, making sure to select a custom server and then entering your Matrix domain name for both the main server and identity server.
+
+Other client apps are available but are currently mostly only at the alpha stage. For details see the main [[https://matrix.org][matrix.org site]].
+
+* DNS setup
+It's recommended that you add an SRV record for Matrix to your DNS setup. How you do this will depend upon your dynamic DNS provider and their web interface. On FreeDNS on the subdomains settings in addition to the subdomain which you are using for the matrix server create an extra entry as follows:
+
+#+begin_src text
+Type: SRV
+Subdomain: _matrix._tcp
+Domain: [youdomain]
+Destination: 10 0 8448 [yourmatrixsubdomain]
+#+end_src
+
+You may also want to make another entry with the same settings but replacing *tcp* with *udp*.
diff --git a/doc/EN/apps.org b/doc/EN/apps.org
index d40ade796..450e96857 100644
--- a/doc/EN/apps.org
+++ b/doc/EN/apps.org
@@ -79,6 +79,10 @@ Make your photo albums available on the web.
 Modern email client which supports GPG encryption.
 
 [[./app_mailpile.html][How to use it]]
+* Matrix
+Multi-user chat with some security and moderation controls.
+
+[[./app_matrix.html][How to use it]]
 * Mediagoblin
 Publicly host video and audio files so that you don't need to use YouTube/Vimeo/etc.
 
diff --git a/img/matrix_riotweb.jpg b/img/matrix_riotweb.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5fac7212b1be2ca3a9c4fe72213ec7d759da57da
GIT binary patch
literal 43614
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

literal 0
HcmV?d00001

diff --git a/website/EN/app_matrix.html b/website/EN/app_matrix.html
new file mode 100644
index 000000000..715223963
--- /dev/null
+++ b/website/EN/app_matrix.html
@@ -0,0 +1,348 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<!-- 2017-05-06 Sat 14:38 -->
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<title></title>
+<meta name="generator" content="Org mode" />
+<meta name="author" content="Bob Mottram" />
+<meta name="description" content="How to use Matrix"
+ />
+<meta name="keywords" content="freedombone, matrix" />
+<style type="text/css">
+ <!--/*--><![CDATA[/*><!--*/
+  .title  { text-align: center;
+             margin-bottom: .2em; }
+  .subtitle { text-align: center;
+              font-size: medium;
+              font-weight: bold;
+              margin-top:0; }
+  .todo   { font-family: monospace; color: red; }
+  .done   { font-family: monospace; color: green; }
+  .priority { font-family: monospace; color: orange; }
+  .tag    { background-color: #eee; font-family: monospace;
+            padding: 2px; font-size: 80%; font-weight: normal; }
+  .timestamp { color: #bebebe; }
+  .timestamp-kwd { color: #5f9ea0; }
+  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
+  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
+  .org-center { margin-left: auto; margin-right: auto; text-align: center; }
+  .underline { text-decoration: underline; }
+  #postamble p, #preamble p { font-size: 90%; margin: .2em; }
+  p.verse { margin-left: 3%; }
+  pre {
+    border: 1px solid #ccc;
+    box-shadow: 3px 3px 3px #eee;
+    padding: 8pt;
+    font-family: monospace;
+    overflow: auto;
+    margin: 1.2em;
+  }
+  pre.src {
+    position: relative;
+    overflow: visible;
+    padding-top: 1.2em;
+  }
+  pre.src:before {
+    display: none;
+    position: absolute;
+    background-color: white;
+    top: -10px;
+    right: 10px;
+    padding: 3px;
+    border: 1px solid black;
+  }
+  pre.src:hover:before { display: inline;}
+  /* Languages per Org manual */
+  pre.src-asymptote:before { content: 'Asymptote'; }
+  pre.src-awk:before { content: 'Awk'; }
+  pre.src-C:before { content: 'C'; }
+  /* pre.src-C++ doesn't work in CSS */
+  pre.src-clojure:before { content: 'Clojure'; }
+  pre.src-css:before { content: 'CSS'; }
+  pre.src-D:before { content: 'D'; }
+  pre.src-ditaa:before { content: 'ditaa'; }
+  pre.src-dot:before { content: 'Graphviz'; }
+  pre.src-calc:before { content: 'Emacs Calc'; }
+  pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
+  pre.src-fortran:before { content: 'Fortran'; }
+  pre.src-gnuplot:before { content: 'gnuplot'; }
+  pre.src-haskell:before { content: 'Haskell'; }
+  pre.src-hledger:before { content: 'hledger'; }
+  pre.src-java:before { content: 'Java'; }
+  pre.src-js:before { content: 'Javascript'; }
+  pre.src-latex:before { content: 'LaTeX'; }
+  pre.src-ledger:before { content: 'Ledger'; }
+  pre.src-lisp:before { content: 'Lisp'; }
+  pre.src-lilypond:before { content: 'Lilypond'; }
+  pre.src-lua:before { content: 'Lua'; }
+  pre.src-matlab:before { content: 'MATLAB'; }
+  pre.src-mscgen:before { content: 'Mscgen'; }
+  pre.src-ocaml:before { content: 'Objective Caml'; }
+  pre.src-octave:before { content: 'Octave'; }
+  pre.src-org:before { content: 'Org mode'; }
+  pre.src-oz:before { content: 'OZ'; }
+  pre.src-plantuml:before { content: 'Plantuml'; }
+  pre.src-processing:before { content: 'Processing.js'; }
+  pre.src-python:before { content: 'Python'; }
+  pre.src-R:before { content: 'R'; }
+  pre.src-ruby:before { content: 'Ruby'; }
+  pre.src-sass:before { content: 'Sass'; }
+  pre.src-scheme:before { content: 'Scheme'; }
+  pre.src-screen:before { content: 'Gnu Screen'; }
+  pre.src-sed:before { content: 'Sed'; }
+  pre.src-sh:before { content: 'shell'; }
+  pre.src-sql:before { content: 'SQL'; }
+  pre.src-sqlite:before { content: 'SQLite'; }
+  /* additional languages in org.el's org-babel-load-languages alist */
+  pre.src-forth:before { content: 'Forth'; }
+  pre.src-io:before { content: 'IO'; }
+  pre.src-J:before { content: 'J'; }
+  pre.src-makefile:before { content: 'Makefile'; }
+  pre.src-maxima:before { content: 'Maxima'; }
+  pre.src-perl:before { content: 'Perl'; }
+  pre.src-picolisp:before { content: 'Pico Lisp'; }
+  pre.src-scala:before { content: 'Scala'; }
+  pre.src-shell:before { content: 'Shell Script'; }
+  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
+  /* additional language identifiers per "defun org-babel-execute"
+       in ob-*.el */
+  pre.src-cpp:before  { content: 'C++'; }
+  pre.src-abc:before  { content: 'ABC'; }
+  pre.src-coq:before  { content: 'Coq'; }
+  pre.src-groovy:before  { content: 'Groovy'; }
+  /* additional language identifiers from org-babel-shell-names in
+     ob-shell.el: ob-shell is the only babel language using a lambda to put
+     the execution function name together. */
+  pre.src-bash:before  { content: 'bash'; }
+  pre.src-csh:before  { content: 'csh'; }
+  pre.src-ash:before  { content: 'ash'; }
+  pre.src-dash:before  { content: 'dash'; }
+  pre.src-ksh:before  { content: 'ksh'; }
+  pre.src-mksh:before  { content: 'mksh'; }
+  pre.src-posh:before  { content: 'posh'; }
+  /* Additional Emacs modes also supported by the LaTeX listings package */
+  pre.src-ada:before { content: 'Ada'; }
+  pre.src-asm:before { content: 'Assembler'; }
+  pre.src-caml:before { content: 'Caml'; }
+  pre.src-delphi:before { content: 'Delphi'; }
+  pre.src-html:before { content: 'HTML'; }
+  pre.src-idl:before { content: 'IDL'; }
+  pre.src-mercury:before { content: 'Mercury'; }
+  pre.src-metapost:before { content: 'MetaPost'; }
+  pre.src-modula-2:before { content: 'Modula-2'; }
+  pre.src-pascal:before { content: 'Pascal'; }
+  pre.src-ps:before { content: 'PostScript'; }
+  pre.src-prolog:before { content: 'Prolog'; }
+  pre.src-simula:before { content: 'Simula'; }
+  pre.src-tcl:before { content: 'tcl'; }
+  pre.src-tex:before { content: 'TeX'; }
+  pre.src-plain-tex:before { content: 'Plain TeX'; }
+  pre.src-verilog:before { content: 'Verilog'; }
+  pre.src-vhdl:before { content: 'VHDL'; }
+  pre.src-xml:before { content: 'XML'; }
+  pre.src-nxml:before { content: 'XML'; }
+  /* add a generic configuration mode; LaTeX export needs an additional
+     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
+  pre.src-conf:before { content: 'Configuration File'; }
+
+  table { border-collapse:collapse; }
+  caption.t-above { caption-side: top; }
+  caption.t-bottom { caption-side: bottom; }
+  td, th { vertical-align:top;  }
+  th.org-right  { text-align: center;  }
+  th.org-left   { text-align: center;   }
+  th.org-center { text-align: center; }
+  td.org-right  { text-align: right;  }
+  td.org-left   { text-align: left;   }
+  td.org-center { text-align: center; }
+  dt { font-weight: bold; }
+  .footpara { display: inline; }
+  .footdef  { margin-bottom: 1em; }
+  .figure { padding: 1em; }
+  .figure p { text-align: center; }
+  .inlinetask {
+    padding: 10px;
+    border: 2px solid gray;
+    margin: 10px;
+    background: #ffffcc;
+  }
+  #org-div-home-and-up
+   { text-align: right; font-size: 70%; white-space: nowrap; }
+  textarea { overflow-x: auto; }
+  .linenr { font-size: smaller }
+  .code-highlighted { background-color: #ffff00; }
+  .org-info-js_info-navigation { border-style: none; }
+  #org-info-js_console-label
+    { font-size: 10px; font-weight: bold; white-space: nowrap; }
+  .org-info-js_search-highlight
+    { background-color: #ffff00; color: #000000; font-weight: bold; }
+  .org-svg { width: 90%; }
+  /*]]>*/-->
+</style>
+<link rel="stylesheet" type="text/css" href="freedombone.css" />
+<script type="text/javascript">
+/*
+@licstart  The following is the entire license notice for the
+JavaScript code in this tag.
+
+Copyright (C) 2012-2017 Free Software Foundation, Inc.
+
+The JavaScript code in this tag is free software: you can
+redistribute it and/or modify it under the terms of the GNU
+General Public License (GNU GPL) as published by the Free Software
+Foundation, either version 3 of the License, or (at your option)
+any later version.  The code is distributed WITHOUT ANY WARRANTY;
+without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
+
+As additional permission under GNU GPL version 3 section 7, you
+may distribute non-source (e.g., minimized or compacted) forms of
+that code without the copy of the GNU GPL normally required by
+section 4, provided you include this license notice and a URL
+through which recipients can access the Corresponding Source.
+
+
+@licend  The above is the entire license notice
+for the JavaScript code in this tag.
+*/
+<!--/*--><![CDATA[/*><!--*/
+ function CodeHighlightOn(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(null != target) {
+     elem.cacheClassElem = elem.className;
+     elem.cacheClassTarget = target.className;
+     target.className = "code-highlighted";
+     elem.className   = "code-highlighted";
+   }
+ }
+ function CodeHighlightOff(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(elem.cacheClassElem)
+     elem.className = elem.cacheClassElem;
+   if(elem.cacheClassTarget)
+     target.className = elem.cacheClassTarget;
+ }
+/*]]>*///-->
+</script>
+</head>
+<body>
+<div id="preamble" class="status">
+<a name="top" id="top"></a>
+</div>
+<div id="content">
+<div class="org-center">
+
+<div class="figure">
+<p><img src="images/logo.png" alt="logo.png" />
+</p>
+</div>
+</div>
+
+<center>
+<h1>Matrix</h1>
+</center>
+
+<div class="org-center">
+
+<div class="figure">
+<p><img src="images/matrix_riotweb.jpg" alt="matrix_riotweb.jpg" />
+</p>
+</div>
+</div>
+
+<p>
+Matrix is a federated communications system, typically for multi-user chat, with end-to-end content security features. You can consider it to be like a modernized version of IRC chat where the crypto and access controls have been built in by default. At present Matrix is really only a creature of the clearnet and so there isn't any way to protect the metadata. Despite the talk of security the lack of metadata defenses make this really only suitable for public communications, similar to microblogging or public IRC channels.
+</p>
+
+<div id="outline-container-org46fb6b7" class="outline-2">
+<h2 id="org46fb6b7">Installation</h2>
+<div class="outline-text-2" id="text-org46fb6b7">
+<p>
+Log into your system with:
+</p>
+
+<div class="org-src-container">
+<pre><code class="src src-bash">ssh myusername@mydomain -p 2222
+</code></pre>
+</div>
+
+<p>
+Using cursor keys, space bar and Enter key select <b>Administrator controls</b> and type in your password.
+</p>
+
+<p>
+Select <b>Add/Remove Apps</b> then <b>matrix</b>. You will then be asked for a domain name and if you are using FreeDNS also the code for the domain which can be found under <b>Dynamic DNS</b> on the FreeDNS site (the random string from "<i>quick cron example</i>" which appears after <i>update.php?</i> and before <i>&gt;&gt;</i>). For more details on obtaining a domain and making it accessible via dynamic DNS see the <a href="./faq.html">FAQ</a>. Typically the domain name you use will be a subdomain, such as <i>matrix.mydomainname.net</i>. It will need to be a domain which you have bought somewhere and own and not one of the FreeDNS subdomains, otherwise you won't be able to get a SSL/TLS certificate for it.
+</p>
+</div>
+</div>
+
+<div id="outline-container-org290b604" class="outline-2">
+<h2 id="org290b604">Initial setup</h2>
+<div class="outline-text-2" id="text-org290b604">
+<p>
+Go to the <b>Administrator control panel</b> and select <b>Passwords</b> then <b>matrix</b>. This will give you the password to initially log in to the system and you can change it later from a client app if needed.
+</p>
+
+<p>
+Install the <b>Riot</b> app from F-droid on a mobile device. You can then log in with your username and password, making sure to select a custom server and then entering your Matrix domain name for both the main server and identity server.
+</p>
+
+<p>
+Other client apps are available but are currently mostly only at the alpha stage. For details see the main <a href="https://matrix.org">matrix.org site</a>.
+</p>
+</div>
+</div>
+
+<div id="outline-container-orgba35485" class="outline-2">
+<h2 id="orgba35485">DNS setup</h2>
+<div class="outline-text-2" id="text-orgba35485">
+<p>
+It's recommended that you add an SRV record for Matrix to your DNS setup. How you do this will depend upon your dynamic DNS provider and their web interface. On FreeDNS on the subdomains settings in addition to the subdomain which you are using for the matrix server create an extra entry as follows:
+</p>
+
+<div class="org-src-container">
+<pre><code class="src src-text">Type: SRV
+Subdomain: _matrix._tcp
+Domain: [youdomain]
+Destination: 10 0 8448 [yourmatrixsubdomain]
+</code></pre>
+</div>
+
+<p>
+You may also want to make another entry with the same settings but replacing <b>tcp</b> with <b>udp</b>.
+</p>
+</div>
+</div>
+</div>
+<div id="postamble" class="status">
+
+<style type="text/css">
+.back-to-top {
+    position: fixed;
+    bottom: 2em;
+    right: 0px;
+    text-decoration: none;
+    color: #000000;
+    background-color: rgba(235, 235, 235, 0.80);
+    font-size: 12px;
+    padding: 1em;
+    display: none;
+}
+
+.back-to-top:hover {
+    background-color: rgba(135, 135, 135, 0.50);
+}
+</style>
+
+<div class="back-to-top">
+<a href="#top">Back to top</a> | <a href="mailto:bob@freedombone.net">E-mail me</a>
+</div>
+</div>
+</body>
+</html>
diff --git a/website/EN/apps.html b/website/EN/apps.html
index df40e77be..69c6ada64 100644
--- a/website/EN/apps.html
+++ b/website/EN/apps.html
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2017-04-16 Sun 20:15 -->
+<!-- 2017-05-06 Sat 14:28 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title></title>
@@ -264,9 +264,9 @@ The base install of the system just contains an email server and Mutt client, bu
 </div>
 </div>
 
-<div id="outline-container-orgaef5461" class="outline-2">
-<h2 id="orgaef5461">DLNA</h2>
-<div class="outline-text-2" id="text-orgaef5461">
+<div id="outline-container-org3133696" class="outline-2">
+<h2 id="org3133696">DLNA</h2>
+<div class="outline-text-2" id="text-org3133696">
 <p>
 Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.
 </p>
@@ -276,9 +276,9 @@ Enables you to use the system as a music server which any DLNA compatible device
 </p>
 </div>
 </div>
-<div id="outline-container-org93b2ce7" class="outline-2">
-<h2 id="org93b2ce7">Dokuwiki</h2>
-<div class="outline-text-2" id="text-org93b2ce7">
+<div id="outline-container-org7e6853f" class="outline-2">
+<h2 id="org7e6853f">Dokuwiki</h2>
+<div class="outline-text-2" id="text-org7e6853f">
 <p>
 A databaseless wiki system.
 </p>
@@ -288,9 +288,9 @@ A databaseless wiki system.
 </p>
 </div>
 </div>
-<div id="outline-container-org22d83d1" class="outline-2">
-<h2 id="org22d83d1">Emacs</h2>
-<div class="outline-text-2" id="text-org22d83d1">
+<div id="outline-container-orge8f2197" class="outline-2">
+<h2 id="orge8f2197">Emacs</h2>
+<div class="outline-text-2" id="text-orge8f2197">
 <p>
 If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.
 </p>
@@ -300,9 +300,9 @@ If you use the Mutt client to read your email then this will set it up to use em
 </p>
 </div>
 </div>
-<div id="outline-container-org3def1a9" class="outline-2">
-<h2 id="org3def1a9">Etherpad</h2>
-<div class="outline-text-2" id="text-org3def1a9">
+<div id="outline-container-org426b74c" class="outline-2">
+<h2 id="org426b74c">Etherpad</h2>
+<div class="outline-text-2" id="text-org426b74c">
 <p>
 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.
 </p>
@@ -312,9 +312,9 @@ Collaborate on creating documents in real time. Maybe you're planning a holiday
 </p>
 </div>
 </div>
-<div id="outline-container-orgce48cd9" class="outline-2">
-<h2 id="orgce48cd9">Friendica</h2>
-<div class="outline-text-2" id="text-orgce48cd9">
+<div id="outline-container-org9b190bd" class="outline-2">
+<h2 id="org9b190bd">Friendica</h2>
+<div class="outline-text-2" id="text-org9b190bd">
 <p>
 Federated social network system.
 </p>
@@ -324,9 +324,9 @@ Federated social network system.
 </p>
 </div>
 </div>
-<div id="outline-container-orgddef943" class="outline-2">
-<h2 id="orgddef943">Ghost</h2>
-<div class="outline-text-2" id="text-orgddef943">
+<div id="outline-container-org2413ce1" class="outline-2">
+<h2 id="org2413ce1">Ghost</h2>
+<div class="outline-text-2" id="text-org2413ce1">
 <p>
 Modern looking blogging system.
 </p>
@@ -336,9 +336,9 @@ Modern looking blogging system.
 </p>
 </div>
 </div>
-<div id="outline-container-orgaa03d10" class="outline-2">
-<h2 id="orgaa03d10">GNU Social</h2>
-<div class="outline-text-2" id="text-orgaa03d10">
+<div id="outline-container-orgfe1fc0a" class="outline-2">
+<h2 id="orgfe1fc0a">GNU Social</h2>
+<div class="outline-text-2" id="text-orgfe1fc0a">
 <p>
 Federated social network. You can "<i>remote follow</i>" other users within the GNU Social federation.
 </p>
@@ -348,9 +348,9 @@ Federated social network. You can "<i>remote follow</i>" other users within the
 </p>
 </div>
 </div>
-<div id="outline-container-org0b59cf9" class="outline-2">
-<h2 id="org0b59cf9">Gogs</h2>
-<div class="outline-text-2" id="text-org0b59cf9">
+<div id="outline-container-orga4716ef" class="outline-2">
+<h2 id="orga4716ef">Gogs</h2>
+<div class="outline-text-2" id="text-orga4716ef">
 <p>
 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.
 </p>
@@ -360,9 +360,9 @@ Lightweight git project hosting system. You can mirror projects from Github, or
 </p>
 </div>
 </div>
-<div id="outline-container-org82116af" class="outline-2">
-<h2 id="org82116af">HTMLy</h2>
-<div class="outline-text-2" id="text-org82116af">
+<div id="outline-container-org0d4f93d" class="outline-2">
+<h2 id="org0d4f93d">HTMLy</h2>
+<div class="outline-text-2" id="text-org0d4f93d">
 <p>
 Databaseless blogging system. Quite simple and with a markdown-like format.
 </p>
@@ -372,9 +372,9 @@ Databaseless blogging system. Quite simple and with a markdown-like format.
 </p>
 </div>
 </div>
-<div id="outline-container-org628e970" class="outline-2">
-<h2 id="org628e970">Hubzilla</h2>
-<div class="outline-text-2" id="text-org628e970">
+<div id="outline-container-org0d348d0" class="outline-2">
+<h2 id="org0d348d0">Hubzilla</h2>
+<div class="outline-text-2" id="text-org0d348d0">
 <p>
 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.
 </p>
@@ -384,9 +384,9 @@ Web publishing platform with social network like features and good privacy contr
 </p>
 </div>
 </div>
-<div id="outline-container-org053df0a" class="outline-2">
-<h2 id="org053df0a">IRC Server (ngirc)</h2>
-<div class="outline-text-2" id="text-org053df0a">
+<div id="outline-container-org9d8a8f3" class="outline-2">
+<h2 id="org9d8a8f3">IRC Server (ngirc)</h2>
+<div class="outline-text-2" id="text-org9d8a8f3">
 <p>
 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.
 </p>
@@ -396,18 +396,18 @@ Run your own IRC chat channel which can be secured with a password and accessibl
 </p>
 </div>
 </div>
-<div id="outline-container-org3114655" class="outline-2">
-<h2 id="org3114655">Jitsi Meet</h2>
-<div class="outline-text-2" id="text-org3114655">
+<div id="outline-container-org994c40b" class="outline-2">
+<h2 id="org994c40b">Jitsi Meet</h2>
+<div class="outline-text-2" id="text-org994c40b">
 <p>
 Experimental WebRTC video conferencing system, similar to Google Hangouts. This may not be fully functional, but is hoped to be in the near future.
 </p>
 </div>
 </div>
 
-<div id="outline-container-org95bfce2" class="outline-2">
-<h2 id="org95bfce2">Lychee</h2>
-<div class="outline-text-2" id="text-org95bfce2">
+<div id="outline-container-org77fc7ff" class="outline-2">
+<h2 id="org77fc7ff">Lychee</h2>
+<div class="outline-text-2" id="text-org77fc7ff">
 <p>
 Make your photo albums available on the web.
 </p>
@@ -417,9 +417,9 @@ Make your photo albums available on the web.
 </p>
 </div>
 </div>
-<div id="outline-container-org7547134" class="outline-2">
-<h2 id="org7547134">Mailpile</h2>
-<div class="outline-text-2" id="text-org7547134">
+<div id="outline-container-org8fe7942" class="outline-2">
+<h2 id="org8fe7942">Mailpile</h2>
+<div class="outline-text-2" id="text-org8fe7942">
 <p>
 Modern email client which supports GPG encryption.
 </p>
@@ -429,9 +429,21 @@ Modern email client which supports GPG encryption.
 </p>
 </div>
 </div>
-<div id="outline-container-org8cf199d" class="outline-2">
-<h2 id="org8cf199d">Mediagoblin</h2>
-<div class="outline-text-2" id="text-org8cf199d">
+<div id="outline-container-orgefa8f2e" class="outline-2">
+<h2 id="orgefa8f2e">Matrix</h2>
+<div class="outline-text-2" id="text-orgefa8f2e">
+<p>
+Multi-user chat with some security and moderation controls.
+</p>
+
+<p>
+<a href="./app_matrix.html">How to use it</a>
+</p>
+</div>
+</div>
+<div id="outline-container-org0a14737" class="outline-2">
+<h2 id="org0a14737">Mediagoblin</h2>
+<div class="outline-text-2" id="text-org0a14737">
 <p>
 Publicly host video and audio files so that you don't need to use YouTube/Vimeo/etc.
 </p>
@@ -441,9 +453,9 @@ Publicly host video and audio files so that you don't need to use YouTube/Vimeo/
 </p>
 </div>
 </div>
-<div id="outline-container-org5c78370" class="outline-2">
-<h2 id="org5c78370">Mumble</h2>
-<div class="outline-text-2" id="text-org5c78370">
+<div id="outline-container-orgcc0d1bc" class="outline-2">
+<h2 id="orgcc0d1bc">Mumble</h2>
+<div class="outline-text-2" id="text-orgcc0d1bc">
 <p>
 The popular VoIP and text chat system. Say goodbye to old-fashioned telephony conferences with silly dial codes. Also works well on mobile.
 </p>
@@ -453,9 +465,9 @@ The popular VoIP and text chat system. Say goodbye to old-fashioned telephony co
 </p>
 </div>
 </div>
-<div id="outline-container-orgb21fe4b" class="outline-2">
-<h2 id="orgb21fe4b">PI-Hole</h2>
-<div class="outline-text-2" id="text-orgb21fe4b">
+<div id="outline-container-orgb5dff52" class="outline-2">
+<h2 id="orgb5dff52">PI-Hole</h2>
+<div class="outline-text-2" id="text-orgb5dff52">
 <p>
 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.
 </p>
@@ -465,9 +477,9 @@ The black hole for web adverts. Block adverts at the domain name level within yo
 </p>
 </div>
 </div>
-<div id="outline-container-orgf07d1fd" class="outline-2">
-<h2 id="orgf07d1fd">PostActiv</h2>
-<div class="outline-text-2" id="text-orgf07d1fd">
+<div id="outline-container-org14f412d" class="outline-2">
+<h2 id="org14f412d">PostActiv</h2>
+<div class="outline-text-2" id="text-org14f412d">
 <p>
 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.
 </p>
@@ -477,9 +489,9 @@ An alternative federated social networking system compatible with GNU Social. It
 </p>
 </div>
 </div>
-<div id="outline-container-orgf106362" class="outline-2">
-<h2 id="orgf106362">Radicale</h2>
-<div class="outline-text-2" id="text-orgf106362">
+<div id="outline-container-org428f160" class="outline-2">
+<h2 id="org428f160">Radicale</h2>
+<div class="outline-text-2" id="text-org428f160">
 <p>
 Calendar system compatible with CalDAV and CardDAV. Synch your calendar events easily and securely across all your devices.
 </p>
@@ -489,9 +501,9 @@ Calendar system compatible with CalDAV and CardDAV. Synch your calendar events e
 </p>
 </div>
 </div>
-<div id="outline-container-org75daebd" class="outline-2">
-<h2 id="org75daebd">SearX</h2>
-<div class="outline-text-2" id="text-org75daebd">
+<div id="outline-container-orgfe12a99" class="outline-2">
+<h2 id="orgfe12a99">SearX</h2>
+<div class="outline-text-2" id="text-orgfe12a99">
 <p>
 A metasearch engine for customised and private web searches.
 </p>
@@ -501,9 +513,9 @@ A metasearch engine for customised and private web searches.
 </p>
 </div>
 </div>
-<div id="outline-container-org277c344" class="outline-2">
-<h2 id="org277c344">tt-rss</h2>
-<div class="outline-text-2" id="text-org277c344">
+<div id="outline-container-org5601f82" class="outline-2">
+<h2 id="org5601f82">tt-rss</h2>
+<div class="outline-text-2" id="text-org5601f82">
 <p>
 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.
 </p>
@@ -513,9 +525,9 @@ Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via a
 </p>
 </div>
 </div>
-<div id="outline-container-org303d613" class="outline-2">
-<h2 id="org303d613">Syncthing</h2>
-<div class="outline-text-2" id="text-org303d613">
+<div id="outline-container-org0665efd" class="outline-2">
+<h2 id="org0665efd">Syncthing</h2>
+<div class="outline-text-2" id="text-org0665efd">
 <p>
 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.
 </p>
@@ -525,9 +537,9 @@ Possibly the best way to synchronise files across all of your devices. Once it h
 </p>
 </div>
 </div>
-<div id="outline-container-org9375130" class="outline-2">
-<h2 id="org9375130">Tahoe-LAFS</h2>
-<div class="outline-text-2" id="text-org9375130">
+<div id="outline-container-orgbb157d9" class="outline-2">
+<h2 id="orgbb157d9">Tahoe-LAFS</h2>
+<div class="outline-text-2" id="text-orgbb157d9">
 <p>
 Robust and encrypted storage of files on one or more server.
 </p>
@@ -537,9 +549,9 @@ Robust and encrypted storage of files on one or more server.
 </p>
 </div>
 </div>
-<div id="outline-container-org14db040" class="outline-2">
-<h2 id="org14db040">Tox</h2>
-<div class="outline-text-2" id="text-org14db040">
+<div id="outline-container-orgc480751" class="outline-2">
+<h2 id="orgc480751">Tox</h2>
+<div class="outline-text-2" id="text-orgc480751">
 <p>
 Client and bootstrap node for the Tox chat/VoIP system.
 </p>
@@ -549,9 +561,9 @@ Client and bootstrap node for the Tox chat/VoIP system.
 </p>
 </div>
 </div>
-<div id="outline-container-org7fa24b1" class="outline-2">
-<h2 id="org7fa24b1">Turtl</h2>
-<div class="outline-text-2" id="text-org7fa24b1">
+<div id="outline-container-org445dcb2" class="outline-2">
+<h2 id="org445dcb2">Turtl</h2>
+<div class="outline-text-2" id="text-org445dcb2">
 <p>
 A system for privately creating and sharing notes and images, similar to Evernote but without the spying.
 </p>
@@ -561,18 +573,18 @@ A system for privately creating and sharing notes and images, similar to Evernot
 </p>
 </div>
 </div>
-<div id="outline-container-org87a048b" class="outline-2">
-<h2 id="org87a048b">Vim</h2>
-<div class="outline-text-2" id="text-org87a048b">
+<div id="outline-container-org15fb14c" class="outline-2">
+<h2 id="org15fb14c">Vim</h2>
+<div class="outline-text-2" id="text-org15fb14c">
 <p>
 If you use the Mutt client to read your email then this will set it up to use vim for composing new mail.
 </p>
 </div>
 </div>
 
-<div id="outline-container-orgf4dbf6f" class="outline-2">
-<h2 id="orgf4dbf6f">XMPP</h2>
-<div class="outline-text-2" id="text-orgf4dbf6f">
+<div id="outline-container-org453cb99" class="outline-2">
+<h2 id="org453cb99">XMPP</h2>
+<div class="outline-text-2" id="text-org453cb99">
 <p>
 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.
 </p>
-- 
GitLab