I was introduced to the
-Freedombox project
-in 2010, when Eben Moglen presented his vision about serving the need
-of non-technical people to keep their personal information private and
-within the legal protection of their own homes. The idea is to give
-people back the power over their network and machines, and return
-Internet back to its intended peer-to-peer architecture. Instead of
-depending on a central service, the Freedombox will give everyone
-control over their own basic infrastructure.
-
-
I've intended to join the effort since then, but other tasks have
-taken priority. But this summers nasty news about the misuse of trust
-and privilege exercised by the "western" intelligence gathering
-communities increased my eagerness to contribute to a point where I
-actually started working on the project a while back.
-
-
The initial
-Debian initiative based on the vision from Eben Moglen, is to
-create a simple and cheap Debian based appliance that anyone can hook
-up in their home and get access to secure and private services and
-communication. The initial deployment platform have been the
-Dreamplug,
-which is a piece of hardware I do not own. So to be able to test what
-the current Freedombox setup look like, I had to come up with a way to install
-it on some hardware I do have access to. I have rewritten the
-freedom-maker
-image build framework to use .deb packages instead of only copying
-setup into the boot images, and thanks to this rewrite I am able to
-set up any machine supported by Debian Wheezy as a Freedombox, using
-the previously mentioned deb (and a few support debs for packages
-missing in Debian).
-
-
The current Freedombox setup consist of a set of bootstrapping
-scripts
-(freedombox-setup),
-and a administrative web interface
-(plinth + exmachina +
-withsqlite), as well as a privacy enhancing proxy based on
-privoxy
-(freedombox-privoxy). There is also a web/javascript based XMPP
-client (jwchat)
-trying (unsuccessfully so far) to talk to the XMPP server
-(ejabberd). The
-web interface is pluggable, and the goal is to use it to enable OpenID
-services, mesh network connectivity, use of TOR, etc, etc. Not much of
-this is really working yet, see
-the
-project TODO for links to GIT repositories. Most of the code is
-on github at the moment. The HTTP proxy is operational out of the
-box, and the admin web interface can be used to add/remove plinth
-users. I've not been able to do anything else with it so far, but
-know there are several branches spread around github and other places
-with lots of half baked features.
-
-
Anyway, if you want to have a look at the current state, the
-following recipes should work to give you a test machine to poke
-at.
-
-
Debian Wheezy amd64
-
-
-
-- Fetch normal Debian Wheezy installation ISO.
-- Boot from it, either as CD or USB stick.
-Press [tab] on the boot prompt and add this as a boot argument
-to the Debian installer:
-
url=http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat
-
-- Answer the few language/region/password questions and pick disk to
-install on.
-
-- When the installation is finished and the machine have rebooted a
-few times, your Freedombox is ready for testing.
-
-
-
-
Raspberry Pi Raspbian
-
-
-
-- Fetch a Raspbian SD card image, create SD card.
-- Boot from SD card, extend file system to fill the card completely.
-Log in and add this to /etc/sources.list:
-
-deb http://www.reinholdtsen.name/freedombox wheezy main
-
-Run this as root:
-
-wget -O - http://www.reinholdtsen.name/freedombox/BE1A583D.asc | \
- apt-key add -
-apt-get update
-apt-get install freedombox-setup
-/usr/lib/freedombox/setup
-
-- Reboot into your freshly created Freedombox.
-
-
-
-
You can test it on other architectures too, but because the
-freedombox-privoxy package is binary, it will only work as intended on
-the architectures where I have had time to build the binary and put it
-in my APT repository. But do not let this stop you. It is only a
-short "apt-get source -b freedombox-privoxy" away. :)
-
-
Note that by default Freedombox is a DHCP server on the
-192.168.1.0/24 subnet, so if this is your subnet be careful and turn
-off the DHCP server by running "update-rc.d isc-dhcp-server
-disable" as root.
-
-
Please let me know if this works for you, or if you have any
-problems. We gather on the IRC channel
-#freedombox on
-irc.debian.org and the
-project
-mailing list.
-
-
Once you get your freedombox operational, you can visit
-http://your-host-name:8001/ to see the state of the plint
-welcome screen (dead end - do not be surprised if you are unable to
-get past it), and next visit http://your-host-name:8001/help/
-to look at the rest of plinth. The default user is 'admin' and the
-default password is 'secret'.
-