123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- Slitheen is a decoy routing system for censorship resistance. The source code consists of two parts: the client code (to be distributed and run on the machines of users wishing to circumvent censorship), and the relay station code (to be run on a relay station deployed by an ISP in the middle of the network).
- If you have any questions about the code or installation, please contact Cecylia Bocovich <cbocovic@uwaterloo.ca>.
- INSTALLTION INSTRUCTIONS:
- For the client:
- - The client code consists of two parts: (1) an Overt User Simulator (OUS) that issues repeated requests to uncensored sites, and (2) a SOCKS proxy frontend that takes connection requests and data from the user's browser and feeds it to the OUS.
- 0. Building this system requires the following dependencies:
- apt-get install build-essential g++ flex bison gperf ruby perl \
- libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev \
- libpng-dev libjpeg-dev python libx11-dev libxext-dev
- 1. Fetch all necessary git repositories:
- git clone git@git-crysp.uwaterloo.ca:openssl
- git clone git@git-crysp.uwaterloo.ca:phantomjs
- 2. Build our modified version of openssl
- cd openssl
- ./config --prefix=../sslout --openssldir=../sslout/openssl
- make
- make test
- make install
- cd ..
- 3. Build phantomJS (Note: this takes a ridiculously long time)
- cd phantomjs
- ./build.py
- cp bin/phantomjs ../client/
-
- 4. Obtain public key from relay station save file as pubkey in client/ directory
- For the relay station:
- 0. Install dependencies
- apt-get libpcap-dev
- 1. Fetch necessary git repository:
- git clone git@git-crysp.uwaterloo.ca:openssl
- 2. Build openssl
- cd openssl
- ./config --prefix=../sslout --openssldir=../sslout/openssl
- make
- make test
- make install
- cd ..
- 4. Generate public/private key pair
- cd telex-tag-v3
- make
- ./genkeys
- cp pubkey ../relay_station
- cd ..
- 3. Build slitheen proxy
- cd relay_station
- make
- 4. Run proxy
- ./slitheen-proxy [interface to client] [interface to world]
|