Add empty TODO
[tor.git] / doc / FAQ
blob28e37e37a7be1aea626ed1566900a4c1ceefafe2
1 The Onion Routing (TOR) Frequently Asked Questions
2 --------------------------------------------------
4 1. General.
6 1.1. What is Tor?
8 Tor is an implementation of version 2 of Onion Routing.
9 Go read the tor-design.pdf for the details.
11 In brief, Onion Routing is a connection-oriented anonymizing communication
12 service. Users choose a source-routed path through a set of nodes, and
13 negotiate a "virtual circuit" through the network, in which each node
14 knows its predecessor and successor, but no others. Traffic flowing down
15 the circuit is unwrapped by a symmetric key at each node, which reveals
16 the downstream node.
18 Basically Tor provides a distributed network of servers ("onion
19 routers"). Users bounce their tcp streams (web traffic, ftp, ssh, etc)
20 around the routers, and recipients, observers, and even the routers
21 themselves have difficulty tracking the source of the stream.
23 1.2. Why's it called Tor?
25 Because Tor is the onion routing system. I kept telling people I was
26 working on onion routing, and they said "Neat. Which one?" Even if onion
27 routing has become a standard household term, this is the actual onion
28 routing project, started out of the Naval Research Lab.
30 (Theories about recursive acronyms are ok too. It's also got a fine
31 translation into German.)
33 1.3 Is there a backdoor in Tor?
35 Not right now, but if this answer changes we probably won't be allowed
36 to tell you. You should always check the source (or at least the diffs
37 since the last release) for suspicious things; and if we don't give you
38 source, that's a sure sign something funny could be going on.
40 2. Compiling and installing.
42 [Read the README file for now; check back here once we've got packages/etc
43 for you.]
46 3. Running Tor.
48 3.1. What kind of server should I run?
50 The same executable functions as both client and server, depending on
51 which ports are specified in the configuration file. You can specify:
52 * SocksPort: client applications (eg privoxy, Mozilla) can speak socks to
53   this port.
54 * ORPort: other onion routers connect to this port
55 * DirPort: onion proxies and onion routers speak http to this port, to
56   pull down a directory of which nodes are currently available.
58 3.2. So I can just run a full onion router and join the network?
60 No. Users should run just an onion proxy. If you start up a full onion
61 router, the rest of the routers in the system won't recognize you,
62 so they will reject your handshake attempts.
64 3.3. How do I join the network then?
66 If you just want to use the onion routing network, you can run a proxy
67 and you're all set. If you want to run a router, you must convince
68 the directory server operators (currently arma@mit.edu) that you're a
69 trustworthy and reliable person. From there, the operators add you to
70 the directory, which propagates out to the rest of the network. All
71 nodes will know about you within a half hour.
73 3.4. I want to run a directory server too.
75 If you run a very reliable node, you plan to be around for a long time,
76 and you want to spend some time ensuring that router operators are
77 people we know and like, we may want you to run a directory server
78 too. We must manually add you to the 'dirservers' file that's part of
79 the distribution; users will only know about you when they upgrade to
80 a new version. Of course, you can always just start up your router as a
81 directory server too --- but users won't know to ask you for directories,
82 and more importantly, you'll never learn from the real directory servers
83 about recently joined routers.
86 4. Development.
88 4.1. Who's doing this?
90 4.2. Can I help?
92 4.3. I've got a bug.
95 5. Anonymity.
97 5.1. So I'm totally anonymous if I use Tor?
101 5.2. Where can I learn more about anonymity?
103 5.3. What attacks remain against onion routing?
107 6. Comparison to related projects.
109 6.1. Onion Routing.
111 Tor *is* onion routing.
113 6.2. Freedom.
116 7. Protocol and application support.
118 7.1. http? ftp? udp? socks? mozilla?