mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-19 18:00:33 +01:00
00a9e3732e
reformat parts of onion.c svn:r136
107 lines
4.2 KiB
Plaintext
107 lines
4.2 KiB
Plaintext
'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/.
|
|
|
|
Is your question in the FAQ? Should it be?
|
|
|
|
Quickstart version:
|
|
|
|
0) Download the absolute newest version. No, really.
|
|
http://freehaven.net/or/.
|
|
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 http proxy at localhost:8118 (this
|
|
points it through Privoxy, so you now get good data-scrubbing too.)
|
|
7) make sure you've set it up correctly: go to
|
|
http://www.junkbusters.com/cgi-bin/privacy and see what IP it says
|
|
you're coming from.
|
|
|
|
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
|
|
-- including the dev stuff and includes). 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 have problems finding libraries, try
|
|
CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" \
|
|
./configure
|
|
rather than simply ./configure.
|
|
|
|
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. :)
|
|
|