Tor: an anonymizing overlay network for TCP

Tor is a connection-based low-latency anonymous communication system that protects TCP streams: web browsing, instant messaging, irc, ssh, etc.

Remember that this is development code -- don't rely on the current Tor network if you really need strong anonymity.

We've gotten a lot of press lately, and so far the Tor network has stood up just fine to the flood of new users. Great! To help make it scale even better, please consider installing it and then volunteering to run a server. Thanks!

Documentation

Read our How-to for explanations of:

The Design Document (published at Usenix Security 2004) gives our justifications and security analysis for the Tor design:

The Specification aims to give developers enough information to build a compatible version of Tor:

Read the Guide to Tor's source code.

Look at the slides from the Codecon 2004 talk, or listen to the audio from the talk. You can also peruse the Black Hat 2004 slides or Defcon 2004 slides.

Read these papers (especially the ones in boxes) to get up to speed on anonymous communication systems.

Resources

You can get the latest release from the download directory.

The or-announce mailing list is a low volume list for announcements of new releases, etc. You can read the archives or subscribe.

The or-dev mailing list is for posting by developers only, and the or-talk mailing list is where a lot of the discussion happens. There's also a list for cvs commits.

See the Tor wiki for our FAQ, list of tasks for volunteers, further documentation, etc.

And you can browse the Tor CVS repository: (which may not necessarily work or even compile)

Debian packages have been uploaded to unstable, so you can just apt-get install tor if you are running sid.
For stable (woody) add these lines to your /etc/apt/sources.list file:

deb http://mirror.noreply.org/pub/tor stable main
deb-src http://mirror.noreply.org/pub/tor stable main
and then run apt-get update; apt-get install tor. Packages for architectures other than i386 can be added on demand.

If you want a list of current Tor nodes, fetch the latest dynamically generated directory (you're talking http to a tor node!) and look at the "running-routers" line. (Your tor client fetches this automatically, so loading it yourself is just for novelty.) Check out weasel's graph of the number of tor servers over time.

Development releases

October 3, 2004

Tor 0.0.9pre2 makes pre1 work again on amd64 and other 64-bit systems. [signature]

October 1, 2004

Tor 0.0.9pre1 fixes more bugs in 0.0.8, and adds compression for directories, and client-side directory caching. [signature]

Stable releases

August 25, 2004

Tor 0.0.8 adds directory caching, on-demand connecting from ORs to ORs, bandwidth tracking, picks routers by bandwidth, handles firewalls better, handles dynamic IPs for servers, makes use of unverified servers in some path positions, and fixes many bugs . [signature]

August 12, 2004

Tor 0.0.7.3 fixes an assert failure for resolving empty hostnames. [signature]

July 7, 2004

Tor 0.0.7.2 fixes the rest of the exit node crash bug. [signature]

July 4, 2004

Tor 0.0.7.1 fixes a crash bug for exit nodes. [signature]

June 7, 2004

Tor 0.0.7 fixes some more bugs. [signature]

May 16, 2004

Tor 0.0.6.2 fixes some flaws with relay-level digest checking. [signature]

May 6, 2004

Tor 0.0.6.1 fixes some flaws with our AES counter implementation. [signature]

May 2, 2004

Tor 0.0.6 introduces rendezvous points, plus more bug fixes. [signature]

You can read the ChangeLog for more details.