#+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_EXPORT html
<center>
<h1>Control panel</h1>
</center>
#+END_EXPORT

| [[Main menu]]               |
| [[User control panel]]      |
| [[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.

#+BEGIN_SRC bash
ssh myusername@mydomain -p 2222
#+END_SRC

Then selecting /Administrator controls/.

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*.

* User control panel
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.

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 *mutt*, XMPP uses *profanity* and IRC uses *irssi*.

#+BEGIN_CENTER
[[./images/controlpanel/control_panel_user.jpg]]
#+END_CENTER

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.
* 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 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).

#+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
