README.txt 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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/slitheen
  12. git clone -b slitheen git://git-crysp.uwaterloo.ca/openssl
  13. git clone -b slitheen git://git-crysp.uwaterloo.ca/phantomjs
  14. 2. Build our modified version of openssl
  15. mkdir sslout
  16. cd openssl
  17. ./config --prefix=../sslout --openssldir=../sslout/openssl
  18. make
  19. make test
  20. make install
  21. cd ..
  22. 3. Build phantomJS (Note: this takes a ridiculously long time)
  23. cd phantomjs
  24. sed -i 's/sslout/<absolute-path-to-sslout/g' build.py
  25. ./build.py
  26. cp bin/phantomjs ../client/
  27. 4. Obtain public key from relay station save file as pubkey in client/ directory
  28. For the relay station:
  29. 0. Install dependencies
  30. apt-get libpcap-dev
  31. apt-get libssl-dev
  32. 1. Fetch necessary git repository:
  33. git clone git://git-crysp.uwaterloo.ca/slitheen
  34. 2. Generate public/private key pair
  35. cd telex-tag-v3
  36. make
  37. ./genkeys
  38. cp pubkey ../relay_station
  39. cd ..
  40. 3. Update slitheen.h with correct MAC addresses for client-side and world-side interfaces
  41. 4. Build slitheen proxy
  42. cd relay_station
  43. make
  44. 5. Run proxy
  45. ./slitheen-proxy [interface to client] [interface to world]