Using TOR and PRIVOXY on Ubuntu
This covers only the basic install and configuration for future reference. More info on Privoxy can be found on their website http://www.privoxy.org/.
Install
apt-get install tor privoxy
vim /etc/privoxy/config
uncomment the following line:
forward-socks5 / 127.0.0.1:9050 .
If you need to browse internal hosts while connected:
forward 10.*.*.*/
Browser Configuration
Firefox: FoxyProxy
Chromium: Proxy Switchy
Documentation: http://www.privoxy.org/faq/misc.html#TOR
FreedomBox + RaspberryPi = FreedomPi
I have been watching progress on FreedomBox ever since watching a video of Eben Moglen a few years ago.
Turns out that that they recently announced the availability of their 0.1 preview release. As part of this there is one component that is extremely useful for RaspberryPi users (funnily the co-founder of RasperryPi is also called Eblen by first name – go figure) out there concerned about increasing snooping of private information by governments and corporations for a variety of reasons.
OpenVPN - forward all client traffic through tunnel using UFW
By default OpenVPN only routes traffic to and from the OpenVPN Server. If you need all traffic from a client through the OpenVPN tunnel there are several options listed in the OpenVPN docs (http://openvpn.net/index.php/open-source/documentation/howto.html#redirect). Since I don’t have any control over the server in some cases I needed a client side solution. As I already have ufw running with Ubuntu I wanted to use the existing software.
Here is how to configure ufw to enable routing all traffic from your client machines through the OpenVPN Server.
Connection Android 4.x MTP mass storage to Ubuntu 12.x
The ability to connect Android 4.+ devices to Ubuntu using the USB Mass Storage interface has always been a pain. With Ubuntu 13.04 a new MTP back-end (gvfs-mtp) is going to be introduced, but I have had some issues with the 13.04 Beta so I found this backport PPA to Ubuntu 12.04 and 12.10
sudo add-apt-repository ppa:langdalepl/gvfs-mtp
sudo apt-get update
sudo apt-get install gvfs
sudo apt-get upgrade
Kudos to Phillip Langdale for the work and maintaining the PPA !
Enabling the watchdog timer on the Raspberry Pi
Turns out that the Broadcom BCM2708 chip on the RPi has a hardware watchdog. This can be very useful if your RPi is located remotely and locks up. However, this would not the preferred method of restarting the unit and in extreme cases this can result in file-system damage that could prevent the RPi from booting. If this occurs regularly you better find the root cause of the problem rather than fight the symptoms.
Dropping the wires on the Raspberry PI
Testing the RPi for some remote sensing application I needed to use a wireless connection as it would have been a pain to reach with an Ethernet cable.
Parts
- Raspberry Pi Series B 512MB
- Raspbian 3.6.11+ Kernel
- Comfast 802.11n – Realtek RTL8188CUS WLAN Adapter
Install WPA Supplicant
sudo apt-get install wpasupplicant
See http://en.wikipedia.org/wiki/Wpa_supplicant
Check for the USB adapter
sudo lsusb
This should show output similar to this (depending on your USB adapter)
Webserver and database combination on Raspberry Pi
My normal combination on the big-server side would be Apache + MySQL (or PostgreSQL), but on the RPi this seems to be absolute overkill. For data-logging operations I would not use the local system anyway (looking at MQTT as well as Remote MongoDB datastore via REST Webservices).
After some poking around and reading up on the options I decided to go for the following combo: LightHTTPD + SQLite. Both are lightweight replacement of their fully-featured big-server counterparts (Apache HTTP & MySQL) and have very familiar configurations. There would be other options that have even less resource usage, but I really don’t have the time to start from scratch somewhere.
Chromebook tips to get started
Just got myself (actually it’s for our Office Manager back in OZ) one of these Chromebooks while in Europe (since Google Australia with their absolutely hopeless hardware strategy do not seem to be able to ship any devices – Nexus 4 anyone ?) .
Since the first days turned out to be a bit of a frustrating experience, I thought I share some of the findings as I had a hard time finding much useful info on troubleshooting ChromeOS.
Raspberry Pi - Raspbian post install tasks
The Raspbian Install process is fairly well documented using the Raspbian Installer. This is just to document common tasks after the stock install.
Install base utils
apt-get install sudo vim ntpdate git-core binutils make gcc ca-certificates rpi-update
Allow non-root user account access to ‘sudo’
adduser USERNAME sudo
For those Ubuntu users there is no ‘admin’ group in Raspbian (Debian Wheezy).
NTP time update
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Australia/Adelaide /etc/localtime
sudo ntpdate -u au.pool.ntp.org
Probably best to choose an NTP Server closest to your location or provided by your ISP
Mongodb / Python development install on Ubuntu
Add apt repository key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Add apt repository
sudo vim /etc/apt/sources.list.d/10gen.list
#add the following line:
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
Install mongodb & python utils
sudo apt-get update
sudo apt-get install mongodb-10gen python-pip python-dev build-essential
pip install pymongo
Accessing 1-wire devices on Raspberry Pi using OWFS
To connect 1-wire serial devices to the RPi I am using a DS9490R USB 1-wire adapter (rather than wiring I2C 1-Wire master components to GPIO I2C – which I might look at sometime down the track)
Install packages
sudo apt-get install owfs ow-shell
Edit config file
vim /etc/owfs.conf
! server: server = localhost:4304
# USB device: DS9490
server: usb = all
######################### OWFS ##########################
mountpoint = /mnt/1wire
allow_other
####################### OWHTTPD #########################
http: port = 2121
####################### OWFTPD ##########################
ftp: port = 2120
####################### OWSERVER ########################
server: port = localhost:4304
Create Startup Script
I created a startup script for owfs modelled on the owserver script (not sure why this one is actually missing)
Installing OMXPlayer on Raspberry Pi
Since I didn’t have any luck playing videos on the RPi using mplayer I found omxplayer after some search. It has the ability to use the RPi’s GPU thus taking some load of the CPU.
UPDATE 2013-04-01: omxplayer is now included in the Raspbian (Debian Wheezy) repositories and can be simply installed by one line.
sudo apt-get install omxplayer
Check another article on how to install Raspbian.