README.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. 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).
  2. If you have any questions about the code or installation, please contact Cecylia Bocovich <cbocovic@uwaterloo.ca>.
  3. INSTALLTION INSTRUCTIONS:
  4. For the client:
  5. - 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.
  6. 0. Building this system requires the following dependencies:
  7. apt-get install build-essential g++ flex bison gperf ruby perl \
  8. libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev \
  9. libpng-dev libjpeg-dev python libx11-dev libxext-dev
  10. 1. Fetch all necessary git repositories:
  11. git clone git@git-crysp.uwaterloo.ca:openssl
  12. git clone git@git-crysp.uwaterloo.ca:phantomjs
  13. 2. Build our modified version of openssl
  14. cd openssl
  15. ./config --prefix=../sslout --openssldir=../sslout/openssl
  16. make
  17. make test
  18. make install
  19. cd ..
  20. 3. Build phantomJS (Note: this takes a ridiculously long time)
  21. cd phantomjs
  22. ./build.py
  23. cp bin/phantomjs ../client/
  24. 4. Obtain public key from relay station save file as pubkey in client/ directory
  25. For the relay station:
  26. 0. Install dependencies
  27. apt-get libpcap-dev
  28. 1. Fetch necessary git repository:
  29. git clone git@git-crysp.uwaterloo.ca:openssl
  30. 2. Build openssl
  31. cd openssl
  32. ./config --prefix=../sslout --openssldir=../sslout/openssl
  33. make
  34. make test
  35. make install
  36. cd ..
  37. 4. Generate public/private key pair
  38. cd telex-tag-v3
  39. make
  40. ./genkeys
  41. cp pubkey ../relay_station
  42. cd ..
  43. 3. Build slitheen proxy
  44. cd relay_station
  45. make
  46. 4. Run proxy
  47. ./slitheen-proxy [interface to client] [interface to world]