Decoy routing system for censorship resistance

cecylia 25da55c926 added modified finished message feature to relay station 10 лет назад
client d3a072df66 Added Telex tagging trick for generating Slitheen ID and super encryption secret 10 лет назад
relay_station 25da55c926 added modified finished message feature to relay station 10 лет назад
telex-tag-v3 aaf56e91d9 adapted telex code to tag a test connection 11 лет назад
README.txt 69c9995915 added sane README.txt with install directions 10 лет назад

README.txt

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 .


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]