Documentation for the control panel

This commit is contained in:
Bob Mottram 2016-02-01 16:43:47 +00:00
parent a50eb2e22c
commit d5417031bf
14 changed files with 565 additions and 6 deletions

111
doc/EN/controlpanel.org Normal file
View File

@ -0,0 +1,111 @@
#+TITLE:
#+AUTHOR: Bob Mottram
#+EMAIL: bob@robotics.uk.to
#+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber
#+DESCRIPTION: Control Panel
#+OPTIONS: ^:nil toc:nil
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="solarized-light.css" />
#+BEGIN_CENTER
[[file:images/logo.png]]
#+END_CENTER
#+BEGIN_HTML
<center>
<h1>Control panel</h1>
</center>
#+END_HTML
| [[Main menu]] |
| [[About screen]] |
| [[Email filtering rules]] |
| [[Hubzilla menu]] |
| [[IRC menu]] |
| [[Media menu]] |
| [[Repository mirrors]] |
| [[Backup and restore menu]] |
| [[Security menu]] |
| [[User management menu]] |
* Main menu
You can access the main menu by logging into the system, then running the *control* command with root privileges.
#+BEGIN_SRC bash
ssh myusername@mydomain -p 2222
sudo control
#+END_SRC
It should look like this:
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel.jpg]]
#+END_CENTER
To select anythng on the control panel use the *up and down* cursor keys and *space bar* to tag, then press *Enter*.
* About screen
To find out your current domain names select the About screen from the main menu. This is especially useful for finding your onion addresses. For improved security by compartmentalisation, and also simpler implementation, each application has its own onion address.
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_about.jpg]]
#+END_CENTER
You can also see the SIP extension numbers for each user and how much disk space each user is consuming (typically this corresponds with email use).
The Local Mirrors contains mirrored copies of the git repositories used by the system. If they don't have access to default repositories (mostly Github) then you can give these details to other users and then they can set their main repository such that they can pull from your system. Obviously any users doing this need to trust that you havn't modified the mirrored repositories in any way.
* Email filtering rules
You can add users to mailing lists, or block particular email addresses or subject lines in this menu.
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_filtering.jpg]]
#+END_CENTER
* Hubzilla menu
This allows you to set the global directory location and obtain an SSL/TLS certificate if necessary.
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_hubzilla.jpg]]
#+END_CENTER
* IRC menu
You can set a password for your IRC server here.
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_irc.jpg]]
#+END_CENTER
* Media menu
It's possible to add playable media to a USB drive and plug it into the system, then make it accessible to other devices such as tablets or phones on your local network via DLNA.
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_media.jpg]]
#+END_CENTER
* Repository mirrors
If you don't want to use the default repositories, or don't have access to them, then you can obtain them from another Freedombone server (the details can be found on the other server on the *About* screen of the control panel).
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_mirrors.jpg]]
#+END_CENTER
* Backup and restore menu
You can create backups or restore from backup here. It's also possible to create keydrives which store the backup key.
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_backup_restore.jpg]]
#+END_CENTER
* Security menu
If you need to generate SSL/TLS certificates or change cypher details due to changing recommendations then you can do that here. If you are changing cypher details be extra careful not to make mistakes/typos, which could reduce the security of your system.
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_security.jpg]]
#+END_CENTER
* User management menu
Users can be added or removed here.
#+BEGIN_CENTER
[[file:images/controlpanel/control_panel_users.jpg]]
#+END_CENTER

View File

@ -18,9 +18,10 @@
<td><center><a href="installation.html">Install</a></center></td>
<td><center><a href="usage.html">Use</a></center></td>
<td><center><a href="backups.html">Backups</a></center></td>
<td><center><a href="code.html">Code</a></center></td>
</tr>
<tr>
<td><center><a href="code.html">Code</a></center></td>
<td><center><a href="controlpanel.html">Control Panel</a></center></td>
<td><center><a href="related.html">Related</a></center></td>
<td><center><a href="faq.html">F.A.Q.</a></center></td>
<td><center><a href="support.html">Contact/Support</a></center></td>

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,445 @@
<?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>
<!-- 2016-02-01 Mon 16:40 -->
<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="Control Panel"
/>
<meta name="keywords" content="freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber" />
<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;}
pre.src-sh:before { content: 'sh'; }
pre.src-bash:before { content: 'sh'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-java:before { content: 'Java'; }
pre.src-sql:before { content: 'SQL'; }
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:nth-child(2) { display: inline; }
.footpara { display: block; }
.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; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="solarized-light.css" />
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2013 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="center">
<div class="figure">
<p><img src="images/logo.png" alt="logo.png" />
</p>
</div>
</div>
<center>
<h1>Control panel</h1>
</center>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
</colgroup>
<tbody>
<tr>
<td class="org-left"><a href="#orgheadline1">Main menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline2">About screen</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline3">Email filtering rules</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline4">Hubzilla menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline5">IRC menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline6">Media menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline7">Repository mirrors</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline8">Backup and restore menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline9">Security menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline10">User management menu</a></td>
</tr>
</tbody>
</table>
<div id="outline-container-orgheadline1" class="outline-2">
<h2 id="orgheadline1">Main menu</h2>
<div class="outline-text-2" id="text-orgheadline1">
<p>
You can access the main menu by logging into the system, then running the <b>control</b> command with root privileges.
</p>
<div class="org-src-container">
<pre class="src src-bash">ssh myusername@mydomain -p 2222
sudo control
</pre>
</div>
<p>
It should look like this:
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel.jpg" alt="control_panel.jpg" />
</p>
</div>
</div>
<p>
To select anythng on the control panel use the <b>up and down</b> cursor keys and <b>space bar</b> to tag, then press <b>Enter</b>.
</p>
</div>
</div>
<div id="outline-container-orgheadline2" class="outline-2">
<h2 id="orgheadline2">About screen</h2>
<div class="outline-text-2" id="text-orgheadline2">
<p>
To find out your current domain names select the About screen from the main menu. This is especially useful for finding your onion addresses. For improved security by compartmentalisation, and also simpler implementation, each application has its own onion address.
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_about.jpg" alt="control_panel_about.jpg" />
</p>
</div>
</div>
<p>
You can also see the SIP extension numbers for each user and how much disk space each user is consuming (typically this corresponds with email use).
</p>
<p>
The Local Mirrors contains mirrored copies of the git repositories used by the system. If they don't have access to default repositories (mostly Github) then you can give these details to other users and then they can set their main repository such that they can pull from your system. Obviously any users doing this need to trust that you havn't modified the mirrored repositories in any way.
</p>
</div>
</div>
<div id="outline-container-orgheadline3" class="outline-2">
<h2 id="orgheadline3">Email filtering rules</h2>
<div class="outline-text-2" id="text-orgheadline3">
<p>
You can add users to mailing lists, or block particular email addresses or subject lines in this menu.
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_filtering.jpg" alt="control_panel_filtering.jpg" />
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgheadline4" class="outline-2">
<h2 id="orgheadline4">Hubzilla menu</h2>
<div class="outline-text-2" id="text-orgheadline4">
<p>
This allows you to set the global directory location and obtain an SSL/TLS certificate if necessary.
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_hubzilla.jpg" alt="control_panel_hubzilla.jpg" />
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgheadline5" class="outline-2">
<h2 id="orgheadline5">IRC menu</h2>
<div class="outline-text-2" id="text-orgheadline5">
<p>
You can set a password for your IRC server here.
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_irc.jpg" alt="control_panel_irc.jpg" />
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgheadline6" class="outline-2">
<h2 id="orgheadline6">Media menu</h2>
<div class="outline-text-2" id="text-orgheadline6">
<p>
It's possible to add playable media to a USB drive and plug it into the system, then make it accessible to other devices such as tablets or phones on your local network via DLNA.
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_media.jpg" alt="control_panel_media.jpg" />
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgheadline7" class="outline-2">
<h2 id="orgheadline7">Repository mirrors</h2>
<div class="outline-text-2" id="text-orgheadline7">
<p>
If you don't want to use the default repositories, or don't have access to them, then you can obtain them from another Freedombone server (the details can be found on the other server on the <b>About</b> screen of the control panel).
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_mirrors.jpg" alt="control_panel_mirrors.jpg" />
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgheadline8" class="outline-2">
<h2 id="orgheadline8">Backup and restore menu</h2>
<div class="outline-text-2" id="text-orgheadline8">
<p>
You can create backups or restore from backup here. It's also possible to create keydrives which store the backup key.
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_backup_restore.jpg" alt="control_panel_backup_restore.jpg" />
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgheadline9" class="outline-2">
<h2 id="orgheadline9">Security menu</h2>
<div class="outline-text-2" id="text-orgheadline9">
<p>
If you need to generate SSL/TLS certificates or change cypher details due to changing recommendations then you can do that here. If you are changing cypher details be extra careful not to make mistakes/typos, which could reduce the security of your system.
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_security.jpg" alt="control_panel_security.jpg" />
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgheadline10" class="outline-2">
<h2 id="orgheadline10">User management menu</h2>
<div class="outline-text-2" id="text-orgheadline10">
<p>
Users can be added or removed here.
</p>
<div class="center">
<div class="figure">
<p><img src="images/controlpanel/control_panel_users.jpg" alt="control_panel_users.jpg" />
</p>
</div>
</div>
</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@robotics.uk.to">E-mail me</a>
</div>
<script type="text/javascript">
var offset = 220;
var duration = 500;
jQuery(window).scroll(function() {
if (jQuery(this).scrollTop() > offset) {
jQuery('.back-to-top').fadeIn(duration);
} else {
jQuery('.back-to-top').fadeOut(duration);
}
});
</script>
</div>
</body>
</html>

View File

@ -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>
<!-- 2016-01-17 Sun 10:53 -->
<!-- 2016-02-01 Mon 16:43 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title></title>
@ -75,7 +75,8 @@
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footpara:nth-child(2) { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
@ -150,7 +151,7 @@ for the JavaScript code in this tag.
<a name="top" id="top"></a>
</div>
<div id="content">
<div class="org-center">
<div class="center">
<div class="figure">
<p><img src="images/logo.png" alt="logo.png" />
@ -165,9 +166,10 @@ for the JavaScript code in this tag.
<td><center><a href="installation.html">Install</a></center></td>
<td><center><a href="usage.html">Use</a></center></td>
<td><center><a href="backups.html">Backups</a></center></td>
<td><center><a href="code.html">Code</a></center></td>
</tr>
<tr>
<td><center><a href="code.html">Code</a></center></td>
<td><center><a href="controlpanel.html">Control Panel</a></center></td>
<td><center><a href="related.html">Related</a></center></td>
<td><center><a href="faq.html">F.A.Q.</a></center></td>
<td><center><a href="support.html">Contact/Support</a></center></td>
@ -197,7 +199,7 @@ With a system installed in your home you also have greater legal protection agai
Today everyone is concerned about privacy on the internet. Wanting privacy doesn't necessarily mean you have "something to hide". It just means having the ability to choose <i>what information to share, with whom and under what conditions</i> and therefore being able to shape your own life story. The loss of ability to choose via the "involuntary sharing" which many people experience when using communications systems built by the well known internet companies, means that you're no longer really running your own affairs and that others may begin to exert an improper amount of influence over you. Mass surveillance is perhaps the ultimate in involuntary sharing and it's only through the use of freedom respecting software together with a solid determination to overcome state and corporate abuses of technology that we can hope to get to the kind of internet in which respect for human dignity is built in as a core feature.
</p>
<div class="org-center">
<div class="center">
<div class="figure">
<p><img src="images/nocloud.png" alt="nocloud.png" />