5 This directory has helpful information about what you need to know to
8 First, read `GettingStarted.md` to learn how to get a start in Tor
11 If you've decided to write a patch, `CodingStandards.md` will give you a bunch
12 of information about how we structure our code.
14 It's important to get the code right! Reading `WritingTests.md` will
15 tell you how to write and run tests in the Tor codebase.
17 There are a bunch of other programs we use to help maintain and
18 develop the codebase: `HelpfulTools.md` can tell you how to use them
21 If it's your job to put out Tor releases, see `ReleasingTor.md` so
22 that you don't miss any steps!
24 ## Additional Information
26 For full information on how Tor is supposed to work, look at the files in
27 [Tor specification](https://gitlab.torproject.org/tpo/core/torspec).
29 For an explanation of how to change Tor's design to work differently, look at
30 [the Tor proposal process](https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/proposals/001-process.txt).
32 For the latest version of the code, get a copy of git, and
35 $ git clone https://gitlab.torproject.org/tpo/core/tor.git
38 For a copy of Tor's original design paper, see
39 [here](https://spec.torproject.org/tor-design). Note that Tor has changed in
42 For a large collection of security papers, many of which are related to Tor,
43 see [Anonbib's Selected Papers in Anonymity](https://www.freehaven.net/anonbib/).
47 We talk about Tor on the `tor-talk` mailing list. Design proposals and
48 discussion belong on the `tor-dev` mailing list. We hang around on
49 irc.oftc.net, with general discussion happening on `#tor` and development
50 happening on `#tor-dev`.
52 The other files in this `HACKING` directory may also be useful as you
53 get started working with Tor.