Version 67 (modified by teor, 2 years ago) (diff)

Add the IPv6 roadmap

Network Team

About us

Welcome to the Network Team page. The Network Team is a group of Tor people who are working on Tor back-end: the program called Tor, the pluggable transports, the bridge distribution, the network simulators, the scripts that supports directory authorities, onion services etc.

One of the reasons we are not listing the names of the team members here is because we want to keep the team open to everyone. You're on the team if you're participating in discussions and development, and you're not part of the team anymore if you decide you want to move on (which we hope won't happen).

Excited about joining the team? Here is more information on how to get started.

Team Meetings Schedule:

We use IRC for our meetings, we meet at #tor-dev channel on OFTC server.

For other meetings, see:

Team Meetings UTC CET EDT PDT
Primary team meeting Monday 1700 UTC Monday 7:00pm CEST Monday 12:00pm EST Monday 9:00am PST
Patch party (more info here) Tuesday 2300 UTC Wednesday 1:00am CEST Tuesday 06:00pm EST Tuesday 3:00pm PST

How we work

Besides meeting every week on irc for status update and team discussions, our team also uses the following mechanisms to organize our work:

Becoming a volunteer

Thanks for volunteering with us! This part of our wiki is a collection of information we believe might be useful for you who wants to help us develop our tools.

Getting started

You could start by submitting a patch! Patches can help you learn our code and how our team work.

Tips on finding a patch to work on

We have people on rotation triaging bugs every week, you could look for one of them online and ask for suggestions of what to work on.

Or you can dig it yourself! Here are some queries we normally use, but you are welcome to just create new tickets if there is something in particular that you want to help with or a bug you found and has a patch for.

Tips on finding your way around our code

For the past couple years we spent great amount of our time documenting our code to help people understand it. Here are some links for documentation that will help you get started with our code!


The HACKING/ folder has helpful information about what you need to know to hack on Tor!

  • First, read to learn how to get a start in Tor development.
  • If you've decided to write a patch, CodingStandards.txt will give you a bunch of information about how we structure our code.
  • It's important to get code right! Reading 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: can tell you how to use them with Tor.
  • If it's your job to put out Tor releases, see so that you don't miss any steps!
  • A very important part of our development is code review, if you would like to collaborate with this part or want to sharp your skills in this front, check


The core Tor development team created tor-guts, a compilation of chapters that aims to explain the general structure of the Tor codebase, how it fits together, what functionality is available for extending Tor, and gives some notes on how Tor got that way.

Some of the things we cover with this documentation:

  • Chapter covers networking and filesystems functions that helps us wrap differences between various operating systems we support.
  • Chapter is dedicated to Lower-level cryptography functionality in Tor, in general Tor code shouldn't be calling crypto library directly (e.g. OpenSSL), this documentation helps developers understand the functions available in src/common/crypto\*.c or src/common/tortls.c that they can use these libraries indirectly.
  • Chapeter cover Tor’s time-related functions, they exist to help developers parse time, or access cached time for when you have to do thousands of call and don’t want to overload the system, or information on how to schedule things.
  • Chapter it's full of functions for manipulating the C string abstraction. It contains some often-missed highlights that will be helpful for developers who learning the ‘tor way’ of doing things in order to collaborate with our code base.
  • Chapter talks about the different collections we have available and how these resources are useful when writing code for Tor.
  • Chapter describes Tor’s functions for memory management. We advise developers to never use 'malloc', 'calloc', 'realloc, or 'free' on their own; always use the variants prefixed with 'tor_'. We also explain Tor’s convention for when the developer is writing their own functions, and some other choices we have made to help collaborators understand them.

Modules and functions:

We use doxygen to generate documentation in html out of our comments on the code. With that we have documentation for all the modules in Tor, their data flows, their intended interactions, and their actual behaviors. As well as nearly all the functions.

You will find this documentation in two places:

  1. In the source code, at the start of each C file.
  2. When you click on individual C files under (scroll down to "detailed description").

How to find us

We have what we call 'patch parties' meetings, they are for any volunteer to come with patches they want to discuss or need review for. These meetings happens on Tuesdays at 2300 UTC on irc. Check out the meetings information above for more details.

If you want to reach someone from the team between these meetings to ask a development-related question, just go to #tor-dev, and somebody from the team might either be around or appear later and get back to you.

Our asynchronous medium of communication is the tor-dev@ mailing list. This list is public in the sense that anyone can subscribe, send emails and read archives. Feel free to subscribe and just listen if you want, and feel free to post if you have a question that you think is on topic.

More on Network Team

Current Team Discussions:



Team Roadmap
Core Tor
Onion Services

Attachments (2)