12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- Dependencies:
- You're going to need openssl (0.9.5 or later) and popt (1.6 or later).
- If you're on Linux, everything will probably work fine. OS X and BSD
- (but see below under troubleshooting) now work too. Let us know if
- you get it working elsewhere.
- If you got the source from cvs:
- Run "./autogen.sh", which will run the various auto* programs and then
- run ./configure for you. From there, you should be able to run 'make'
- and you'll be on your way.
- If you got the source from a tarball:
- Run ./configure and make as usual. There isn't much point in
- 'make install' yet.
- If this doesn't work for you / troubleshooting:
- If you couldn't find popt (eg you're on BSD), try
- CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" \
- ./configure
- rather than simply ./configure. And install popt if you don't have it.
- Check out the list archives at http://archives.seul.org/or/dev/ and see
- if somebody else has reported your problem. If not, please subscribe
- and let us know what you did to fix it, or give us the details and
- we'll see what we can do.
- Once you've got it compiled:
- It's a bit hard to figure out what to do with the binaries. If you
- want to run a local onion proxy (that is, you're a user, not a node
- operator), go into src/config and look at the oprc file. You can run an
- onion proxy by "../or/or -f oprc". In another window, run something like
- "../httpap/httpap -f httpaprc2 -p 9051". See below for how to use it.
- If you want to set up your own test network (that is, act like you're
- a full set of node operators), go into src/config/ and look at the
- routers.or file. Also in that directory are public and private keys for
- various nodes (*-public, *-private) and configuration files for the
- nodes (*-orrc). You can generate your own keypairs with the orkeygen
- program, or use the provided ones for testing.
- Once you've got your config files ready, you're ready to start up your
- network. I recommend using a screen session (man screen), or some
- other way to handle many windows at once. I open a window for each
- onion router, go into the src/config directory, and run something like
- "../or/or -f moria2-orrc". In yet another window, I run something like
- "../httpap/httpap -f httpaprc -p 9051".
- How to use it:
- From here, you can point your browser/etc at localhost:9051 and treat
- it as a web proxy. As a first test, you might telnet to it and enter
- "GET http://seul.org/ HTTP/1.0" (without the quotes), followed by a pair
- of carriage returns (one to separate your request from the headers,
- and another to indicate that you're providing no headers). For more
- convenient command-line use, I recommend making a ~/.wgetrc with
- the line
- http_proxy=localhost:9051
- Then you can do things like "wget seul.org" and watch as it downloads
- from the onion routing network.
- (You can set your Mozilla/etc to use localhost:9051 as a proxy, and it
- will work -- but it will work even better if you tell your Mozilla to
- speak only HTTP 1.0 (the http proxy we include doesn't do 1.1 yet.))
- For fun, you can wget a very large file (a megabyte or more), and
- then ^z the wget a little bit in. The onion routers will continue
- talking for a while, queueing around 500k in the kernel-level buffers.
- When the kernel buffers are full, and the outbuf for the AP connection
- also fills, the internal congestion control will kick in and the exit
- connection will stop reading from the webserver. The circuit will
- wait until you fg the wget -- and other circuits will work just fine
- throughout. Then try ^z'ing the onion routers, and watch how well it
- recovers. Then try ^z'ing several of them at once. :)
|