freedomboneeee/website/EN/controlpanel.html

560 lines
18 KiB
HTML

<?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-08-08 Mon 17:19 -->
<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;}
/* 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-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-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="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="org-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="#org5b9a404">Main menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orge6a192d">User control panel</a></td>
</tr>
<tr>
<td class="org-left"><a href="#org36307fe">About screen</a></td>
</tr>
<tr>
<td class="org-left"><a href="#org802b84b">Email filtering rules</a></td>
</tr>
<tr>
<td class="org-left"><a href="#org8311261">Hubzilla menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orge818a90">IRC menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#org38dc9e7">Media menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#org69caf17">Repository mirrors</a></td>
</tr>
<tr>
<td class="org-left"><a href="#org9d94b93">Backup and restore menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgf5b1503">Security menu</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orge4d717e">User management menu</a></td>
</tr>
</tbody>
</table>
<div id="outline-container-org5b9a404" class="outline-2">
<h2 id="org5b9a404">Main menu</h2>
<div class="outline-text-2" id="text-org5b9a404">
<p>
You can access the main menu by logging into the system.
</p>
<div class="org-src-container">
<pre class="src src-bash">ssh myusername@mydomain -p 2222
</pre>
</div>
<p>
Then selecting <i>Administrator controls</i>.
</p>
<p>
It should look like this:
</p>
<div class="org-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-orge6a192d" class="outline-2">
<h2 id="orge6a192d">User control panel</h2>
<div class="outline-text-2" id="text-orge6a192d">
<p>
When a user initially logs in they will see a version of the control panel with restricted options aimed at the kinds of things which someone who isn't the administrator might wish to do. An expected scenario is that you might have a few friends or family members on the system, and this is who this menu is intended for.
</p>
<p>
From this menu checking email or running chat applications is very easy, and they are configured in a safe manner without the user needing to do anything special. Email uses <b>mutt</b>, XMPP uses <b>profanity</b> and IRC uses <b>irssi</b>.
</p>
<div class="org-center">
<div class="figure">
<p><img src="./images/controlpanel/control_panel_user.jpg" alt="control_panel_user.jpg" />
</p>
</div>
</div>
<p>
It's also possible for the user to define email filtering rules, add a ssh public key for key based login and also add or remove GPG public keys. They can also do this via the commandline if they prefer, but the menu system may provide an easier user interface.
</p>
</div>
</div>
<div id="outline-container-org36307fe" class="outline-2">
<h2 id="org36307fe">About screen</h2>
<div class="outline-text-2" id="text-org36307fe">
<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="org-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-org802b84b" class="outline-2">
<h2 id="org802b84b">Email filtering rules</h2>
<div class="outline-text-2" id="text-org802b84b">
<p>
You can add users to mailing lists, or block particular email addresses or subject lines in this menu.
</p>
<div class="org-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-org8311261" class="outline-2">
<h2 id="org8311261">Hubzilla menu</h2>
<div class="outline-text-2" id="text-org8311261">
<p>
This allows you to set the global directory location and obtain an SSL/TLS certificate if necessary.
</p>
<div class="org-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-orge818a90" class="outline-2">
<h2 id="orge818a90">IRC menu</h2>
<div class="outline-text-2" id="text-orge818a90">
<p>
You can view the current IRC password or change it from here. Currently the IRC server does not work equally well on clrearnet and via Tor, so there is an option to switch from one to the other. Initially the IRC server will be running on clearnet (i.e. no onion routing).
</p>
<div class="org-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-org38dc9e7" class="outline-2">
<h2 id="org38dc9e7">Media menu</h2>
<div class="outline-text-2" id="text-org38dc9e7">
<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="org-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-org69caf17" class="outline-2">
<h2 id="org69caf17">Repository mirrors</h2>
<div class="outline-text-2" id="text-org69caf17">
<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="org-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-org9d94b93" class="outline-2">
<h2 id="org9d94b93">Backup and restore menu</h2>
<div class="outline-text-2" id="text-org9d94b93">
<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="org-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-orgf5b1503" class="outline-2">
<h2 id="orgf5b1503">Security menu</h2>
<div class="outline-text-2" id="text-orgf5b1503">
<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="org-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-orge4d717e" class="outline-2">
<h2 id="orge4d717e">User management menu</h2>
<div class="outline-text-2" id="text-orge4d717e">
<p>
Users can be added or removed here.
</p>
<div class="org-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>