The hostname translate.firewallcafe.com
points to the code in the server
folder. In the Oslo installation, this ran on a Raspberry Pi. For the New York Freedom Forum installation, we are using an AWS EC2 micro instance.
- Launch a new EC2 server at https://console.aws.amazon.com/ec2 (Ubuntu 16.04 micro)
- Copy the public IP address (in this case
34.235.124.69
) - Generate/download a new SSH key and save it to your
~/.ssh
folder (in our case,translate.pem
) - Set up
~/.ssh/config
Host translate Hostname 34.235.124.69 ForwardAgent yes User ubuntu IdentityFile ~/.ssh/translate.pem
- Set the file permissions:
chmod 600 ~/.ssh/translate.pem
- Extract the public key:
ssh-keygen -f ~/.ssh/translate.pem -y
- Copy/paste the public key into a new SSH key on GitHub: https://github.com/settings/keys
- Login to the new machine:
ssh translate
sudo apt update
to update package listsudo apt upgrade -y
to upgrade software (keep existingmenu.lst
if prompted for it)curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
to installnodejs
sudo apt install nodejs -y
git clone [email protected]:dphiffer/firewall-cafe.git
cd firewall-cafe/server
cp config-example.js config.js
vi config.js
, editapiKey
value andspreadsheetId
- Download the latest Raspbian “lite” image.
- Plug in a MicroSD card.
- Figure out which disk device it is. In this case,
/dev/disk2
:
df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1 926Gi 567Gi 358Gi 62% 52761306 4242205973 1% /
devfs 189Ki 189Ki 0Bi 100% 654 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
/dev/disk2s1 15Gi 32Ki 15Gi 1% 0 0 100% /Volumes/NO NAME
- Unmount it:
diskutil unmountDisk /dev/disk2
- Write it to the disk device:
sudo dd bs=1m if=/Users/dphiffer/Downloads/2017-09-07-raspbian-stretch-lite.img of=/dev/rdisk2
- Eject it:
sudo diskutil eject /dev/disk2
- Log in to the RPI and move through config sequence.
- Connect the wireless router to power, and connect to its network.
- On a TP-Link router, access http://tplinkwifi.net to log in as admin (pw:
admin
). - Replace default password.
- Go to Quick Setup > Client. Give the device a static IP.
- Connect Ethernet cable to bottom of router, and plug into Ethernet switch.
- Plug RPI into Ethernet switch.
- Test connection to the Internet.
- In Chrome Extensions, ensure Firewall Cafe is installed and enabled. The proxy our extension enforces passes Google traffic through a VPN connection.
- Make sure your
~/.ssh/config
file contains the appropriate Raspberry PI host:
Host vpn
Hostname phiffer.org
User fwc_client
IdentityFile ~/.ssh/fwc_client
DynamicForward 8888
Compression yes
ServerAliveInterval 300
ServerAliveCountMax 2
One computer needs not to be routing its traffic through the VPN.
- One or more Mac Minis
- RaspberryPI
- Wireless router (Using TP-Link 300Mbps Wireless N Mini Router)
- Monitor
- Ethernet switch