Code added to Tor to support PIR-based onion service descriptor lookups

Roger Dingledine 61dc00bcaa bugfixes: don't hang waiting for new children to die; accept HTTP/1.1 22 years ago
src 61dc00bcaa bugfixes: don't hang waiting for new children to die; accept HTTP/1.1 22 years ago
.cvsignore 35f90b7820 More cleanup. Thanks for your help, Felipe. 22 years ago
AUTHORS f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
COPYING f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
ChangeLog f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
HACKING 5fc0bcf303 initial versions of README, for new users getting up to speed, and HACKING, 22 years ago
INSTALL f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
Makefile.am f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
NEWS f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
README 684d50b139 added a note on openssl and popt dependencies 22 years ago
TODO 926081ad69 revised todo 22 years ago
acconfig.h de76e4b901 added acconfig.h to fix incompatibility 22 years ago
autogen.sh dcc9fa8657 ./autogen.sh runs auto* and then ./configure 22 years ago
configure.in f6e2ed2316 removed mention of src/op/ from configure 22 years ago
depcomp f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
install-sh f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
missing f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago
mkinstalldirs f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 22 years ago

README


Dependencies:

You're going to need openssl (0.9.6 will work fine, possibly 0.9.5 also)
and popt installed. If you're on Linux, everything will probably work
fine. If you're not, you're on your own (but let us know how it goes).

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, make, make install as usual.

If this doesn't work for you:

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:
(these notes assume you started with source from cvs)

It's a bit hard to figure out what to do with the binaries. If you
want to set up your own test network, 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".

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.

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.