mirror repository of the tor core protocol in case of issues
Go to file
Roger Dingledine 253f0f160e laying the groundwork for dynamic router lists
revamped the router reading section

reference counting for crypto pk env's (so we can dup them)

we now read and write pem pk keys from string rather than from FILE*,
  in anticipation of fetching directories over a socket
  (so now on startup we slurp in the whole file, then parse it as a string)

fixed a bug in the proxy side, where you could get some circuits
  wedged if they showed up while the connection was being made


svn:r110
2002-09-24 10:43:57 +00:00
src laying the groundwork for dynamic router lists 2002-09-24 10:43:57 +00:00
.cvsignore More cleanup. Thanks for your help, Felipe. 2002-06-29 02:56:56 +00:00
acconfig.h added acconfig.h to fix incompatibility 2002-06-29 02:21:09 +00:00
AUTHORS added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
autogen.sh ./autogen.sh runs auto* and then ./configure 2002-06-29 03:01:49 +00:00
ChangeLog added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
configure.in onion proxy now speaks socks4a 2002-09-22 11:09:07 +00:00
COPYING added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
depcomp added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
HACKING onion proxy now speaks socks4a 2002-09-22 11:09:07 +00:00
INSTALL added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
install-sh added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
Makefile.am Updated HACKING and README docs 2002-07-22 04:07:34 +00:00
missing added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
mkinstalldirs added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
NEWS added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir. 2002-06-28 23:26:42 +00:00
README added the 'quickstart' to the README 2002-09-23 19:16:00 +00:00
TODO changed my mind, sort of 2002-09-03 22:53:34 +00:00

'tor' is an implementation of The Onion Routing system, as
described in a bit more detail at http://www.onion-router.net/. You
can read list archives, and subscribe to the mailing list, at
http://archives.seul.org/or/dev/.

Quickstart version:

1) ./configure (or do the two-line version below, if you're on bsd)
2) make
3) cd src/config
4) ../or/or -f oprc -l debug&
5) download privoxy (www.privoxy.org), and add the line
  "forward-socks4a / localhost:9050 ." (without the quotes) to its
  config file.
6) point your mozilla (or whatever) to proxy at localhost:8118 (this
  points it through Privoxy, so you now get good data-scrubbing too.)
7) browse some web pages

More detailed version:

Dependencies:

  You're going to need Privoxy (www.privoxy.org) installed, and configured
  to point at a socks4a proxy -- see below.

  For tor itself, 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:

  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". 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".

How to use it:

  Download privoxy (www.privoxy.org). Install it. Add the following
  line to your 'config' file:
    forward-socks4a / localhost:9050 .
  Don't forget the . at the end.

  From here, you can point your browser/etc at localhost:8118 and your
  traffic will go through Privoxy, then through the onion proxy, to the
  onion routing network.

  For more convenient command-line use, I recommend making a ~/.wgetrc
  with the line
    http_proxy=localhost:8118
  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. Then try ^z'ing the onion routers, and watch how well it
  recovers. Then try ^z'ing several of them at once. :)