Beginning of new web site

This commit is contained in:
Bob Mottram 2014-10-25 19:09:46 +01:00
parent c186141280
commit d6e79e9686
20 changed files with 202 additions and 14 deletions

View File

@ -25,7 +25,7 @@ To get started you will need:
- Optionally a 5V 2A power supply for the Beaglebone Black
- Access to the internet via a router with ethernet sockets
- USB thumb drive (for backups or storing media)
- A subdomain created on https://freedns.afraid.org
- One or more subdomains created on https://freedns.afraid.org
- A purchased domain name and SSL certificate (only needed for Red Matrix)
- A laptop or desktop machine with the ability to write to a microSD card (might need an adaptor)
@ -81,4 +81,4 @@ Any manual post-installation setup instructions or passwords can be found in /ho
Non-Beaglebone hardware
=======================
It's also possible to install Freedombone onto other hardware. Any system with a fresh installation of Debian Jessie will do. Just make sure that you change the variable INSTALLING_ON_BBB to "no" within the *install-freedombone.sh* script. Obviously, you don't need to run the *initial_setup.sh* script on non-Beaglebone systems.
It's also possible to install Freedombone onto other hardware. Any system with a fresh installation of Debian Jessie will do. Just make sure that you change the variable INSTALLING_ON_BBB to "no" within *freedombone.cfg* or the *install-freedombone.sh* script. Obviously, you don't need to run the *initial_setup.sh* script on non-Beaglebone systems.

15
code.org Normal file
View File

@ -0,0 +1,15 @@
#+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: Turn the Beaglebone Black into a personal communications server
#+OPTIONS: ^:nil
#+BEGIN_CENTER
[[./images/logo.png]]
#+END_CENTER
Freedombone is really just a couple of bash scripts which install and configure software on a Debian GNU/Linux system. If you're a system administrator, software engineer or Linux hobbyist you'll probably be familiar with command line scripting and be able to make your own modifications or custom variants to suit your needs. Freedombone is licensed under the [[https://www.gnu.org/licenses/gpl-3.0-standalone.html][GNU General Public License version 3]].
You can find the source code for this project [[https://github.com/bashrc/freedombone][on Github]].
Bugs or feature requests should be [[https://github.com/bashrc/freedombone/issues][entered here]].

BIN
images/beagleboard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
images/bettercrypto.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

BIN
images/debian.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
images/dokuwiki.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
images/freedombox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/gnupg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
images/gnusocial.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
images/logo2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/nginx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
images/openssl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
images/owncloud.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/prosody.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
images/redmatrix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -4,20 +4,17 @@
#+KEYWORDS: freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber
#+DESCRIPTION: Turn the Beaglebone Black into a personal communications server
#+OPTIONS: ^:nil
#+STYLE: <link rel="stylesheet" type="text/css" href="index.css" />
#+BEGIN_CENTER
[[./images/freedombone_logo.png]]
[[./images/logo.png]]
#+END_CENTER
* Introduction
* License
#+BEGIN_CENTER
Copyright (C) 2014 Bob Mottram
Permission is granted to copy, distribute and/or modify this document under the terms of the [[https://gnu.org/licenses/fdl.html][GNU Free Documentation License]], Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
Source for this web site in [[https://en.wikipedia.org/wiki/Org-mode][Emacs org-mode]] format is available [[/beaglebone.txt][here]]. Comments or patches may be submitted via [[https://github.com/bashrc/freedombone][Github]].
#+ATTR_HTML: :border -1
| [[./variants.html][Variants]] | [[./installation.html][Installation]] | [[./usage.html][How to use it]] | [[./code.html][Code]] | [[./related.html][Related Projects]] | [[https://www.gnu.org/licenses/gpl-3.0-standalone.html][License]] |
#+END_CENTER
Today everyone is concerned about privacy on the internet. At the same time there's a problem with the companies who have traditionally provided most of the web services. The people running those companies may be well-intentioned - as in the famous motto "/don't be evil/" - but the advertising based business model which currently dominates, combined with an increasing level of political pressure to insert backdoors means that it is usually impossible for companies operating within both their own business models and the framework of national laws to provide you with services which don't intentionally leak your private communications to advertisers, insurers or governments.
Another problem is the precariousness of the terms of service. Except in rare cases such terms are not easy to read, so many people end up clicking through terms which if explained more clearly they would never agree to. Over the past decade many internet users have had the unpleasant experience of having their blogs, videos or other web content inexplicably removed, typically due to some ill-defined terms of service violation or a false accusation of copyright infringement.
You can bypass all of these dilemmas and take back ownership of your internet content with Freedombone. Based upon the Beaglebone Black, Freedombone is a small and cheap home server which enables you to use email, have your own web site and do social networking without any built-in spying and without having to agree to any legal terms of service other than those of your ISP. It provides independence and security in an era where those things are in short supply.

83
installation.org Normal file
View File

@ -0,0 +1,83 @@
#+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: Turn the Beaglebone Black into a personal communications server
#+OPTIONS: ^:nil
#+BEGIN_CENTER
[[./images/logo.png]]
#+END_CENTER
* On a Beaglebone Black
To get started you will need:
- A Beaglebone Black
- A MicroSD card
- Ethernet cable
- Optionally a 5V 2A power supply for the Beaglebone Black
- Access to the internet via a router with ethernet sockets
- USB thumb drive (for backups or storing media)
- One or more subdomains created on https://freedns.afraid.org
- A purchased domain name and SSL certificate (only needed for Red Matrix)
- A laptop or desktop machine with the ability to write to a microSD card (might need an adaptor)
You will also need to know, or find out, the IP address of your internet router and have a suitable static IP address for the Beaglebone on your local network. The router should allow you to forward ports to the Beaglebone (often this is under firewall or "advanced" settings).
Check that within *initial_setup.sh* the router IP address and static IP for the Beaglebone are set correctly.
Plug the microSD card into your laptop/desktop and then run the *initial_setup.sh* script. For example:
#+BEGIN_SRC bash
./initial_setup.sh /dev/sdX
#+END_SRC
where */dev/sdX* is the device name for the microSD card. Often it's */dev/sdb* or */dev/sdc*, depending upon how many drives there are on your system. The script will download the Debian installer and update the microSD card. It can take a while, so be patient.
When the initial setup is done follow the instructions on screen to run the main Freedombone script. You can either edit the variables within the *install-freedombone.sh* script directly, or create a separate configuration file called *freedombone.cfg* which contains those variables. Variables which you might want to put into a *freedombone.cfg* file are:
#+BEGIN_SRC bash
MY_EMAIL_ADDRESS=
MY_NAME=
MY_BLOG_TITLE=
MY_BLOG_SUBTITLE=
SSH_PORT=
FULLBLOG_DOMAIN_NAME=
FULLBLOG_FREEDNS_SUBDOMAIN_CODE=
MICROBLOG_DOMAIN_NAME=
MICROBLOG_FREEDNS_SUBDOMAIN_CODE=
REDMATRIX_DOMAIN_NAME=
OWNCLOUD_DOMAIN_NAME=
OWNCLOUD_FREEDNS_SUBDOMAIN_CODE=
WIKI_TITLE=
WIKI_DOMAIN_NAME=
WIKI_FREEDNS_SUBDOMAIN_CODE=
MY_GPG_PUBLIC_KEY=
MY_GPG_PRIVATE_KEY=
ROUTE_THROUGH_TOR=no
LOCAL_NETWORK_STATIC_IP_ADDRESS=192.168.1.60
#+END_SRC
The GPG public/private key variables are for the filenames of exported GPG keys, and if a private key filename is given then it will be automatically shredded after import.
The FreeDNS subdomain codes can be found under "Dynamic DNS" and "quick cron example". On the last line it will be the string located between the '?' and the '==' characters.
The syntax of the *install-freedombone.sh* script is:
#+BEGIN_SRC bash
./install-freedombone.sh [domain name] [username] [FreeDNS subdomain code] [optional variant type]
#+END_SRC
If you don't specify a variant type with the final option then everything will be installed. If you have a *freedombone.cfg* file then it should be in the same directory as *install-freedombone.sh*.
Installation is not quick, and depends upon which variant you choose and your internet bandwidth. Allow about three hours for a full installation on the Beaglebone Black. On the Beaglebone installation is in two parts, since a reboot is needed to enable the hardware random number generator and zram.
When done you can ssh into the Freedombone with:
#+BEGIN_SRC bash
ssh username@domain -p 2222
#+END_SRC
Any manual post-installation setup instructions or passwords can be found in */home/username/README*. You should remove any passwords from that file and store them within a password manager such as KeepassX.
* On other hardware
It's also possible to install Freedombone onto other hardware, such as an old laptop or other type of single board computer. Any system with a fresh installation of Debian Jessie will do. Just make sure that you change the variable INSTALLING_ON_BBB to "no" within *freedombone.cfg* or the *install-freedombone.sh* script. Obviously, you don't need to run the *initial_setup.sh* script on non-Beaglebone systems.

34
related.org Normal file
View File

@ -0,0 +1,34 @@
#+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: Turn the Beaglebone Black into a personal communications server
#+OPTIONS: ^:nil
#+BEGIN_CENTER
[[./images/logo.png]]
#+END_CENTER
#+BEGIN_CENTER
The following projects made Freedombone possible.
#+END_CENTER
#+BEGIN_CENTER
[[http://wiki.nginx.org][file:images/nginx.png]]
[[https://www.openssl.org][file:images/openssl.png]]
#+END_CENTER
#+BEGIN_CENTER
[[https://www.gnupg.org][file:images/gnupg.png]]
[[https://www.debian.org/][file:images/debian.png]]
[[http://freedomboxfoundation.org/][file:images/freedombox.png]]
[[http://beagleboard.org/products/beaglebone+black][file:images/beagleboard.png]]
[[https://www.dokuwiki.org/dokuwiki][file:images/dokuwiki.png]]
#+END_CENTER
#+BEGIN_CENTER
[[http://gnu.io][file:images/gnusocial.png]]
[[https://redmatrix.me/][file:images/redmatrix.png]]
#+END_CENTER
#+BEGIN_CENTER
[[https://prosody.im][file:images/prosody.png]]
[[http://owncloud.org][file:images/owncloud.png]]
[[https://bettercrypto.org/][file:images/bettercrypto.png]]
#+END_CENTER

40
usage.org Normal file
View File

@ -0,0 +1,40 @@
#+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: Turn the Beaglebone Black into a personal communications server
#+OPTIONS: ^:nil
#+BEGIN_CENTER
[[./images/logo.png]]
#+END_CENTER
* Email
* Play Music
** With the DLNA service
An easy way to play music on any mobile device in your home is to use the DLNA service. Copy your music into a directory called "/Music/" on a USB thumb drive and then insert it into from socket on the Beaglebone.
ssh into the system with:
#+BEGIN_SRC bash
ssh myusername@mydomain.com -p 2222
#+END_SRC
Then mount the USB drive with:
#+BEGIN_SRC bash
su
attach-music
#+END_SRC
The system will scan the Music directory, which could take a while if there are thousands of files, but you don't need to do anything further with the Beaglebone other than perhaps to log out by typing *exit* a couple of times.
If you have an Android device then go to F-Droid (if you don't already have it installed then it can be [[https://f-droid.org/][downloaded here]]) and search for *ControlDLNA*. On running the app you should see a red Debian icon which you can press on, then you may need to select "local". After a few seconds the list of albums or tracks should then appear and you can browse and play them.
The DLNA service will only work within your local home network, and isn't remotely accessible from other locations via the internet. That can be both a good and a bad thing. Another consideration is that there are no access controls on DLNA services, so any music or videos on the USB drive will be playable by anyone within your home network. If you need to restrict access to certain files then it may be better to use the music player within Owncloud.
** With Owncloud
The main advantage of playing music via Owncloud is that you can do that from anywhere - not only within your home network.
By default a music player is installed into Owncloud, so all you need to do is to visit your Owncloud web site, select the *music* directory and then upload some music files. Afterwards you can select the *music icon* from the top left drop down menu and albums will then appear which can be played. If you want to share music with other users then you can select the *share* option from within the files view to make the tracks available.

19
variants.org Normal file
View File

@ -0,0 +1,19 @@
#+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: Turn the Beaglebone Black into a personal communications server
#+OPTIONS: ^:nil
#+BEGIN_CENTER
[[./images/logo.png]]
#+END_CENTER
Freedombone may be installed either in its entirety or as different variants with a more specialised purpose. So for example if you just want to run a blog but don't care about any other services then you can do that. The following variants are available:
| *Mailbox* | An email server with GPG encryption and mailing list |
| *Cloud* | Share files, maintain a calendar and collaborate on document editing |
| *Social* | Social networking with Red Matrix and GNU Social |
| *Media* | Runs media services such as DLNA to play music or videos on your devices |
| *Writer* | Host your blog and wiki |
| *Chat* | Encrypted IRC and XMPP services for one-to-one and many-to-many chat |
| *Nonmailbox* | Installs eveything except for the email server |