This is a test environment for Slitheen made of networked Docker containers.

cecylia 2b4049d5f1 updated firefox repo to be public 6 rokov pred
slitheen-docker a08ac25e6f updated testenv networking 6 rokov pred
README 2b4049d5f1 updated firefox repo to be public 6 rokov pred
build-slitheen b2a79f6bbc The launch scripts now work! 7 rokov pred
mktestenvconfig 59909dfb85 changed name of slitheen main file in source, updated config check 6 rokov pred
net_run a08ac25e6f updated testenv networking 6 rokov pred
ous_run e4a5cb0549 Upped /dev/shm allocation to avoid tab crash 6 rokov pred
relay_run a94bcc58b0 Pathnames to repos on the host now live in a config file 7 rokov pred
socks_run d0ae8b67b9 A script for starting the Slitheen SOCKS proxy 7 rokov pred

README

#### BUILDING

# Instructions to build slitheen (client and proxy)

# Requirements (with versions I used):
# docker (18.03.1-ce)
# git (2.7.4)
# mercurial (3.7.3)
# vncviewer
# koko (v0.61) from https://github.com/redhat-nfvpe/koko/releases
# koko should be installed with owner root, group docker, and mode 04750

mkdir slitheen; cd slitheen

# Get the bootstrapped docker image for building slifox
wget https://cs.uwaterloo.ca/~cbocovic/ff_bootstrapped_2018_03_25.tar.gz
echo '6c45728775474f5fdae4b0c7477b1ca71271357cfb04fd29446c99b5ea4adf7b ff_bootstrapped_2018_03_25.tar.gz' | sha256sum -c
docker load < ff_bootstrapped_2018_03_25.tar.gz
rm ff_bootstrapped_2018_03_25.tar.gz

# Get the slifox hg repo
hg clone https://git-crysp.uwaterloo.ca/hg/slifox
cd firefox
hg checkout slitheen
cd ..

# Get the slitheen code repo
git clone gogs@git-crysp.uwaterloo.ca:cbocovic/slitheen.git

# Get the build and test environments
git clone gogs@git-crysp.uwaterloo.ca:cbocovic/testenv.git
cd testenv
./build-slitheen
./mktestenvconfig
sed -i s,/somewhere/firefox,$(cd ..; /bin/pwd)/firefox, testenv_config
sed -i s,/somewhere/slitheen/code,$(cd ..; /bin/pwd)/code, testenv_config

# Start the slifox docker
./ous_run

# Inside that docker, build slifox and the socks proxy and exit the
# docker when finished
./mach build # This will take a while
cd ../slitheen_code/client
make
exit

# Start the relay station docker
./relay_run

# Inside that docker, build the slitheen relay
make
# Build the key generator and run it
/cd ../telex-tag-v3/
make genkeys
./genkeys
exit

# Copy the private and public keys to the right places
cp ../code/telex-tag-v3/privkey ../code/relay_station/
cp ../code/telex-tag-v3/pubkey ../firefox/
cp ../code/telex-tag-v3/pubkey ../code/client/

#### RUNNING

# You will need four terminals, each starting in the testenv directory
# (start them in this order):

A. ./relay_run

B. ./ous_run

C. ./socks_run

D. ./net_run

# Run (as root) the ethtool commands it outputs, if any

# Still in D:
vncviewer localhost # password: 1234 to view slifox

# In A:
sudo ./slitheen veth1 eth0

# In B:
./mach run # Wait for it to start up

# In C:
./socks


# Now point your browser's SOCKS proxy to localhost:1080 while you load
# youtube videos in slifox