README 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #### BUILDING
  2. # Instructions to build slitheen (client and proxy)
  3. # Requirements (with versions I used):
  4. # docker (18.03.1-ce)
  5. # git (2.7.4)
  6. # mercurial (3.7.3)
  7. # vncviewer
  8. # koko (v0.61) from https://github.com/redhat-nfvpe/koko/releases
  9. # koko should be installed with owner root, group docker, and mode 04750
  10. mkdir slitheen; cd slitheen
  11. # Get the bootstrapped docker image for building slifox
  12. wget https://cs.uwaterloo.ca/~cbocovic/ff_bootstrapped_2018_03_25.tar.gz
  13. echo '6c45728775474f5fdae4b0c7477b1ca71271357cfb04fd29446c99b5ea4adf7b ff_bootstrapped_2018_03_25.tar.gz' | sha256sum -c
  14. docker load < ff_bootstrapped_2018_03_25.tar.gz
  15. rm ff_bootstrapped_2018_03_25.tar.gz
  16. # Get the slifox hg repo
  17. hg clone ssh://hg@git-crysp.uwaterloo.ca/firefox
  18. cd firefox
  19. hg checkout slitheen
  20. cd ..
  21. # Get the slitheen code repo
  22. git clone gogs@git-crysp.uwaterloo.ca:cbocovic/slitheen.git
  23. # Get the build and test environments
  24. git clone gogs@git-crysp.uwaterloo.ca:cbocovic/testenv.git
  25. cd testenv
  26. ./build-slitheen
  27. ./mktestenvconfig
  28. sed -i s,/somewhere/firefox,$(cd ..; /bin/pwd)/firefox, testenv_config
  29. sed -i s,/somewhere/slitheen/code,$(cd ..; /bin/pwd)/code, testenv_config
  30. # Start the slifox docker
  31. ./ous_run
  32. # Inside that docker, build slifox and the socks proxy and exit the
  33. # docker when finished
  34. ./mach build # This will take a while
  35. cd ../slitheen_code/client
  36. make
  37. exit
  38. # Start the relay station docker
  39. ./relay_run
  40. # Inside that docker, build the slitheen relay
  41. make
  42. # Build the key generator and run it
  43. /cd ../telex-tag-v3/
  44. make genkeys
  45. ./genkeys
  46. exit
  47. # Copy the private and public keys to the right places
  48. cp ../code/telex-tag-v3/privkey ../code/relay_station/
  49. cp ../code/telex-tag-v3/pubkey ../firefox/
  50. cp ../code/telex-tag-v3/pubkey ../code/client/
  51. #### RUNNING
  52. # You will need four terminals, each starting in the testenv directory
  53. # (start them in this order):
  54. A. ./relay_run
  55. B. ./ous_run
  56. C. ./socks_run
  57. D. ./net_run
  58. # Run (as root) the ethtool commands it outputs, if any
  59. # Still in D:
  60. vncviewer localhost # password: 1234 to view slifox
  61. # In A:
  62. sudo ./slitheen veth1 eth0
  63. # In B:
  64. ./mach run # Wait for it to start up
  65. # In C:
  66. ./socks
  67. # Now point your browser's SOCKS proxy to localhost:1080 while you load
  68. # youtube videos in slifox