BeagleBone Black as a cheap TOR router / proxy with google chrome
By Vince
If your not familiar with tor, check out https://www.torproject.org/ to get more information. Its a secure proxy system that basically anonymizes your ip address.
You can install the Tor client and connect or a super easy way is to run your own proxy and just have traffic flow through it. Don’t have to start up anything, its always running if you want to use it.
The Beaglebone black is a perfect device to run a Tor proxy on your home network. Once its setup, you can leave it plugged in via ethernet, a USB power supply and its always available. It makes a decent Ubuntu Linux server for development purposes too (although it compiles a little slow). For a temporary website or learning a programming language its a great deal. We will also have a shortcut on your desktop that you can click on to make chrome go into incognito mode, and connect to our proxy with just one click.
Anyways here are the steps to get it working:
- First step is to get your Beaglebone black running Ubuntu. There are plenty of tutorials out there, basically you need a microsd card, with a windows imaging program you copy the ubuntu “flashing” image onto the sdcard, and boot your beaglebone. The lights will blink for a good while then turn off and its running ubuntu. Check out: http://elinux.org/Beagleboard:Ubuntu_On_BeagleBone_Black for more details
- Once you can successfully login to your Ubuntu install on the Beaglebone, the rest is pretty easy. Typically you can SSH to “192.168.7.2” if you have it plugged in to your PC via USB.
- Plug it into an ethernet port as well for the next steps to work.
- Set up a static IP so you don’t have to track it down constantly. This is done by editing the /etc/network/interfaces file.
- vi /etc/network/interfaces
- Change the line that says “iface eth0 inet dhcp” to this and switch the IP address to one that works for you:
iface eth0 inet <strong>static</strong>
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
- Since this is the first time being setup, update your Beaglebone to the latest release of software and reboot it when done
apt-get update
apt-get upgrade
apt-get dist-upgrade
Install the pre-built tor package for Ubuntu
apt-get install tor
- Once thats installed, there are a couple tweaks to the torrc configuration file which is located in /etc/tor
vi /etc/tor/torrc
By default it doesn’t listen on all interfaces, so find the line that says “SocksPort 127.0.0.1:9050” and change that to “SocksPort 192.168.1.2:9050”. This make set it up to listen on port 9050 on your ethernet eth0 interface that you configured above.
Find the line that says Sockspolicy accept xxxx and change that to SocksPolicy accept 192.168.0.0/16
which will allow anything from your local network to connect to this device. Update this accordingly
- That is all to get Tor configured (read through that file to see other options that are available.
- Lets make sure it starts up automatically when you reboot the device, so run this
update-rc.d tor enable
- Start up tor so run this
/etc/init.d/tor restart
- Tor should now be up and running, next step is to test it out!
- The quickest way is to use chrome and setup a shortcut on your desktop. The shortcut will be in this format:
"C:\Users\<strong>USERNAME</strong>\AppData\Local\Google\Chrome\Application\chrome.exe" --proxy-server="socks5://192.168.1.2:9050" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 192.168.1.2" -incognito
Put that all on the shortcut line and replace USERNAME with your windows login name. Its basically telling chrome to open in incognito mode and use this proxy for all outbound requests. If you open this shortcut and it errors, make sure the location of chrome is correct.
Test it out by opening your new shortcut and going to: https://check.torproject.org
If it says congratulations your using tor, then you are all set! Put that chrome shortcut on any PC in your network to get them using a private secure network whenever needed.
When this is complete, you can unplug the Beaglebone Black from your local PC via USB and just use a USB power source for it. All it needs is USB power and an ethernet connection to work. You are doing whats called “pinning” the connection, so we are going in the ethernet interface to reach the Tor proxy, and back out the Tor tunnel to the internet. Pretty neat and easy way that is always available!