|
@@ -0,0 +1,63 @@
|
|
|
+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]
|