# README.1st ## In this directory This directory has helpful information about what you need to know to hack on Tor! First, read `GettingStarted.md` to learn how to get a start in Tor development. If you've decided to write a patch, `CodingStandards.md` will give you a bunch of information about how we structure our code. It's important to get the code right! Reading `WritingTests.md` will tell you how to write and run tests in the Tor codebase. There are a bunch of other programs we use to help maintain and develop the codebase: `HelpfulTools.md` can tell you how to use them with Tor. If it's your job to put out Tor releases, see `ReleasingTor.md` so that you don't miss any steps! ## Additional Information For full information on how Tor is supposed to work, look at the files in [Tor specification](https://gitweb.torproject.org/torspec.git/tree). For an explanation of how to change Tor's design to work differently, look at [the Tor proposal process](https://gitweb.torproject.org/torspec.git/plain/proposals/001-process.txt). For the latest version of the code, get a copy of git, and ```console $ git clone https://git.torproject.org/git/tor ``` For a copy of Tor's original design paper, see [here](https://spec.torproject.org/tor-design). Note that Tor has changed in many ways since 2004. For a large collection of security papers, many of which are related to Tor, see [Anonbib's Selected Papers in Anonymity](https://www.freehaven.net/anonbib/). ## Stay in touch We talk about Tor on the `tor-talk` mailing list. Design proposals and discussion belong on the `tor-dev` mailing list. We hang around on irc.oftc.net, with general discussion happening on `#tor` and development happening on `#tor-dev`. The other files in this `HACKING` directory may also be useful as you get started working with Tor. Happy hacking!