Tor: Contribute
Ongoing needs:
- Try Tor out, and let the Tor developers know about bugs you find or features you don't find.
- Please consider running a server to help the Tor network grow.
- We especially need people with Windows programming skills to run an exit server on Windows, to help us debug.
- Run a Tor hidden service and put interesting content on it.
- Tell your friends! Get them to run servers. Get them to run hidden services. Get them to tell their friends.
- What else needs to be documented? What is mis-documented?
- Go take a look at the Electronic Frontier Foundation. More EFF donations means more freedom in the world, including more Tor development.
We also have many project-lets: short-term or self-contained tasks that would be really helpful for somebody to tackle so we can keep focusing on Tor.
Writing project-lets:
- Does somebody want to help maintain this website, or help with documentation, or help with managing our TODO and handling bug reports?
- Please help translate the web page and documentation into other languages. See the translation guidelines if you want to help out. (Examples: French and Persian)
- Please fix up the FAQ Wiki, and if you know the answer to a question in the "unanswered FAQs" list, please answer it.
Programmer and developer project-lets:
- We need somebody to code up a GUI or other controller program, to do configuration, etc. See our control specification for details, and the rudimentary demonstration Python control script. No, we don't know what the interface should look like. You can use any license you want, but we'd recommend 3-clause BSD or maybe GPL; and we can only help out if your license conforms to the DFSG.
- We're always looking for better Windows installers. Specifically, it would be great if somebody were to extend our NSIS-based windows installer to include FreeCap and Privoxy.
- Does somebody want to do up a patch so we can be an NT service? Or so we can go in the system tray?
- A good (portable, fast, clean, BSD-free) asynchronous DNS library would be really handy, so we don't have to keep forking DNS worker threads to do gethostbyname.
- Can somebody take a look at Martin's Squid and Tor page, and update it to reflect Tor's RedirectExit config option?
- See the TODO and HACKING files in the Tor distribution for more ideas.
Security project-lets: We need people to attack the implementation and clean it up, and also to attack the design and experiment with defenses.
- We need somebody to fuzz Tor. Are there good libraries out there for what we want? What are the first steps? Win fame by getting credit when we put out a new release because of you!
- Server CPU load is high because clients keep asking to make new circuits, which uses public key crypto. Possible defenses include: using helper nodes (fixed entry nodes); rate limiting the number of create cells handled per second; having clients retry failed extensions a few times; implementing ssl sessions; and using hardware crypto when available.
- Website volume fingerprinting attacks (Back et al, Hintz). Defenses include a large cell size, defensive dropping, etc. How well does each approach work?
- The end-to-end traffic confirmation attack. We need to study long-range dummies more, along with traffic shaping. How much traffic of what sort of distribution is needed before the adversary is confident he has won?
- It's not that hard to DoS Tor servers or dirservers. Are puzzles the right answer? What other practical approaches are there?
- What sensitive info squeaks by privoxy? Are other html scrubbers better?
Designer project-lets:
- Right now the hidden service descriptors are being stored on the dirservers, but any reliable distributed storage system would do (for example, a DHT that allows authenticated updates). Can somebody figure out our best options and decide if they're good enough?
- How hard is it to patch bind or a DNS proxy to redirect requests to Tor via our tor-resolve socks extension? What about to convert UDP DNS requests to TCP requests and send them through Tor?
- Tor provides anonymous connections, but if you want to keep multiple pseudonyms in practice (say, in case you frequently go to two websites and if anybody knew about both of them they would conclude it's you), we don't support that well yet. We should find a good approach and interface for handling pseudonymous profiles in Tor. See this post and followup for details.
Drop by the irc channel at irc.oftc.net or email tor-volunteer@freehaven.net if you want to help out!