Merge branch 'maint-0.4.6'
[tor.git] / src / feature / feature.md
blobd9f7bd5c0e71ff51f3e10370358fd8d3cfdfc723
1 @dir /feature
2 @brief feature: domain-specific modules
4 The "feature" directory has modules that Tor uses only for a particular
5 role or service, such as maintaining/using an onion service, operating as a
6 relay or a client, or being a directory authority.
8 Current subdirectories are:
10    - \refdir{feature/api} -- Support for making Tor embeddable
11    - \refdir{feature/client} -- Functionality which only Tor clients need
12    - \refdir{feature/control} -- Controller implementation
13    - \refdir{feature/dirauth} -- Directory authority
14    - \refdir{feature/dircache} -- Directory cache
15    - \refdir{feature/dirclient} -- Directory client
16    - \refdir{feature/dircommon} -- Shared code between the other directory modules
17    - \refdir{feature/dirparse} -- Directory parsing code.
18    - \refdir{feature/hibernate} -- Hibernating when Tor is out of bandwidth
19      or shutting down
20    - \refdir{feature/hs} -- v3 onion service implementation
21    - \refdir{feature/hs_common} -- shared code between both onion service
22      implementations
23    - \refdir{feature/keymgt} -- shared code for key management between
24      relays and onion services.
25    - \refdir{feature/nodelist} -- storing and accessing the list of relays on
26      the network.
27    - \refdir{feature/relay} -- code that only relay servers and exit servers
28      need.
29    - \refdir{feature/rend} -- v2 onion service implementation
30    - \refdir{feature/stats} -- statistics and history