README 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. Dependencies:
  2. You're going to need openssl (0.9.6 will work fine, possibly 0.9.5 also)
  3. and popt installed. If you're on Linux, everything will probably work
  4. fine. If you're not, you're on your own (but let us know how it goes).
  5. If you got the source from cvs:
  6. Run "./autogen.sh", which will run the various auto* programs and then
  7. run ./configure for you. From there, you should be able to run 'make'
  8. and you'll be on your way.
  9. If you got the source from a tarball:
  10. Run ./configure, make, make install as usual.
  11. If this doesn't work for you:
  12. Check out the list archives at http://archives.seul.org/or/dev/ and see
  13. if somebody else has reported your problem. If not, please subscribe
  14. and let us know what you did to fix it, or give us the details and
  15. we'll see what we can do.
  16. Once you've got it compiled:
  17. (these notes assume you started with source from cvs)
  18. It's a bit hard to figure out what to do with the binaries. If you
  19. want to set up your own test network, go into src/config/ and look
  20. at the routers.or file. Also in that directory are public and private
  21. keys for various nodes (*-public, *-private) and configuration files
  22. for the nodes (*-orrc). You can generate your own keypairs with the
  23. orkeygen program, or use the provided ones for testing.
  24. Once you've got your config files ready, you're ready to start up your
  25. network. I recommend using a screen session (man screen), or some
  26. other way to handle many windows at once. I open a window for each
  27. onion router, go into the src/config directory, and run something like
  28. "../or/or -f moria2-orrc". In yet another window, I run something like
  29. "../httpap/httpap -f httpaprc -p 9051".
  30. From here, you can point your browser/etc at localhost:9051 and treat
  31. it as a web proxy. As a first test, you might telnet to it and enter
  32. "GET http://seul.org/ HTTP/1.0" (without the quotes), followed by a pair
  33. of carriage returns (one to separate your request from the headers,
  34. and another to indicate that you're providing no headers). For more
  35. convenient command-line use, I recommend making a ~/.wgetrc with
  36. the line
  37. http_proxy=localhost:9051
  38. Then you can do things like "wget seul.org" and watch as it downloads
  39. from the onion routing network.
  40. For fun, you can wget a very large file (a megabyte or more), and
  41. then ^z the wget a little bit in. The onion routers will continue
  42. talking for a while, queueing around 500k in the kernel-level buffers.
  43. When the kernel buffers are full, and the outbuf for the AP connection
  44. also fills, the internal congestion control will kick in and the
  45. exit connection will stop reading from the webserver. The circuit
  46. will wait until you fg the wget -- and other circuits will work just
  47. fine throughout.