944e77ad7d9eee676a20e8e5363dbb619d9d9224
Peter Palfrader Move website to wml

Peter Palfrader authored 19 years ago

en/volunteer.wml   1) ## translation metadata
Peter Palfrader In CVS the magic keyword is...

Peter Palfrader authored 19 years ago

en/volunteer.wml   2) # Revision: $Revision$
Andrew Lewman renamed contribute to volun...

Andrew Lewman authored 19 years ago

volunteer.html     3) 
Roger Dingledine stop prefacing everything w...

Roger Dingledine authored 16 years ago

en/volunteer.wml   4) #include "head.wmi" TITLE="Tor: Volunteer"
Andrew Lewman renamed contribute to volun...

Andrew Lewman authored 19 years ago

volunteer.html     5) 
volunteer.html     6) <div class="main-column">
volunteer.html     7) 
volunteer.html     8) <!-- PUT CONTENT AFTER THIS TAG -->
Roger Dingledine make the frontpage appear l...

Roger Dingledine authored 17 years ago

en/volunteer.wml   9) <h2>Three things everyone can do now:</h2>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html    10) <ol>
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml  11) <li>Please consider <a href="<page docs/tor-doc-relay>">running
en/volunteer.wml  12) a relay</a> to help the Tor network grow.</li>
en/volunteer.wml  13) <li>Tell your friends! Get them to run relays. Get them to run hidden
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html    14) services. Get them to tell their friends.</li>
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  15) <li>We are looking for funding and sponsors. If you like Tor's goals, please
Roger Dingledine a short paragraph of explan...

Roger Dingledine authored 18 years ago

en/volunteer.wml  16)   <a href="<page donate>">take a moment to donate to support further
en/volunteer.wml  17)   Tor development</a>. Also, if you know any
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  18)   companies, NGOs, agencies, or other organizations that want communications
Roger Dingledine cut out much of the front p...

Roger Dingledine authored 19 years ago

en/volunteer.wml  19)   security, let them know about us.</li>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html    20) </ol>
volunteer.html    21) 
Roger Dingledine put anchors into the volunt...

Roger Dingledine authored 18 years ago

en/volunteer.wml  22) <a id="Usability"></a>
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  23) <h2><a class="anchor" href="#Usability">Supporting Applications</a></h2>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html    24) <ol>
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  25) <li>We need good ways to intercept DNS requests so they don't "leak" their
en/volunteer.wml  26) request to a local observer while we're trying to be anonymous. (This
en/volunteer.wml  27) happens because the application does the DNS resolve before going to
en/volunteer.wml  28) the SOCKS proxy.)</li>
Nick Mathewson Try to make volunteer.wml v...

Nick Mathewson authored 17 years ago

en/volunteer.wml  29) <li>Tsocks/dsocks items:
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  30) <ul>
en/volunteer.wml  31) <li>We need to <a
Nick Mathewson Change all wiki.noreply to...

Nick Mathewson authored 17 years ago

en/volunteer.wml  32) href="https://wiki.torproject.org/noreply/TheOnionRouter/TSocksPatches">apply
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  33) all our tsocks patches</a> and maintain a new fork. We'll host it if
en/volunteer.wml  34) you want.</li>
en/volunteer.wml  35) <li>We should patch Dug Song's "dsocks" program to use Tor's
en/volunteer.wml  36) <i>mapaddress</i> commands from the controller interface, so we
en/volunteer.wml  37) don't waste a whole round-trip inside Tor doing the resolve before
en/volunteer.wml  38) connecting.</li>
en/volunteer.wml  39) <li>We need to make our <i>torify</i> script detect which of tsocks or
en/volunteer.wml  40) dsocks is installed, and call them appropriately. This probably means
en/volunteer.wml  41) unifying their interfaces, and might involve sharing code between them
en/volunteer.wml  42) or discarding one entirely.</li>
en/volunteer.wml  43) </ul>
Nick Mathewson Try to make volunteer.wml v...

Nick Mathewson authored 17 years ago

en/volunteer.wml  44) </li>
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml  45) <li>People running relays tell us they want to have one BandwidthRate
Nick Mathewson Note that one volunteer ite...

Nick Mathewson authored 17 years ago

en/volunteer.wml  46) during some part of the day, and a different BandwidthRate at other
en/volunteer.wml  47) parts of the day. Rather than coding this inside Tor, we should have a
en/volunteer.wml  48) little script that speaks via the <a href="<page gui/index>">Tor
en/volunteer.wml  49) Controller Interface</a>, and does a setconf to change the bandwidth
en/volunteer.wml  50) rate.  There is one for Unix and Mac already (it uses bash and cron),
en/volunteer.wml  51) but Windows users still need a solution.
Nick Mathewson Remove some completed or in...

Nick Mathewson authored 18 years ago

en/volunteer.wml  52) </li>
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  53) <li>Tor can <a
Nick Mathewson Change all wiki.noreply to...

Nick Mathewson authored 17 years ago

en/volunteer.wml  54) href="https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#ChooseEntryExit">exit
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  55) the Tor network from a particular exit node</a>, but we should be able
en/volunteer.wml  56) to specify just a country and have something automatically pick. The
en/volunteer.wml  57) best bet is to fetch Blossom's directory also, and run a local Blossom
en/volunteer.wml  58) client that fetches this directory securely (via Tor and checking its
en/volunteer.wml  59) signature), intercepts <tt>.country.blossom</tt> hostnames, and does
en/volunteer.wml  60) the right thing.</li>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html    61) <li>Speaking of geolocation data, somebody should draw a map of the Earth
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml  62) with a pin-point for each Tor relay. Bonus points if it updates as the
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  63) network grows and changes. Unfortunately, the easy ways to do this involve
en/volunteer.wml  64) sending all the data to Google and having them draw the map for you. How
en/volunteer.wml  65) much does this impact privacy, and do we have any other good options?</li>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html    66) </ol>
volunteer.html    67) 
Roger Dingledine put anchors into the volunt...

Roger Dingledine authored 18 years ago

en/volunteer.wml  68) <a id="Documentation"></a>
en/volunteer.wml  69) <h2><a class="anchor" href="#Documentation">Documentation</a></h2>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html    70) <ol>
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  71) <li>Please help Matt Edman with the documentation and how-tos for his
Nick Mathewson Remove some completed or in...

Nick Mathewson authored 18 years ago

en/volunteer.wml  72) Tor controller,
en/volunteer.wml  73) <a href="http://vidalia-project.net/">Vidalia</a>.</li>
Roger Dingledine more cleanup, get the link...

Roger Dingledine authored 18 years ago

en/volunteer.wml  74) <li>Evaluate and document
Nick Mathewson Change all wiki.noreply to...

Nick Mathewson authored 17 years ago

en/volunteer.wml  75) <a href="https://wiki.torproject.org/wiki/TheOnionRouter/TorifyHOWTO">our
Roger Dingledine more cleanup, get the link...

Roger Dingledine authored 18 years ago

en/volunteer.wml  76) list of programs</a> that can be configured to use Tor.</li>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html    77) <li>We need better documentation for dynamically intercepting
Roger Dingledine remove some done things fro...

Roger Dingledine authored 18 years ago

en/volunteer.wml  78) connections and sending them through Tor. tsocks (Linux), dsocks (BSD),
Nick Mathewson Remove some completed or in...

Nick Mathewson authored 18 years ago

en/volunteer.wml  79) and freecap (Windows) seem to be good candidates, as would better
en/volunteer.wml  80) use of our new TransPort feature.</li>
Nick Mathewson Change all wiki.noreply to...

Nick Mathewson authored 17 years ago

en/volunteer.wml  81) <li>We have a huge list of <a href="https://wiki.torproject.org/noreply/TheOnionRouter/SupportPrograms">potentially useful
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html    82) programs that interface to Tor</a>. Which ones are useful in which
volunteer.html    83) situations? Please help us test them out and document your results.</li>
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml  84) <li>Help translate the web page and documentation into other
en/volunteer.wml  85) languages. See the <a href="<page translation>">translation
Roger Dingledine we could really use some ar...

Roger Dingledine authored 17 years ago

en/volunteer.wml  86) guidelines</a> if you want to help out. We especially need Arabic or
en/volunteer.wml  87) Farsi translations, for the many Tor users in censored areas.</li>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html    88) </ol>
volunteer.html    89) 
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml  90) <a id="Coding"></a>
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

en/volunteer.wml  91) <a id="Summer"></a>
en/volunteer.wml  92) <a id="Projects"></a>
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml  93) <h2><a class="anchor" href="#Projects">Good Coding Projects</a></h2>
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

en/volunteer.wml  94) <ol>
en/volunteer.wml  95) 
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml  96) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml  97) <b>Tor/Polipo/Vidalia Auto-Update Framework</b>
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml  98) <br />
Jacob Appelbaum Added a small number of imp...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml  99) Priority: <i>High</i>
en/volunteer.wml 100) <br />
en/volunteer.wml 101) Effort Level: <i>High</i>
en/volunteer.wml 102) <br />
Jacob Appelbaum Added skill rating

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 103) Skill Level: <i>High</i>
en/volunteer.wml 104) <br />
Jacob Appelbaum Added a small number of imp...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 105) Likely Mentors: <i>Matt, others</i>
en/volunteer.wml 106) <br />
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 107) Vidalia already has the ability to notice when the user is running an
en/volunteer.wml 108) outdated or unrecommended version of Tor. Currently, Vidalia simply pops
en/volunteer.wml 109) up a little message box that lets the user know they should manually
en/volunteer.wml 110) upgrade. The goal of this project would be to extend Vidalia with the
en/volunteer.wml 111) ability to also fetch and install the updated Tor software for the
en/volunteer.wml 112) user. Time permitting, we would also like to be able to update other
en/volunteer.wml 113) applications included in the bundled installers, such as Polipo and
en/volunteer.wml 114) Vidalia itself.
en/volunteer.wml 115) <br />
en/volunteer.wml 116) To complete this project, the student will first need to first investigate
en/volunteer.wml 117) the existing auto-update frameworks (e.g., Sparkle on OS X) to evaluate
en/volunteer.wml 118) their strengths, weaknesses, security properties, and ability to be
en/volunteer.wml 119) integrated into Vidalia. If none are found to be suitable, the student
en/volunteer.wml 120) will design their own auto-update framework, document the design, and
en/volunteer.wml 121) then discuss the design with other developers to assess any security
en/volunteer.wml 122) issues. The student will then implement their framework (or integrate
en/volunteer.wml 123) an existing one) and test it.
en/volunteer.wml 124) <br />
en/volunteer.wml 125) A student undertaking this project should have good C++ development
en/volunteer.wml 126) experience. Previous experience with Qt is helpful, but not required. The
en/volunteer.wml 127) student should also have a basic understanding of common security
en/volunteer.wml 128) practices, such as package signature verification. Good writing ability
en/volunteer.wml 129) is also important for this project, since a vital step of the project
en/volunteer.wml 130) will be producing a design document for others to review and discuss
en/volunteer.wml 131) with the student prior to implementation.
en/volunteer.wml 132) </li>
en/volunteer.wml 133) 
en/volunteer.wml 134) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 135) <b>An Improved and More Usable Network Map</b>
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 136) <br />
en/volunteer.wml 137) One of Vidalia's existing features is a network map that shows the user
en/volunteer.wml 138) the approximate geographic location of relays in the Tor network and
en/volunteer.wml 139) plots the paths the user's traffic takes as it is tunneled through the
en/volunteer.wml 140) Tor network. The map is currently not very interactive and has rather
en/volunteer.wml 141) poor graphics. Instead, we would like to leverage KDE's Marble widget
en/volunteer.wml 142) that gives us a better quality map and enables improved interactivity,
en/volunteer.wml 143) such as allowing the user to click on individual relays or circuits to
en/volunteer.wml 144) display additional information. We might also consider adding the ability
en/volunteer.wml 145) for users to click on a particular relay or a country containing one or
en/volunteer.wml 146) more Tor exit relays and say, ``I want my connections to foo.com to exit
en/volunteer.wml 147) from here.''
en/volunteer.wml 148) <br />
en/volunteer.wml 149) This project will first involve the student getting familiar with Vidalia
en/volunteer.wml 150) and the Marble widget's API. The student will then integrate the widget
en/volunteer.wml 151) into Vidalia and customize Marble to be better suited for our application,
en/volunteer.wml 152) such as making circuits clickable, storing cached map data in Vidalia's
en/volunteer.wml 153) own data directory, and customizing some of the widget's dialogs.
en/volunteer.wml 154) <br />
en/volunteer.wml 155) A student undertaking this project should have good C++ development
en/volunteer.wml 156) experience. Previous experience with Qt and CMake is helpful, but not
en/volunteer.wml 157) required.
en/volunteer.wml 158) </li>
en/volunteer.wml 159) 
en/volunteer.wml 160) <li>
Jacob Appelbaum Added a small number of imp...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 161) <b>Better Debian Packaging and Debian Packaging Support</b>
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 162) <br />
en/volunteer.wml 163) Vidalia currently doesn't play nicely on Debian and Ubuntu with the
en/volunteer.wml 164) default Tor packages. The current Tor packages automatically start Tor
en/volunteer.wml 165) as a daemon running as the debian-tor user and (sensibly) do not have a
en/volunteer.wml 166) CntrolPort defined in the default torrc. Consequently, Vidalia will try
en/volunteer.wml 167) to start its own Tor process since it could not connect to the existing
en/volunteer.wml 168) Tor, and then Vidalia's Tor process will then exit with an error message
en/volunteer.wml 169) the user likely doesn't understand since Tor cannot bind its listening
en/volunteer.wml 170) ports--they're already in use by the original Tor daemon.
en/volunteer.wml 171) <br />
en/volunteer.wml 172) The current solution involves either telling the user to stop the
en/volunteer.wml 173) existing Tor daemon and let Vidalia start its own Tor process, or
en/volunteer.wml 174) explaining to the user how to set a control port and password in their
en/volunteer.wml 175) torrc. A better solution on Debian would be to use Tor's ControlSocket,
en/volunteer.wml 176) which allows Vidalia to talk to Tor via a Unix domain socket, and could
en/volunteer.wml 177) possibly be enabled by default in Tor's Debian packages. Vidalia can
en/volunteer.wml 178) then authenticate to Tor using cookie authentication if the user running
en/volunteer.wml 179) Vidalia is also in the debian-tor group.
en/volunteer.wml 180) <br />
en/volunteer.wml 181) This project will first involve adding support for Tor's ControlSocket
en/volunteer.wml 182) to Vidalia. The student will then develop and test Debian and Ubuntu
en/volunteer.wml 183) packages for Vidalia that conform to Debian's packaging standards and
en/volunteer.wml 184) making sure it works well with the existing Tor packages. We can also
en/volunteer.wml 185) set up an apt repository to host the new Vidalia packages.
en/volunteer.wml 186) <br />
en/volunteer.wml 187) A student undertaking this project should have prior knowledge of
en/volunteer.wml 188) Debian package management and some C++ development experience. Previous
en/volunteer.wml 189) experience with Qt is helpful, but not required.
en/volunteer.wml 190) </li>
en/volunteer.wml 191) 
en/volunteer.wml 192) <li>
Jacob Appelbaum tag fix

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 193) <b>Tor Status Event Interface</b>
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 194) <br />
en/volunteer.wml 195) There may are a number of status changes of which the user may need
en/volunteer.wml 196) to be informed. For example, if the user is trying to set up a Tor
en/volunteer.wml 197) relay and Tor decides the user's relay is not reachable from outside
en/volunteer.wml 198) the user's network, we should alert the user. Currently, all the user
en/volunteer.wml 199) gets is a couple log messages in Vidalia's 'message log', which they
en/volunteer.wml 200) likely never see since they don't receive a notification that something
en/volunteer.wml 201) has gone wrong. Even if the user does actually look at the message log,
en/volunteer.wml 202) most of the messages make little sense to the novice user.
en/volunteer.wml 203) <br />
en/volunteer.wml 204) Tor has the ability to inform Vidalia of many such status changes, and
en/volunteer.wml 205) we recently implemented support for a couple of these events. Still,
en/volunteer.wml 206) there are many more status events the user should be informed of and we
en/volunteer.wml 207) need a better UI for actually displaying them to the user.
en/volunteer.wml 208) <br />
en/volunteer.wml 209) The goal of this project then is to design and implement a UI for
en/volunteer.wml 210) displaying Tor status events to the user. For example, we might put a
en/volunteer.wml 211) little badge on Vidalia's tray icon that alerts the user to new status
en/volunteer.wml 212) events they should look at. Double-clicking the icon could bring up a
en/volunteer.wml 213) dialog that summarizes recent status events in simple terms and maybe
en/volunteer.wml 214) suggests a remedy for any negative statuses if they can be corrected by
en/volunteer.wml 215) the user. Of course, this is just an example and the student is free to
en/volunteer.wml 216) suggest another approach.
en/volunteer.wml 217) <br />
en/volunteer.wml 218) A student undertaking this project should have good UI design and layout
en/volunteer.wml 219) experience and some C++ development experience. Previous experience
en/volunteer.wml 220) with Qt and Qt's Designer will be very helpful, but not required. Some
en/volunteer.wml 221) English writing ability will also be useful, since this project will
en/volunteer.wml 222) likely involve writing small amounts of help documentation that should
en/volunteer.wml 223) be understandable by non-technical users. Bonus points for some graphic
en/volunteer.wml 224) design/Photoshop fu, since we might want/need some shiny new icons too.
en/volunteer.wml 225) </li>
en/volunteer.wml 226) 
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 227) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 228) <b>A Translation Wiki</b>
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 229) <br />
en/volunteer.wml 230) We require a way to edit and translate sections of the website &mdash;
en/volunteer.wml 231) possibly resulting in a patch for the official svn tree. The current
en/volunteer.wml 232) "cost" of publication of website changes is quite high even for English
en/volunteer.wml 233) language users. They need to check out our template files, translate them
en/volunteer.wml 234) and send us the translation. For a single word change or any type of
en/volunteer.wml 235) minor change, the page may never be corrected or translated.  It would
en/volunteer.wml 236) be nice to have a wiki that was specifically geared towards translation
en/volunteer.wml 237) and would somehow track the upstream (English) versions to indicate when
en/volunteer.wml 238) a fresh translation is needed. This seems mostly like a job for a wiki
en/volunteer.wml 239) integrator or wiki software author. Certainly the person would need to
en/volunteer.wml 240) be interested in human languages and translation. They should at least
en/volunteer.wml 241) be minimally familiar with what Tor is but would not have to interact
en/volunteer.wml 242) with the software, only the documentation on the website.
en/volunteer.wml 243) </li>
en/volunteer.wml 244) 
en/volunteer.wml 245) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 246) <b>Improvements on our active browser configuration tester</b> - 
en/volunteer.wml 247) <a href="https://check.torproject.org">https://check.torproject.org</a>
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 248) <br />
en/volunteer.wml 249) We currently have a functional web page to detect if Tor is working. It
en/volunteer.wml 250) is has a few places where it falls short. It requires improvements with
en/volunteer.wml 251) regard to default languages and functionality. It currently only responds
en/volunteer.wml 252) in English. In addition, it is a hack of a perl script that should have
en/volunteer.wml 253) never seen the light of day. It should probably be rewritten in python
en/volunteer.wml 254) with multi-lingual support in mind. It currently uses the Tor DNS exit
en/volunteer.wml 255) list and should continue to do so in the future. It may result in certain
en/volunteer.wml 256) false positives and these should be discovered, documented, and fixed
en/volunteer.wml 257) where possible. Anyone working on this project should be interested in
en/volunteer.wml 258) DNS, basic perl or preferably python programming skills and will have
en/volunteer.wml 259) to interact minimally with Tor to test their code.
en/volunteer.wml 260) </li>
en/volunteer.wml 261) 
en/volunteer.wml 262) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 263) <b>Improvements on our DNS Exit List service</b> - 
en/volunteer.wml 264) <a href="http://exitlist.torproject.org">http://exitlist.torproject.org</a>
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 265) <br />
en/volunteer.wml 266) The exitlist software is written by our fabulous anonymous
yGREK Heretix I believe it is Haskell not...

yGREK Heretix authored 16 years ago

en/volunteer.wml 267) contributer Tup. It's a DNS server written in Haskell that supports part of our <a
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 268) href="https://www.torproject.org/svn/trunk/doc/contrib/torel-design.txt">exitlist
en/volunteer.wml 269) design document</a>. Currently, it's functional and it is used by
en/volunteer.wml 270) check.torproject.org and other users. The issues that are outstanding
en/volunteer.wml 271) are mostly aesthetic. This wonderful service could use a much better
en/volunteer.wml 272) website using the common Tor theme. It would be best served with better
en/volunteer.wml 273) documentation for common services that use an RBL. It could use more
en/volunteer.wml 274) publicity. A person working on this project should be interested in DNS,
en/volunteer.wml 275) basic RBL configuration for popular services, and writing documentation.
en/volunteer.wml 276) The person would require minimal Tor interaction &mdash; testing their
en/volunteer.wml 277) own documentation at the very least. Furthermore, it would be useful
yGREK Heretix I believe it is Haskell not...

yGREK Heretix authored 16 years ago

en/volunteer.wml 278) if they were interested in Haskell and wanted to implement more of the
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 279) torel-design.txt suggestions.
en/volunteer.wml 280) </li>
en/volunteer.wml 281) 
en/volunteer.wml 282) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 283) <b>Testing integration of Tor with web browsers for our end users</b>
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 284) <br />
en/volunteer.wml 285) The Tor project currently lacks a solid test to ensure that a
en/volunteer.wml 286) user has a properly configured web browser. It should test for as
en/volunteer.wml 287) many known issues as possible. It should attempt to decloak the
en/volunteer.wml 288) user in any way possible.  Two current webpages that track these
en/volunteer.wml 289) kinds of issues are run by Greg and HD Moore. Greg keeps a nice <a
en/volunteer.wml 290) href="http://pseudo-flaw.net/tor/torbutton/">list of issues along
en/volunteer.wml 291) with their proof of concept code, bug issues, etc</a>. HD Moore runs
en/volunteer.wml 292) the <a href="http://metasploit.com/research/misc/decloak/">metasploit
en/volunteer.wml 293) decloak website</a>. A person interested in attacking Tor could start
en/volunteer.wml 294) by collecting as many workable and known methods for decloaking a
en/volunteer.wml 295) Tor user. The person should be familiar with the common pitfalls but
en/volunteer.wml 296) possibly have new methods in mind for implementing decloaking issues. The
en/volunteer.wml 297) website should ensure that it tells a user what their problem is. It
en/volunteer.wml 298) should help them to fix the problem or direct them to the proper support
en/volunteer.wml 299) channels. The person should be closely familiar with using Tor and how
en/volunteer.wml 300) to prevent Tor leakage.
en/volunteer.wml 301) </li>
en/volunteer.wml 302) 
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 303) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 304) <b>Improving our ability to be resistant to censorship</b>
en/volunteer.wml 305) <br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 306) Tor needs even better censorship resistance mechanisms.  There are
en/volunteer.wml 307) several mechanisms that can help.  Tor should be able listen on multiple
en/volunteer.wml 308) addresses and ports, and allow clients to connect to all of them.
en/volunteer.wml 309) Tor should be able to appear like a webserver (HTTP or HTTPS) when
en/volunteer.wml 310) contacted by port-scanning tools.
en/volunteer.wml 311) </li>
en/volunteer.wml 312) 
en/volunteer.wml 313) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 314) <b>Libevent and Tor integration improvements</b>
en/volunteer.wml 315) <br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 316) Tor should make better use of the more recent features of Niels Provos's
en/volunteer.wml 317) Libevent library.  Libevent already provides HTTP and socket buffers;
en/volunteer.wml 318) Tor's code for those could be replaced.  We'll need to improve libevent's
en/volunteer.wml 319) code as needed; particularly, to add good openssl support on top of
en/volunteer.wml 320) libevent's buffer abstraction.
en/volunteer.wml 321) </li>
en/volunteer.wml 322) 
en/volunteer.wml 323) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 324) <b>Tuneup Tor!</b>
en/volunteer.wml 325) <br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 326) Tor should possibly measure bandwidth in a distributed way, as in the
en/volunteer.wml 327) <a href="http://freehaven.net/anonbib/">"A Tuneup for Tor"</a> paper
en/volunteer.wml 328) by Snader and Borisov.  A student could use current testing code to
en/volunteer.wml 329) double-check this paper's findings and verify the extent to which they
en/volunteer.wml 330) dovetail with Tor in the wild, and determine good ways to incorporate them
en/volunteer.wml 331) into the Tor network without adding undesirable n^2 traffic properties
en/volunteer.wml 332) at the directory authorities.
en/volunteer.wml 333) </li>
en/volunteer.wml 334) 
Jacob Appelbaum Added buildbot suggestion f...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 335) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 336) <b>Improving the Tor QA process: Continuous Integration for Windows builds</b>
en/volunteer.wml 337) <br />
Jacob Appelbaum Added buildbot suggestion f...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 338) It would be useful to have automated build processes for Windows and
en/volunteer.wml 339) probably other platforms. The purpose of having a continuous integration
en/volunteer.wml 340) build environment is to ensure that Windows isn't left behind for any of
en/volunteer.wml 341) the software projects used in the Tor project or its accompanying.<br />
en/volunteer.wml 342) Buildbot may be a good choice for this as it appears to support all of
en/volunteer.wml 343) the platforms Tor does. See the 
en/volunteer.wml 344) <a href="http://en.wikipedia.org/wiki/BuildBot">wikipedia entry for 
en/volunteer.wml 345) buildbot</a>.<br />
en/volunteer.wml 346) There may be better options and the person undertaking this task should
en/volunteer.wml 347) evaluate other options. Any person working on this automatic build
en/volunteer.wml 348) process should have experience or be willing to learn how to build all
en/volunteer.wml 349) of the respective Tor related code bases from scratch. Furthermore, the
en/volunteer.wml 350) person should have some experience building software in Windows
en/volunteer.wml 351) environments as this is the target audience we want to ensure we do not
en/volunteer.wml 352) leave behind. It would require close work with the Tor source code but
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 353) probably only in the form of building, not authoring.<br />
en/volunteer.wml 354) Additionally, we need to automate our performance testing for all platforms.
en/volunteer.wml 355) We've got buildbot (except on Windows &mdash; as noted above) to automate 
en/volunteer.wml 356) our regular integration and compile testing already,
en/volunteer.wml 357) but we need to get our network simulation tests (as built in torflow)
en/volunteer.wml 358) updated for more recent versions of Tor, and designed to launch a test
en/volunteer.wml 359) network either on a single machine, or across several, so we can test
en/volunteer.wml 360) changes in performance on machines in different roles automatically.<br />
Jacob Appelbaum Added buildbot suggestion f...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 361) </li>
en/volunteer.wml 362) 
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 363) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 364) <b>Improve our unit testing process</b>
en/volunteer.wml 365) <br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 366) Tor needs to be far more tested.  This is a multi-part effort.  To start
en/volunteer.wml 367) with, our unit test coverage should rise substantially, especially in
en/volunteer.wml 368) the areas outside the utility functions.  This will require significant
en/volunteer.wml 369) refactoring of some parts of Tor, in order to dissociate as much logic
en/volunteer.wml 370) as possible from globals.<br />
en/volunteer.wml 371) Additionally, we need to automate our performance testing.  We've got
Jacob Appelbaum Added buildbot suggestion f...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 372) buildbot (except on Windows &mdash; see above) to automate our regular 
en/volunteer.wml 373) integration and compile testing already,
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 374) but we need to get our network simulation tests (as built in torflow)
en/volunteer.wml 375) updated for more recent versions of Tor, and designed to launch a test
en/volunteer.wml 376) network either on a single machine, or across several, so we can test
Jacob Appelbaum Added buildbot suggestion f...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 377) changes in performance on machines in different roles automatically.<br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 378) </li>
en/volunteer.wml 379) 
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 380) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 381) <b>Help revive the Java community around Tor</b>
en/volunteer.wml 382) <br />
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 383) Reanimate one of the approaches to implement a Tor client in Java,
en/volunteer.wml 384) e.g. the <a href="http://onioncoffee.sourceforge.net/">OnionCoffee
en/volunteer.wml 385) project</a>, and make it run on <a
en/volunteer.wml 386) href="http://code.google.com/android/">Android</a>. The first step
en/volunteer.wml 387) would be to port the existing code and execute it in an Android
en/volunteer.wml 388) environment. Next, the code should be updated to support the newer Tor
en/volunteer.wml 389) protocol versions like the <a href="<svnsandbox>doc/spec/dir-spec.txt">v3
en/volunteer.wml 390) directory protocol</a>. Further, support for requesting or even
en/volunteer.wml 391) providing Tor hidden services would be neat, but not required. The
en/volunteer.wml 392) student should be able to understand and write new Java code, including
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 393) a Java cryptography API. Being able to read C code would be helpful,
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 394) too. The student should be willing to read the existing documentation,
en/volunteer.wml 395) implement code based on it, and, if required, refine the documentation
en/volunteer.wml 396) if things are underdocumented. This project is mostly about coding and
en/volunteer.wml 397) to a small degree about design.
en/volunteer.wml 398) </li>
en/volunteer.wml 399) 
en/volunteer.wml 400) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 401) <b>Become the PuppeTor Master</b>
en/volunteer.wml 402) <br />
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 403) Write a tool that runs automatic system tests in addition
en/volunteer.wml 404) to the existing unit tests. The Java-based Tor simulator <a
en/volunteer.wml 405) href="https://tor-svn.freehaven.net/svn/puppetor/trunk/">PuppeTor</a>
en/volunteer.wml 406) might be a good start for starting up a private Tor network, using it
en/volunteer.wml 407) for a while, and verifying that at least parts of it are working. This
en/volunteer.wml 408) project requires to conceive a blueprint for performing system tests
en/volunteer.wml 409) of private Tor networks, before starting to code. Typical types of
en/volunteer.wml 410) tests range from performing single requests over the private network to
en/volunteer.wml 411) manipulating exchanged messages and see if nodes handle corrupt messages
en/volunteer.wml 412) appropriately. The student should be able to obtain a good understanding
en/volunteer.wml 413) of how Tor works and what problems and bugs could arise to design good
en/volunteer.wml 414) test cases. Understanding the existing Tor code and documentation is
en/volunteer.wml 415) vital. If PuppeTor is used, the student should also be able to understand
en/volunteer.wml 416) and possibly extend an existing Java application. This project is partly
en/volunteer.wml 417) about design and partly about coding.
en/volunteer.wml 418) </li>
en/volunteer.wml 419) 
en/volunteer.wml 420) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 421) <b>Bring moniTor to life</b>
en/volunteer.wml 422) <br />
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 423) Implement a <a href="http://www.ss64.com/bash/top.html">top-like</a>
en/volunteer.wml 424) management tool for Tor relays. The purpose of such a tool would be
en/volunteer.wml 425) to monitor a local Tor relay via its control port and include useful
en/volunteer.wml 426) system information of the underlying machine. When running this tool, it
en/volunteer.wml 427) would dynamically update its content like top does for Linux processes.
en/volunteer.wml 428) <a href="http://archives.seul.org/or/dev/Jan-2008/msg00005.html">This
en/volunteer.wml 429) or-dev post</a> might be a good first read. The student should be familiar
en/volunteer.wml 430) with or willing to learn about administering a Tor relay and configuring
en/volunteer.wml 431) it via its control port. As an initial prototype is written in Python,
en/volunteer.wml 432) some knowledge about writing Python code would be helpful, too. This
en/volunteer.wml 433) project is for the one part about identifying requirements to such a
en/volunteer.wml 434) tool and designing its interface; but on the other part, the project
en/volunteer.wml 435) also requires a lot of coding.
en/volunteer.wml 436) </li>
en/volunteer.wml 437) 
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 438) <li>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 439) <b>Tor Exit Scanner Improvements</b>
en/volunteer.wml 440) <br />
en/volunteer.wml 441) Priority: <i>High</i>
en/volunteer.wml 442) <br />
en/volunteer.wml 443) Effort Level: <i>High</i>
en/volunteer.wml 444) <br />
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

en/volunteer.wml 445) Skill Level: <i>High</i>
en/volunteer.wml 446) <br />
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 447) Likely Mentors: <i>Mike Perry</i>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 448) 
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 449) <br />
en/volunteer.wml 450) The Tor exit node scanner 'SoaT', part of the <a
en/volunteer.wml 451) href="https://www.torproject.org/svn/torflow/">Torflow project</a>, is
en/volunteer.wml 452) currently written in rather rickety perl and relies on MD5sums of
en/volunteer.wml 453) entire documents in order to determine if exit nodes are modifying
en/volunteer.wml 454) content. The problem with this is threefold: 1) Perl sucks at life.
en/volunteer.wml 455) 2) The scanner can't verify pages that are dynamic, and attackers can
en/volunteer.wml 456) focus malicious content injection on only those dynamic pages. 3)
en/volunteer.wml 457) Pages change after a while (or based on GeoIP) and begin generating
en/volunteer.wml 458) false positives.
en/volunteer.wml 459) <br />
en/volunteer.wml 460) Ideally, soat.pl would be reimplemented in a sane language with a
en/volunteer.wml 461) robust html parser library (since the rest of Torflow is in Python,
en/volunteer.wml 462) that would be nice, but not required), and calculate signatures only for
en/volunteer.wml 463) tags and content likely to be targeted by a malicious attacker (script
en/volunteer.wml 464) tags, object links, images). It should also be robust in the face of
en/volunteer.wml 465) changes to content outside of Tor, and ultimately even GeoIP localized
en/volunteer.wml 466) content.
en/volunteer.wml 467) <br />
en/volunteer.wml 468) This scanner would likely be run by the directory authorities and
en/volunteer.wml 469) report its results to the control port via the AuthDirBadExit config
en/volunteer.wml 470) setting.
en/volunteer.wml 471) <br />
en/volunteer.wml 472) </li>
en/volunteer.wml 473) <li>
en/volunteer.wml 474) <b>Tor Node Scanner Improvements</b>
en/volunteer.wml 475) <br />
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

en/volunteer.wml 476) Priority: <i>Medium</i>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 477) <br />
en/volunteer.wml 478) Effort Level: <i>Medium-High</i>
en/volunteer.wml 479) <br />
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

en/volunteer.wml 480) Skill Level: <i>Medium-High</i>
en/volunteer.wml 481) <br />
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 482) Likely Mentors: <i>Mike Perry</i>
en/volunteer.wml 483) <br />
en/volunteer.wml 484) Similar to the exit scanner (or perhaps even during exit scanning),
en/volunteer.wml 485) statistics can be gathered about the reliability of nodes. Nodes that
en/volunteer.wml 486) fail a certain percentage of their circuits should not be used for
en/volunteer.wml 487) Guard status, and perhaps should have their reported bandwidth
en/volunteer.wml 488) penalized by some ratio as well, or just get marked as Invalid. In
en/volunteer.wml 489) addition, nodes that exhibit a very low average stream capacity but
en/volunteer.wml 490) advertise a very high node bandwidth can also be marked as Invalid.
en/volunteer.wml 491) Much of this statistics gathering is already done, it just needs to be
en/volunteer.wml 492) transformed into something that can be reported to the Directory
en/volunteer.wml 493) Authorities to blacklist/penalize nodes in such a way that clients
en/volunteer.wml 494) will listen.
en/volunteer.wml 495) <br />
en/volunteer.wml 496) In addition, these same statistics can be gathered about the traffic
en/volunteer.wml 497) through a node. Events can be added to the <a
en/volunteer.wml 498) href="https://www.torproject.org/svn/torctl/doc/howto.txt">Tor Control
en/volunteer.wml 499) Protocol</a> to
en/volunteer.wml 500) report if a circuit extend through the node succeeds or fails, and
en/volunteer.wml 501) passive statistics can be gathered on both bandwidth and reliability
en/volunteer.wml 502) of other nodes via a node-based monitor using these events. Such a
en/volunteer.wml 503) scanner which would also report information on oddly-behaving nodes to
en/volunteer.wml 504) the Directory Authorities, but a communication channel for this
en/volunteer.wml 505) currently does not exist and would need to be developed as well.
en/volunteer.wml 506) </li>
en/volunteer.wml 507) <li>
en/volunteer.wml 508) <b>Tor path selection improvements</b>
en/volunteer.wml 509) <br />
en/volunteer.wml 510) Priority: <i>High</i>
en/volunteer.wml 511) <br />
en/volunteer.wml 512) Effort Level: <i>Low-Medium</i>
en/volunteer.wml 513) <br />
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

en/volunteer.wml 514) Skill Level: <i>High</i>
en/volunteer.wml 515) <br />
en/volunteer.wml 516) Likely Mentors: <i>Roger, Nick, Mike</i>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 517) <br />
en/volunteer.wml 518) Some simple improvements can be made to Tor's path selection to vastly
en/volunteer.wml 519) improve Tor speed. For instance, some of the (unofficial) <a
en/volunteer.wml 520) href="http://wiki.noreply.org/noreply/TheOnionRouter/FireFoxTorPerf">Tor
en/volunteer.wml 521) Performance Recommendations</a> on the wiki are to increase the number of
en/volunteer.wml 522) guards and decrease the CircuitBuildTimeout. Ideally, the client would
en/volunteer.wml 523) learn these values by gathering statistics on circuit construction
en/volunteer.wml 524) time (and/or using values gained from Torflow), and set the timeouts
en/volunteer.wml 525) low enough such that some high percentile (75%, 90%, 1-stddev?) of
en/volunteer.wml 526) circuits succeed, yet extremely slow nodes are avoided. This would
en/volunteer.wml 527) involve some statistics gathering+basic research, and some changes to 
en/volunteer.wml 528) Tor path selection code.
en/volunteer.wml 529) <br />
en/volunteer.wml 530) 
en/volunteer.wml 531) In addition, to improve path security, some elements from the <a
en/volunteer.wml 532) href="http://www.torproject.org/svn/trunk/doc/spec/proposals/115-two-hop-paths.txt">Two
en/volunteer.wml 533) Hop Paths proposal</a> could be done as part of this (since it will
en/volunteer.wml 534) likely touch the same code anyways), regardless of the adoption of
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

en/volunteer.wml 535) that proposal. In particular, clients probably should avoid guards thatseem to
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 536) fail an excessive percentage of their circuits through them, and non-bridged
en/volunteer.wml 537) clients should issue a warn if they are only able toconnect to a limited set
en/volunteer.wml 538) of guard nodes.
en/volunteer.wml 539) 
en/volunteer.wml 540) </li>
en/volunteer.wml 541) <li>
en/volunteer.wml 542) <b>Torbutton improvements</b>
en/volunteer.wml 543) <br />
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

en/volunteer.wml 544) Priority: <i>Medium</i>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 545) <br />
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

en/volunteer.wml 546) Effort Level: <i>High</i>
en/volunteer.wml 547) <br />
en/volunteer.wml 548) Skill Level: <i>High</i>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 549) <br />
en/volunteer.wml 550) Likely Mentors: <i>Mike Perry</i>
en/volunteer.wml 551) <br/>
en/volunteer.wml 552) 
en/volunteer.wml 553) Torbutton has a number of improvements that can be made in the post-1.2
en/volunteer.wml 554) timeframe. Most of these are documented as feature requests in the <a
en/volunteer.wml 555) href="https://bugs.torproject.org/flyspray/index.php?tasks=all&project=5">Torbutton
en/volunteer.wml 556) flyspray section</a>. Good examples include: stripping off node.exit on http
en/volunteer.wml 557) headers, more fine-grained control over formfill blocking, improved referrer
en/volunteer.wml 558) spoofing based on the domain of the site (a-la refspoof extension), tighter
en/volunteer.wml 559) integration with Vidalia for reporting Tor status, a New Identity button with
en/volunteer.wml 560) Tor integration and multiple identity management, and anything else you might
en/volunteer.wml 561) think of. 
en/volunteer.wml 562) 
en/volunteer.wml 563) <br />
en/volunteer.wml 564) 
en/volunteer.wml 565) This work would be independent coding in Javascript and the fun world of <a
en/volunteer.wml 566) href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">XUL</a>,
en/volunteer.wml 567) with not too much involvement in the Tor internals.
en/volunteer.wml 568) 
en/volunteer.wml 569) </li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 570) <li>
en/volunteer.wml 571) <b>Help track the overall Tor Network status</b>
en/volunteer.wml 572) Torstatus. Set up an automated system for tracking network health
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

en/volunteer.wml 573) over time, graphing it, etc. Better metrics for assessing network
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 574) health and growth. Make it short and simple. Unbloated and easy to audit.
en/volunteer.wml 575) </li>
en/volunteer.wml 576) 
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

en/volunteer.wml 577) <li>vidalia and upnp</li>
en/volunteer.wml 578) <li>nymble</li>
Roger Dingledine two idea sketches from phobos

Roger Dingledine authored 16 years ago

en/volunteer.wml 579) 
en/volunteer.wml 580) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 581) <b>Porting Polipo to Windows</b>
en/volunteer.wml 582) <br />
Roger Dingledine two idea sketches from phobos

Roger Dingledine authored 16 years ago

en/volunteer.wml 583) Help port <a
en/volunteer.wml 584) href="http://www.pps.jussieu.fr/~jch/software/polipo/">Polipo</a> to
en/volunteer.wml 585) Windows. 1) handle spaces in path names and understand the filesystem
en/volunteer.wml 586) namespace &mdash; namespace meaning where application data, personal data,
en/volunteer.wml 587) and program data typically reside in various versions of Windows. 2) the
en/volunteer.wml 588) ability to handle ipv6 communications. 3) the ability to asynchronously
en/volunteer.wml 589) query name servers, find the system nameservers, and manage netbios
en/volunteer.wml 590) and dns queries. 4) use native regex capabilities of Windows, rather
en/volunteer.wml 591) than using 3rd party GNU regex libraries. 5) manage events and buffers
en/volunteer.wml 592) natively (i.e. in Unix-like OSes, Polipo defaults to 25% of ram, in
en/volunteer.wml 593) Windows it's whatever the config specifies). 6) some sort of GUI config
en/volunteer.wml 594) and reporting tool, bonus if it has a systray icon with right clickable
en/volunteer.wml 595) menu options. Double bonus if it's cross-platform compatible.
en/volunteer.wml 596) </li>
en/volunteer.wml 597) 
en/volunteer.wml 598) <li>
Jacob Appelbaum Updating more of the header...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 599) <b>Make our diagrams beautiful and automated</b>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 600) <br />
Roger Dingledine two idea sketches from phobos

Roger Dingledine authored 16 years ago

en/volunteer.wml 601) a way to generate the website diagrams from source, so we can translate
en/volunteer.wml 602) them as utf-8 text rather than with gimp. (svg? or imagemagick?)
en/volunteer.wml 603) integrate this with a wml file so translations are easy and images are
en/volunteer.wml 604) generated in multiple languages at web publish
en/volunteer.wml 605) </li>
en/volunteer.wml 606) 
Jacob Appelbaum Updating more of the header...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 607) <li>
en/volunteer.wml 608) <b>Improve the LiveCD offerings for the Tor community</b>
en/volunteer.wml 609) <br />
en/volunteer.wml 610) How can we make the <a
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

en/volunteer.wml 611) href="http://anonymityanywhere.com/incognito/">Incognito LiveCD</a>
en/volunteer.wml 612) easier to maintain, improve, and document?</li>
en/volunteer.wml 613) <li>We need a distributed testing framework. We have unit tests,
en/volunteer.wml 614) but it would be great to have a script that starts up a Tor network, uses
en/volunteer.wml 615) it for a while, and verifies that at least parts of it are working.</li>
en/volunteer.wml 616) 
Jacob Appelbaum Updating more of the header...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 617) <li>
en/volunteer.wml 618) <b>Bring up new ideas!</b>
en/volunteer.wml 619) <br />
en/volunteer.wml 620) Don't like any of these? Look at the <a
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

en/volunteer.wml 621) href="<svnsandbox>doc/design-paper/roadmap-future.pdf">Tor development
Jacob Appelbaum Updating more of the header...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 622) roadmap</a> for more ideas.<br /><br />
en/volunteer.wml 623) Don't see your idea here? We probably need it anyway! Contact
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

en/volunteer.wml 624) us and find out.</li>
en/volunteer.wml 625) </ol>
en/volunteer.wml 626) 
Roger Dingledine put anchors into the volunt...

Roger Dingledine authored 18 years ago

en/volunteer.wml 627) <h2><a class="anchor" href="#Coding">Coding and Design</a></h2>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html   628) <ol>
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml 629) <li>Tor relays don't work well on Windows XP. On
Roger Dingledine link to the wiki gsoc blurb...

Roger Dingledine authored 17 years ago

en/volunteer.wml 630) Windows, Tor uses the standard <tt>select()</tt> system
Roger Dingledine add some more coding tasks...

Roger Dingledine authored 17 years ago

en/volunteer.wml 631) call, which uses space in the non-page pool. This means
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml 632) that a medium sized Tor relay will empty the non-page pool, <a
Nick Mathewson Change all wiki.noreply to...

Nick Mathewson authored 17 years ago

en/volunteer.wml 633) href="https://wiki.torproject.org/noreply/TheOnionRouter/WindowsBufferProblems">causing
Roger Dingledine link to the wiki gsoc blurb...

Roger Dingledine authored 17 years ago

en/volunteer.wml 634) havoc and system crashes</a>. We should probably be using overlapped IO
Roger Dingledine mention torflow as a fine t...

Roger Dingledine authored 17 years ago

en/volunteer.wml 635) instead. One solution would be to teach <a
en/volunteer.wml 636) href="http://www.monkey.org/~provos/libevent/">libevent</a> how to use
en/volunteer.wml 637) overlapped IO rather than select() on Windows, and then adapt Tor to
Roger Dingledine a lot of the coding items o...

Roger Dingledine authored 16 years ago

en/volunteer.wml 638) the new libevent interface. Christian King made a
en/volunteer.wml 639) <a href="https://tor-svn.freehaven.net/svn/libevent-urz/trunk/">good
en/volunteer.wml 640) start</a> on this last summer.</li>
Roger Dingledine ask santa for five new ponies

Roger Dingledine authored 17 years ago

en/volunteer.wml 641) <li>We need to actually start building our <a href="<page
en/volunteer.wml 642) documentation>#DesignDoc">blocking-resistance design</a>. This involves
Roger Dingledine link to the wiki gsoc blurb...

Roger Dingledine authored 17 years ago

en/volunteer.wml 643) fleshing out the design, modifying many different pieces of Tor, adapting
en/volunteer.wml 644) <a href="http://vidalia-project.net/">Vidalia</a> so it supports the
en/volunteer.wml 645) new features, and planning for deployment.</li>
Roger Dingledine ask santa for five new ponies

Roger Dingledine authored 17 years ago

en/volunteer.wml 646) <li>We need a flexible simulator framework for studying end-to-end
en/volunteer.wml 647) traffic confirmation attacks. Many researchers have whipped up ad hoc
en/volunteer.wml 648) simulators to support their intuition either that the attacks work
en/volunteer.wml 649) really well or that some defense works great. Can we build a simulator
en/volunteer.wml 650) that's clearly documented and open enough that everybody knows it's
en/volunteer.wml 651) giving a reasonable answer? This will spur a lot of new research.
en/volunteer.wml 652) See the entry <a href="#Research">below</a> on confirmation attacks for
en/volunteer.wml 653) details on the research side of this task &mdash; who knows, when it's
en/volunteer.wml 654) done maybe you can help write a paper or three also.</li>
Roger Dingledine add some more coding tasks...

Roger Dingledine authored 17 years ago

en/volunteer.wml 655) <li>Tor 0.1.1.x and later include support for hardware crypto accelerators
Roger Dingledine a lot of the coding items o...

Roger Dingledine authored 16 years ago

en/volunteer.wml 656) via OpenSSL. Nobody has ever tested it, though. Does somebody want to get
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html   657) a card and let us know how it goes?</li>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   658) <li>Perform a security analysis of Tor with <a
volunteer.html   659) href="http://en.wikipedia.org/wiki/Fuzz_testing">"fuzz"</a>. Determine
Roger Dingledine fix wordo

Roger Dingledine authored 19 years ago

en/volunteer.wml 660) if there are good fuzzing libraries out there for what we want. Win fame by
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   661) getting credit when we put out a new release because of you!</li>
Roger Dingledine and i would like a pony.

Roger Dingledine authored 19 years ago

volunteer.html   662) <li>Tor uses TCP for transport and TLS for link
volunteer.html   663) encryption. This is nice and simple, but it means all cells
volunteer.html   664) on a link are delayed when a single packet gets dropped, and
volunteer.html   665) it means we can only reasonably support TCP streams. We have a <a
Nick Mathewson Change all wiki.noreply to...

Nick Mathewson authored 17 years ago

en/volunteer.wml 666) href="https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#TransportIPnotTCP">list
Roger Dingledine revamp the list of voluntee...

Roger Dingledine authored 18 years ago

en/volunteer.wml 667) of reasons why we haven't shifted to UDP transport</a>, but it would
en/volunteer.wml 668) be great to see that list get shorter. We also have a proposed <a
Roger Dingledine ask santa for five new ponies

Roger Dingledine authored 17 years ago

en/volunteer.wml 669) href="<svnsandbox>doc/spec/proposals/100-tor-spec-udp.txt">specification
en/volunteer.wml 670) for Tor and
Roger Dingledine &mash; is not the same as &...

Roger Dingledine authored 18 years ago

en/volunteer.wml 671) UDP</a> &mdash; please let us know what's wrong with it.</li>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html   672) <li>We're not that far from having IPv6 support for destination addresses
volunteer.html   673) (at exit nodes). If you care strongly about IPv6, that's probably the
volunteer.html   674) first place to start.</li>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   675) </ol>
volunteer.html   676) 
Roger Dingledine put anchors into the volunt...

Roger Dingledine authored 18 years ago

en/volunteer.wml 677) <a id="Research"></a>
en/volunteer.wml 678) <h2><a class="anchor" href="#Research">Research</a></h2>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   679) <ol>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html   680) <li>The "website fingerprinting attack": make a list of a few
volunteer.html   681) hundred popular websites, download their pages, and make a set of
volunteer.html   682) "signatures" for each site. Then observe a Tor client's traffic. As
volunteer.html   683) you watch him receive data, you quickly approach a guess about which
volunteer.html   684) (if any) of those sites he is visiting. First, how effective is
volunteer.html   685) this attack on the deployed Tor codebase? Then start exploring
volunteer.html   686) defenses: for example, we could change Tor's cell size from 512
volunteer.html   687) bytes to 1024 bytes, we could employ padding techniques like <a
volunteer.html   688) href="http://freehaven.net/anonbib/#timing-fc2004">defensive dropping</a>,
volunteer.html   689) or we could add traffic delays. How much of an impact do these have,
volunteer.html   690) and how much usability impact (using some suitable metric) is there from
volunteer.html   691) a successful defense in each case?</li>
Roger Dingledine point to a paper that might...

Roger Dingledine authored 19 years ago

volunteer.html   692) <li>The "end-to-end traffic confirmation attack":
volunteer.html   693) by watching traffic at Alice and at Bob, we can <a
volunteer.html   694) href="http://freehaven.net/anonbib/#danezis:pet2004">compare
volunteer.html   695) traffic signatures and become convinced that we're watching the same
volunteer.html   696) stream</a>. So far Tor accepts this as a fact of life and assumes this
volunteer.html   697) attack is trivial in all cases. First of all, is that actually true? How
volunteer.html   698) much traffic of what sort of distribution is needed before the adversary
volunteer.html   699) is confident he has won? Are there scenarios (e.g. not transmitting much)
volunteer.html   700) that slow down the attack? Do some traffic padding or traffic shaping
volunteer.html   701) schemes work better than others?</li>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html   702) <li>The "routing zones attack": most of the literature thinks of
volunteer.html   703) the network path between Alice and her entry node (and between the
volunteer.html   704) exit node and Bob) as a single link on some graph. In practice,
volunteer.html   705) though, the path traverses many autonomous systems (ASes), and <a
volunteer.html   706) href="http://freehaven.net/anonbib/#feamster:wpes2004">it's not uncommon
volunteer.html   707) that the same AS appears on both the entry path and the exit path</a>.
volunteer.html   708) Unfortunately, to accurately predict whether a given Alice, entry,
volunteer.html   709) exit, Bob quad will be dangerous, we need to download an entire Internet
volunteer.html   710) routing zone and perform expensive operations on it. Are there practical
volunteer.html   711) approximations, such as avoiding IP addresses in the same /8 network?</li>
Roger Dingledine point to Stephen Rollyson's...

Roger Dingledine authored 17 years ago

en/volunteer.wml 712) <li>Other research questions regarding geographic diversity consider
en/volunteer.wml 713) the tradeoff between choosing an efficient circuit and choosing a random
Roger Dingledine gooder grammar

Roger Dingledine authored 17 years ago

en/volunteer.wml 714) circuit. Look at Stephen Rollyson's <a
Roger Dingledine point to Stephen Rollyson's...

Roger Dingledine authored 17 years ago

en/volunteer.wml 715) href="http://swiki.cc.gatech.edu:8080/ugResearch/uploads/7/ImprovingTor.pdf">position
en/volunteer.wml 716) paper</a> on how to discard particularly slow choices without hurting
Roger Dingledine gooder grammar

Roger Dingledine authored 17 years ago

en/volunteer.wml 717) anonymity "too much". This line of reasoning needs more work and more
en/volunteer.wml 718) thinking, but it looks very promising.</li>
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml 719) <li>Tor doesn't work very well when relays have asymmetric bandwidth
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   720) (e.g. cable or DSL). Because Tor has separate TCP connections between
volunteer.html   721) each hop, if the incoming bytes are arriving just fine and the outgoing
volunteer.html   722) bytes are all getting dropped on the floor, the TCP push-back mechanisms
volunteer.html   723) don't really transmit this information back to the incoming streams.
volunteer.html   724) Perhaps Tor should detect when it's dropping a lot of outgoing packets,
volunteer.html   725) and rate-limit incoming streams to regulate this itself? I can imagine
volunteer.html   726) a build-up and drop-off scheme where we pick a conservative rate-limit,
volunteer.html   727) slowly increase it until we get lost packets, back off, repeat. We
volunteer.html   728) need somebody who's good with networks to simulate this and help design
volunteer.html   729) solutions; and/or we need to understand the extent of the performance
volunteer.html   730) degradation, and use this as motivation to reconsider UDP transport.</li>
volunteer.html   731) <li>A related topic is congestion control. Is our
volunteer.html   732) current design sufficient once we have heavy use? Maybe
volunteer.html   733) we should experiment with variable-sized windows rather
volunteer.html   734) than fixed-size windows? That seemed to go well in an <a
volunteer.html   735) href="http://www.psc.edu/networking/projects/hpn-ssh/theory.php">ssh
volunteer.html   736) throughput experiment</a>. We'll need to measure and tweak, and maybe
volunteer.html   737) overhaul if the results are good.</li>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html   738) <li>To let dissidents in remote countries use Tor without being blocked
volunteer.html   739) at their country's firewall, we need a way to get tens of thousands of
volunteer.html   740) relays, not just a few hundred. We can imagine a Tor client GUI that
Roger Dingledine point to Stephen Rollyson's...

Roger Dingledine authored 17 years ago

en/volunteer.wml 741) has a "Tor for Freedom" button at the top that opens a port and relays a
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html   742) few KB/s of traffic into the Tor network. (A few KB/s shouldn't be too
volunteer.html   743) much hassle, and there are few abuse issues since they're not being exit
volunteer.html   744) nodes.) But how do we distribute a list of these volunteer clients to the
volunteer.html   745) good dissidents in an automated way that doesn't let the country-level
volunteer.html   746) firewalls intercept and enumerate them? Probably needs to work on a
Roger Dingledine point to Stephen Rollyson's...

Roger Dingledine authored 17 years ago

en/volunteer.wml 747) human-trust level. See our <a href="<page documentation>#DesignDoc">early
en/volunteer.wml 748) blocking-resistance design document</a> and our
en/volunteer.wml 749) <a
Nick Mathewson Change all wiki.noreply to...

Nick Mathewson authored 17 years ago

en/volunteer.wml 750) href="https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#BlockingResistance">FAQ
Roger Dingledine more detail on the communic...

Roger Dingledine authored 18 years ago

en/volunteer.wml 751) entry</a> on this, and then read the <a
en/volunteer.wml 752) href="http://freehaven.net/anonbib/topic.html#Communications_20Censorship">censorship
en/volunteer.wml 753) resistance section of anonbib</a>.</li>
Roger Dingledine one pony is not enough.

Roger Dingledine authored 19 years ago

volunteer.html   754) <li>Tor circuits are built one hop at a time, so in theory we have the
volunteer.html   755) ability to make some streams exit from the second hop, some from the
volunteer.html   756) third, and so on. This seems nice because it breaks up the set of exiting
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml 757) streams that a given relay can see. But if we want each stream to be safe,
Roger Dingledine one pony is not enough.

Roger Dingledine authored 19 years ago

volunteer.html   758) the "shortest" path should be at least 3 hops long by our current logic, so
volunteer.html   759) the rest will be even longer. We need to examine this performance / security
volunteer.html   760) tradeoff.</li>
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml 761) <li>It's not that hard to DoS Tor relays or directory authorities. Are client
Roger Dingledine one pony is not enough.

Roger Dingledine authored 19 years ago

volunteer.html   762) puzzles the right answer? What other practical approaches are there? Bonus
volunteer.html   763) if they're backward-compatible with the current Tor protocol.</li>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   764) </ol>
volunteer.html   765) 
Roger Dingledine un-list the installer todo...

Roger Dingledine authored 18 years ago

en/volunteer.wml 766) <a href="<page contact>">Let us know</a> if you've made progress on any
en/volunteer.wml 767) of these!
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   768) 
Peter Palfrader Move website to wml

Peter Palfrader authored 19 years ago

en/volunteer.wml 769)   </div><!-- #main -->
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   770) 
Peter Palfrader Move website to wml

Peter Palfrader authored 19 years ago

en/volunteer.wml 771) #include <foot.wmi>