The Onion Routing (TOR) Frequently Asked Questions -------------------------------------------------- 1. General. 1.1. What is Tor? Tor is an implementation of version 2 of Onion Routing. Go read the tor-design.pdf for the details. In brief, Onion Routing is a connection-oriented anonymizing communication service. Users choose a source-routed path through a set of nodes, and negotiate a "virtual circuit" through the network, in which each node knows its predecessor and successor, but no others. Traffic flowing down the circuit is unwrapped by a symmetric key at each node, which reveals the downstream node. Basically Tor provides a distributed network of servers ("onion routers"). Users bounce their tcp streams (web traffic, ftp, ssh, etc) around the routers, and recipients, observers, and even the routers themselves have difficulty tracking the source of the stream. 1.2. Why's it called Tor? Because Tor is the onion routing system. I kept telling people I was working on onion routing, and they said "Neat. Which one?" Even if onion routing has become a standard household term, this is the actual onion routing project, started out of the Naval Research Lab. (Theories about recursive acronyms are ok too. It's also got a fine translation into German.) 1.3 Is there a backdoor in Tor? Not right now, but if this answer changes we probably won't be allowed to tell you. You should always check the source (or at least the diffs since the last release) for suspicious things; and if we don't give you source, that's a sure sign something funny could be going on. 2. Compiling and installing. [Read the README file for now; check back here once we've got packages/etc for you.] 3. Running Tor. 3.1. What kind of server should I run? The same executable functions as both client and server, depending on which ports are specified in the configuration file. You can specify: * SocksPort: client applications (eg privoxy, Mozilla) can speak socks to this port. * ORPort: other onion routers connect to this port * DirPort: onion proxies and onion routers speak http to this port, to pull down a directory of which nodes are currently available. 3.2. So I can just run a full onion router and join the network? No. Users should run just an onion proxy. If you have sufficient bandwidth (>= 1MBit both ways) you can consider running a router, but just to use the network you don't need to. Note that you won't be used by clients much unless you are verified properly by the directory administrators (see next question). 3.3. How do I join the network then? If you just want to use the onion routing network, you can run a proxy and you're all set. If you want to run a router, you can do so by enabling ORPort, which will make your router get used for some things. However, in order to get used for everything, you must become a "verified" router. Simply convince the directory server operators (mail tor-ops@freehaven.net) that you're a trustworthy and reliable person. From there, the operators add you to the directory, which propagates out to the rest of the network. All nodes will know about you within a half hour. Once you are verified clients will pick you as entry and exit nodes. 3.4. Can I just set DirPort and be a directory server? If you are an onion router and set DirPort then you will serve the directory to other clients. This takes some load off the authoritative dirservers. Your node will not generate its own directory, instead it will provide the one it fetched from an authoritative dirserver. If you run a very reliable node, you plan to be around for a long time, and you want to spend some time ensuring that router operators are people we know and like, we may want you to run an authoritative directory server too. We must manually add you to the 'dirservers' file that's part of the distribution; users will only know about you when they upgrade to a new version. 4. Development. 4.1. Who's doing this? 4.2. Can I help? 4.3. I've got a bug. 5. Anonymity. 5.1. So I'm totally anonymous if I use Tor? 5.2. Where can I learn more about anonymity? 5.3. What attacks remain against onion routing? 6. Comparison to related projects. 6.1. Onion Routing. Tor *is* onion routing. 6.2. Freedom. 7. Protocol and application support. 7.1. http? ftp? udp? socks? mozilla?