2016-02-01 17:43:47 +01:00
<?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-27 23:14:11 +01:00
<!-- 2016 - 02 - 27 Sat 22:07 -->
< meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2016-02-01 17:43:47 +01:00
< title > < / title >
2016-02-27 23:14:11 +01:00
< meta name = "generator" content = "Org-mode" / >
< meta name = "author" content = "Bob Mottram" / >
< meta name = "description" content = "Control Panel"
2016-02-01 17:43:47 +01:00
/>
2016-02-27 23:14:11 +01:00
< meta name = "keywords" content = "freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber" / >
2016-02-01 17:43:47 +01:00
< 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; }
2016-02-27 23:14:11 +01:00
.footpara { display: inline; }
2016-02-01 17:43:47 +01:00
.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" >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:43:47 +01:00
< 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 >