Tor documentation
Tor provides a distributed network of servers ("onion routers"). Users
bounce their communications (web requests, IM, IRC, SSH, etc.) around
the routers. This makes it hard for recipients, observers, and even the
onion routers themselves to track the source of the stream.
Why should I use Tor?
Individuals need Tor for privacy:
- Privacy in web browsing -- both from the remote website (so it can't
track and sell your behavior), and similarly from your local ISP.
- Safety in web browsing: if your local government doesn't approve
of its citizens visiting certain websites, they may monitor the sites
and put readers on a list of suspicious persons.
- Circumvention of local censorship: connect to resources (news
sites, instant messaging, etc.) that are restricted from your
ISP/school/company/government.
- Socially sensitive communication: chat rooms and web forums for
rape and abuse survivors, or people with illnesses.
Journalists and NGOs need Tor for safety:
- Allowing dissidents and whistleblowers to communicate more safely.
- Censorship-resistant publication, such as making available your
home-made movie anonymously via a Tor hidden
service; and reading, e.g. of news sites not permitted in some
countries.
- Allowing your workers to check back with your home website while
they're in a foreign country, without notifying everybody nearby that
they're working with your organization.
Companies need Tor for business security:
- Competitive analysis: browse the competition's website safely.
- Protecting collaborations of sensitive business units or partners.
- Protecting procurement suppliers or patterns.
- Putting the "P" back in "VPN": traditional VPNs reveal the exact
amount and frequency of communication. Which locations have employees
working late? Which locations have employees consulting job-hunting
websites? Which research groups are communicating with your company's
patent lawyers?
Governments need Tor for traffic-analysis-resistant communication:
- Open source intelligence gathering (hiding individual analysts is
not enough -- the organization itself may be sensitive).
- Defense in depth on open and classified networks -- networks
with a million users (even if they're all cleared) can't be made safe just
by hardening them to external threat.
- Dynamic and semi-trusted international coalitions: the network can
be shared without revealing the existence or amount of communication
between all parties.
- Networks partially under known hostile control: to block
communications, the enemy must take down the whole network.
- Politically sensitive negotiations.
- Road warriors.
- Protecting procurement patterns.
- Anonymous tips.
Law enforcement needs Tor for safety:
- Allowing anonymous tips or crime reporting
- Allowing agents to observe websites without notifying them that
they're being observed (or, more broadly, without having it be an
official visit from law enforcement).
- Surveillance and honeypots (sting operations)
Does the idea of sharing the Tor network with
all of these groups bother you? It shouldn't -- you need them for
your security.
Installing and configuring Tor
See the Windows,
OS X, and Linux/BSD/Unix documentation guides.
Configuring a server
We've moved this section over to the new
Tor Server
Configuration Guide. Hope you like it.
Configuring a hidden service
We've moved this section over to the new Tor Hidden Service
Howto. Hope you like it.
Setting up your own network
If you want to experiment locally with your own network, or you're cut
off from the Internet and want to be able to mess with Tor still, then
you may want to set up your own separate Tor network.
To set up your own Tor network, you need to run your own directory
servers, and you need to configure each client and server so it knows
about your directory servers rather than the default ones.
- 1: Grab the latest release. Use at least 0.1.1.6-alpha.
- 2: For each directory server you want,
- 2a: Set it up as a server (see "setting up a
server" above), with a least ORPort, DirPort, DataDirectory, and Nickname
defined. Set "AuthoritativeDirectory 1", and set "RecommendedVersions"
to a comma-separated list of acceptable
versions of the code for clients and servers to be running.
- 2b: Create a file called approved-routers in its DataDirectory.
Leave it empty for now.
- 2c: Run it: tor --list-fingerprint if your torrc is in
the default place, or tor -f torrc --list-fingerprint to
specify a torrc. This will generate your keys and output a fingerprint
line.
- 3: Now you need to teach clients and servers to use the new
dirservers. For each fingerprint, add a line like
DirServer 18.244.0.114:80 719B E45D E224 B607 C537 07D0 E214 3E2D 423E 74CF
to the torrc of each client and server who will be using your network.
- 4: Each server (including the dir-servers) should set
"AssumeReachable 1" in their torrc. This bypasses the reachability detection
and lets the network bootstrap.
- 5: If you are running the network using local/private IP space, the
dirservers need to set "DirAllowPrivateAddresses 1" in their torrc, and
all the servers need to explicitly set their Address to their IP in the
torrc.
- 6: Collect the 'fingerprint' lines from
each server (including directory servers), and include them (one per
line) in each approved-routers file. You can hup the tor process for
each directory server to reload the approved-routers file (so you don't
have to restart the process).
- 7: Be sure to start at least 4 servers including dir-servers. If
they're not succeeding at building circuits, hup them until they do.