cb4c78437c2cfef8c319c15f08ecfe1fc22f124e
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 start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml  94) 
en/volunteer.wml  95) <p>
en/volunteer.wml  96) You may find some of these projects to be good <a href="<page
en/volunteer.wml  97) gsoc>">Google Summer of Code 2008</a> ideas. We have labelled each idea
en/volunteer.wml  98) with how important it is to the overall Tor project to get this started
en/volunteer.wml  99) (priority), how much work we expect it would be (effort level), how much
en/volunteer.wml 100) clue you should start with (skill level), and which of our <a href="<page
en/volunteer.wml 101) people>#Core">core developers</a> would be good mentors.
en/volunteer.wml 102) </p>
en/volunteer.wml 103) 
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

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

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

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

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 109) Priority: <i>High</i>
en/volunteer.wml 110) <br />
en/volunteer.wml 111) Effort Level: <i>High</i>
en/volunteer.wml 112) <br />
Jacob Appelbaum Added skill rating

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 113) Skill Level: <i>High</i>
en/volunteer.wml 114) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 115) Likely Mentors: <i>Matt, Jacob</i>
Jacob Appelbaum Added a small number of imp...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 116) <br />
Jacob Appelbaum Typo fix during proof reading

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 117) We're in need of a good updating framework. 
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 118) Vidalia already has the ability to notice when the user is running an
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 119) outdated or unrecommended version of Tor, using signed statements inside
en/volunteer.wml 120) the Tor directory information. Currently, Vidalia simply pops
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 121) up a little message box that lets the user know they should manually
en/volunteer.wml 122) upgrade. The goal of this project would be to extend Vidalia with the
en/volunteer.wml 123) ability to also fetch and install the updated Tor software for the
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 124) user. We should do the fetches via Tor when possible, but also fall back
en/volunteer.wml 125) to direct fetches in a smart way. Time permitting, we would also like
en/volunteer.wml 126) to be able to update other
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 127) applications included in the bundled installers, such as Polipo and
en/volunteer.wml 128) Vidalia itself.
en/volunteer.wml 129) <br />
en/volunteer.wml 130) To complete this project, the student will first need to first investigate
en/volunteer.wml 131) the existing auto-update frameworks (e.g., Sparkle on OS X) to evaluate
en/volunteer.wml 132) their strengths, weaknesses, security properties, and ability to be
en/volunteer.wml 133) integrated into Vidalia. If none are found to be suitable, the student
en/volunteer.wml 134) will design their own auto-update framework, document the design, and
en/volunteer.wml 135) then discuss the design with other developers to assess any security
en/volunteer.wml 136) issues. The student will then implement their framework (or integrate
en/volunteer.wml 137) an existing one) and test it.
en/volunteer.wml 138) <br />
en/volunteer.wml 139) A student undertaking this project should have good C++ development
en/volunteer.wml 140) experience. Previous experience with Qt is helpful, but not required. The
en/volunteer.wml 141) student should also have a basic understanding of common security
en/volunteer.wml 142) practices, such as package signature verification. Good writing ability
en/volunteer.wml 143) is also important for this project, since a vital step of the project
en/volunteer.wml 144) will be producing a design document for others to review and discuss
en/volunteer.wml 145) with the student prior to implementation.
en/volunteer.wml 146) </li>
en/volunteer.wml 147) 
en/volunteer.wml 148) <li>
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

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

Roger Dingledine authored 16 years ago

en/volunteer.wml 150) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 151) Priority: <i>Medium</i>
en/volunteer.wml 152) <br />
en/volunteer.wml 153) Effort Level: <i>Medium</i>
en/volunteer.wml 154) <br />
en/volunteer.wml 155) Skill Level: <i>Medium to High</i>
en/volunteer.wml 156) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 157) Likely Mentors: <i>Matt</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 158) <br />
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 159) One of Vidalia's existing features is a network map that shows the user
en/volunteer.wml 160) the approximate geographic location of relays in the Tor network and
en/volunteer.wml 161) plots the paths the user's traffic takes as it is tunneled through the
en/volunteer.wml 162) Tor network. The map is currently not very interactive and has rather
en/volunteer.wml 163) poor graphics. Instead, we would like to leverage KDE's Marble widget
en/volunteer.wml 164) that gives us a better quality map and enables improved interactivity,
en/volunteer.wml 165) such as allowing the user to click on individual relays or circuits to
en/volunteer.wml 166) display additional information. We might also consider adding the ability
en/volunteer.wml 167) for users to click on a particular relay or a country containing one or
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 168) more Tor exit relays and say, "I want my connections to foo.com to exit
en/volunteer.wml 169) from here."
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 170) <br />
en/volunteer.wml 171) This project will first involve the student getting familiar with Vidalia
en/volunteer.wml 172) and the Marble widget's API. The student will then integrate the widget
en/volunteer.wml 173) into Vidalia and customize Marble to be better suited for our application,
en/volunteer.wml 174) such as making circuits clickable, storing cached map data in Vidalia's
en/volunteer.wml 175) own data directory, and customizing some of the widget's dialogs.
en/volunteer.wml 176) <br />
en/volunteer.wml 177) A student undertaking this project should have good C++ development
en/volunteer.wml 178) experience. Previous experience with Qt and CMake is helpful, but not
en/volunteer.wml 179) required.
en/volunteer.wml 180) </li>
en/volunteer.wml 181) 
en/volunteer.wml 182) <li>
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 183) <b>Better Debian Packaging for Tor+Vidalia</b>
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 184) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 185) Priority: <i>High</i>
en/volunteer.wml 186) <br />
en/volunteer.wml 187) Effort Level: <i>Medium</i>
en/volunteer.wml 188) <br />
en/volunteer.wml 189) Skill Level: <i>Medium</i>
en/volunteer.wml 190) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 191) Likely Mentors: <i>Peter, Matt</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 192) <br />
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 193) Vidalia currently doesn't play nicely on Debian and Ubuntu with the
en/volunteer.wml 194) default Tor packages. The current Tor packages automatically start Tor
en/volunteer.wml 195) as a daemon running as the debian-tor user and (sensibly) do not have a
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 196) <a href="<svnsandbox>doc/spec/control-spec.txt">ControlPort</a> defined
en/volunteer.wml 197) in the default torrc. Consequently, Vidalia will try
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 198) to start its own Tor process since it could not connect to the existing
en/volunteer.wml 199) Tor, and then Vidalia's Tor process will then exit with an error message
en/volunteer.wml 200) the user likely doesn't understand since Tor cannot bind its listening
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 201) ports &mdash; they're already in use by the original Tor daemon.
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 202) <br />
en/volunteer.wml 203) The current solution involves either telling the user to stop the
en/volunteer.wml 204) existing Tor daemon and let Vidalia start its own Tor process, or
en/volunteer.wml 205) explaining to the user how to set a control port and password in their
en/volunteer.wml 206) torrc. A better solution on Debian would be to use Tor's ControlSocket,
en/volunteer.wml 207) which allows Vidalia to talk to Tor via a Unix domain socket, and could
en/volunteer.wml 208) possibly be enabled by default in Tor's Debian packages. Vidalia can
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 209) then authenticate to Tor using filesystem-based (cookie) authentication
en/volunteer.wml 210) if the user running Vidalia is also in the debian-tor group.
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 211) <br />
en/volunteer.wml 212) This project will first involve adding support for Tor's ControlSocket
en/volunteer.wml 213) to Vidalia. The student will then develop and test Debian and Ubuntu
en/volunteer.wml 214) packages for Vidalia that conform to Debian's packaging standards and
en/volunteer.wml 215) making sure it works well with the existing Tor packages. We can also
en/volunteer.wml 216) set up an apt repository to host the new Vidalia packages.
en/volunteer.wml 217) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 218) The next challenge would be to find an intuitive usable way for Vidalia
en/volunteer.wml 219) to be able to change Tor's configuration (torrc) even though it is
en/volunteer.wml 220) located in <code>/etc/tor/torrc</code> and thus immutable. The best
en/volunteer.wml 221) idea we've come up with so far is to feed Tor a new configuration via
en/volunteer.wml 222) the ControlSocket when Vidalia starts, but that's bad because Tor starts
en/volunteer.wml 223) with a different configuration than the user wants. The second best idea
en/volunteer.wml 224) we've come up with is for Vidalia to write out a temporary torrc file
en/volunteer.wml 225) and ask the user to manually move it to <code>/etc/tor/torrc</code>,
en/volunteer.wml 226) but that's bad because users shouldn't have to mess with files directly.
en/volunteer.wml 227) <br />
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 228) A student undertaking this project should have prior knowledge of
en/volunteer.wml 229) Debian package management and some C++ development experience. Previous
en/volunteer.wml 230) experience with Qt is helpful, but not required.
en/volunteer.wml 231) </li>
en/volunteer.wml 232) 
en/volunteer.wml 233) <li>
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

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

Roger Dingledine authored 16 years ago

en/volunteer.wml 235) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 236) Priority: <i>Medium</i>
en/volunteer.wml 237) <br />
en/volunteer.wml 238) Effort Level: <i>Medium</i>
en/volunteer.wml 239) <br />
en/volunteer.wml 240) Skill Level: <i>Medium</i>
en/volunteer.wml 241) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 242) Likely Mentors: <i>Matt, Roger</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 243) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 244) There are a number of status changes inside Tor of which the user may need
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 245) to be informed. For example, if the user is trying to set up a Tor
en/volunteer.wml 246) relay and Tor decides the user's relay is not reachable from outside
en/volunteer.wml 247) the user's network, we should alert the user. Currently, all the user
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 248) gets is a couple log messages in Vidalia's 'message log' window, which they
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 249) likely never see since they don't receive a notification that something
en/volunteer.wml 250) has gone wrong. Even if the user does actually look at the message log,
en/volunteer.wml 251) most of the messages make little sense to the novice user.
en/volunteer.wml 252) <br />
en/volunteer.wml 253) Tor has the ability to inform Vidalia of many such status changes, and
en/volunteer.wml 254) we recently implemented support for a couple of these events. Still,
en/volunteer.wml 255) there are many more status events the user should be informed of and we
en/volunteer.wml 256) need a better UI for actually displaying them to the user.
en/volunteer.wml 257) <br />
en/volunteer.wml 258) The goal of this project then is to design and implement a UI for
en/volunteer.wml 259) displaying Tor status events to the user. For example, we might put a
en/volunteer.wml 260) little badge on Vidalia's tray icon that alerts the user to new status
en/volunteer.wml 261) events they should look at. Double-clicking the icon could bring up a
en/volunteer.wml 262) dialog that summarizes recent status events in simple terms and maybe
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 263) suggests a remedy for any negative events if they can be corrected by
Roger Dingledine and four projects from matt

Roger Dingledine authored 16 years ago

en/volunteer.wml 264) the user. Of course, this is just an example and the student is free to
en/volunteer.wml 265) suggest another approach.
en/volunteer.wml 266) <br />
en/volunteer.wml 267) A student undertaking this project should have good UI design and layout
en/volunteer.wml 268) experience and some C++ development experience. Previous experience
en/volunteer.wml 269) with Qt and Qt's Designer will be very helpful, but not required. Some
en/volunteer.wml 270) English writing ability will also be useful, since this project will
en/volunteer.wml 271) likely involve writing small amounts of help documentation that should
en/volunteer.wml 272) be understandable by non-technical users. Bonus points for some graphic
en/volunteer.wml 273) design/Photoshop fu, since we might want/need some shiny new icons too.
en/volunteer.wml 274) </li>
en/volunteer.wml 275) 
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

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

Roger Dingledine authored 16 years ago

en/volunteer.wml 278) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 279) Priority: <i>High</i>
en/volunteer.wml 280) <br />
en/volunteer.wml 281) Effort Level: <i>Medium</i>
en/volunteer.wml 282) <br />
en/volunteer.wml 283) Skill Level: <i>Medium</i>
en/volunteer.wml 284) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 285) Likely Mentors: <i>Jacob</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 286) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 287) We need a way to edit and translate sections of the website &mdash;
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 288) possibly resulting in a patch for the official svn tree. The current
en/volunteer.wml 289) "cost" of publication of website changes is quite high even for English
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 290) language users. They need to check out our template files, translate them,
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 291) and send us the translation. For a single word change or any type of
en/volunteer.wml 292) minor change, the page may never be corrected or translated.  It would
en/volunteer.wml 293) be nice to have a wiki that was specifically geared towards translation
en/volunteer.wml 294) and would somehow track the upstream (English) versions to indicate when
en/volunteer.wml 295) a fresh translation is needed. This seems mostly like a job for a wiki
en/volunteer.wml 296) integrator or wiki software author. Certainly the person would need to
en/volunteer.wml 297) be interested in human languages and translation. They should at least
en/volunteer.wml 298) be minimally familiar with what Tor is but would not have to interact
en/volunteer.wml 299) with the software, only the documentation on the website.
en/volunteer.wml 300) </li>
en/volunteer.wml 301) 
en/volunteer.wml 302) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 303) <b>Improvements on our active browser configuration tester</b> - 
en/volunteer.wml 304) <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 305) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 306) Priority: <i>Medium</i>
en/volunteer.wml 307) <br />
en/volunteer.wml 308) Effort Level: <i>Low</i>
en/volunteer.wml 309) <br />
en/volunteer.wml 310) Skill Level: <i>Low to Medium</i>
en/volunteer.wml 311) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 312) Likely Mentors: <i>Jacob</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 313) <br />
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 314) We currently have a functional web page to detect if Tor is working. It
en/volunteer.wml 315) is has a few places where it falls short. It requires improvements with
en/volunteer.wml 316) regard to default languages and functionality. It currently only responds
en/volunteer.wml 317) in English. In addition, it is a hack of a perl script that should have
en/volunteer.wml 318) never seen the light of day. It should probably be rewritten in python
en/volunteer.wml 319) with multi-lingual support in mind. It currently uses the Tor DNS exit
en/volunteer.wml 320) list and should continue to do so in the future. It may result in certain
en/volunteer.wml 321) false positives and these should be discovered, documented, and fixed
en/volunteer.wml 322) where possible. Anyone working on this project should be interested in
en/volunteer.wml 323) DNS, basic perl or preferably python programming skills and will have
en/volunteer.wml 324) to interact minimally with Tor to test their code.
en/volunteer.wml 325) </li>
en/volunteer.wml 326) 
en/volunteer.wml 327) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 328) <b>Improvements on our DNS Exit List service</b> - 
en/volunteer.wml 329) <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 330) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 331) Priority: <i>Medium</i>
en/volunteer.wml 332) <br />
en/volunteer.wml 333) Effort Level: <i>Low</i>
en/volunteer.wml 334) <br />
en/volunteer.wml 335) Skill Level: <i>Low</i>
en/volunteer.wml 336) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 337) Likely Mentors: <i>Jacob, Tup</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 338) <br />
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 339) 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 340) 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 341) href="https://www.torproject.org/svn/trunk/doc/contrib/torel-design.txt">exitlist
en/volunteer.wml 342) design document</a>. Currently, it's functional and it is used by
en/volunteer.wml 343) check.torproject.org and other users. The issues that are outstanding
en/volunteer.wml 344) are mostly aesthetic. This wonderful service could use a much better
en/volunteer.wml 345) website using the common Tor theme. It would be best served with better
en/volunteer.wml 346) documentation for common services that use an RBL. It could use more
en/volunteer.wml 347) publicity. A person working on this project should be interested in DNS,
en/volunteer.wml 348) basic RBL configuration for popular services, and writing documentation.
en/volunteer.wml 349) The person would require minimal Tor interaction &mdash; testing their
en/volunteer.wml 350) 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 351) 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 352) torel-design.txt suggestions.
en/volunteer.wml 353) </li>
en/volunteer.wml 354) 
en/volunteer.wml 355) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 356) <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 357) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 358) Priority: <i>Medium</i>
en/volunteer.wml 359) <br />
en/volunteer.wml 360) Effort Level: <i>Medium</i>
en/volunteer.wml 361) <br />
en/volunteer.wml 362) Skill Level: <i>Medium</i>
en/volunteer.wml 363) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 364) Likely Mentors: <i>Jacob, Mike</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 365) <br />
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 366) The Tor project currently lacks a solid test to ensure that a
en/volunteer.wml 367) user has a properly configured web browser. It should test for as
en/volunteer.wml 368) many known issues as possible. It should attempt to decloak the
en/volunteer.wml 369) user in any way possible.  Two current webpages that track these
en/volunteer.wml 370) kinds of issues are run by Greg and HD Moore. Greg keeps a nice <a
en/volunteer.wml 371) href="http://pseudo-flaw.net/tor/torbutton/">list of issues along
en/volunteer.wml 372) with their proof of concept code, bug issues, etc</a>. HD Moore runs
Nick Mathewson Fix url for metasploit decl...

Nick Mathewson authored 16 years ago

en/volunteer.wml 373) the <a href="http://metasploit.com/research/projects/decloak/">metasploit
Roger Dingledine four more items from jake

Roger Dingledine authored 16 years ago

en/volunteer.wml 374) decloak website</a>. A person interested in attacking Tor could start
en/volunteer.wml 375) by collecting as many workable and known methods for decloaking a
en/volunteer.wml 376) Tor user. The person should be familiar with the common pitfalls but
en/volunteer.wml 377) possibly have new methods in mind for implementing decloaking issues. The
en/volunteer.wml 378) website should ensure that it tells a user what their problem is. It
en/volunteer.wml 379) should help them to fix the problem or direct them to the proper support
en/volunteer.wml 380) channels. The person should be closely familiar with using Tor and how
en/volunteer.wml 381) to prevent Tor leakage.
en/volunteer.wml 382) </li>
en/volunteer.wml 383) 
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 385) <b>Improving our ability to be resistant to censorship</b>
en/volunteer.wml 386) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 387) Priority: <i>High</i>
en/volunteer.wml 388) <br />
en/volunteer.wml 389) Effort Level: <i>High</i>
en/volunteer.wml 390) <br />
en/volunteer.wml 391) Skill Level: <i>Medium to High</i>
en/volunteer.wml 392) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 393) Likely Mentors: <i>Roger</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 394) <br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 395) Tor needs even better censorship resistance mechanisms.  There are
en/volunteer.wml 396) several mechanisms that can help.  Tor should be able listen on multiple
en/volunteer.wml 397) addresses and ports, and allow clients to connect to all of them.
en/volunteer.wml 398) Tor should be able to appear like a webserver (HTTP or HTTPS) when
en/volunteer.wml 399) contacted by port-scanning tools.
en/volunteer.wml 400) </li>
en/volunteer.wml 401) 
en/volunteer.wml 402) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 403) <b>Libevent and Tor integration improvements</b>
en/volunteer.wml 404) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 405) Priority: <i>Medium</i>
en/volunteer.wml 406) <br />
en/volunteer.wml 407) Effort Level: <i>High</i>
en/volunteer.wml 408) <br />
en/volunteer.wml 409) Skill Level: <i>Medium to High</i>
en/volunteer.wml 410) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 411) Likely Mentors: <i>Nick</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 412) <br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 413) Tor should make better use of the more recent features of Niels Provos's
en/volunteer.wml 414) Libevent library.  Libevent already provides HTTP and socket buffers;
en/volunteer.wml 415) Tor's code for those could be replaced.  We'll need to improve libevent's
en/volunteer.wml 416) code as needed; particularly, to add good openssl support on top of
en/volunteer.wml 417) libevent's buffer abstraction.
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>Tuneup Tor!</b>
en/volunteer.wml 422) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 423) Priority: <i>Medium</i>
en/volunteer.wml 424) <br />
en/volunteer.wml 425) Effort Level: <i>Medium</i>
en/volunteer.wml 426) <br />
en/volunteer.wml 427) Skill Level: <i>Medium to High</i>
en/volunteer.wml 428) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 429) Likely Mentors: <i>Roger</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 430) <br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 441) <b>Improving the Tor QA process: Continuous Integration for Windows builds</b>
en/volunteer.wml 442) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 443) Priority: <i>High</i>
en/volunteer.wml 444) <br />
en/volunteer.wml 445) Effort Level: <i>Medium</i>
en/volunteer.wml 446) <br />
en/volunteer.wml 447) Skill Level: <i>Medium</i>
en/volunteer.wml 448) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 449) Likely Mentors: <i>Jacob, Andrew</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 450) <br />
Jacob Appelbaum Added buildbot suggestion f...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 451) It would be useful to have automated build processes for Windows and
en/volunteer.wml 452) probably other platforms. The purpose of having a continuous integration
en/volunteer.wml 453) build environment is to ensure that Windows isn't left behind for any of
en/volunteer.wml 454) the software projects used in the Tor project or its accompanying.<br />
en/volunteer.wml 455) Buildbot may be a good choice for this as it appears to support all of
en/volunteer.wml 456) the platforms Tor does. See the 
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 457) <a href="http://en.wikipedia.org/wiki/BuildBot">wikipedia entry for
Jacob Appelbaum Added buildbot suggestion f...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 458) buildbot</a>.<br />
en/volunteer.wml 459) There may be better options and the person undertaking this task should
en/volunteer.wml 460) evaluate other options. Any person working on this automatic build
en/volunteer.wml 461) process should have experience or be willing to learn how to build all
en/volunteer.wml 462) of the respective Tor related code bases from scratch. Furthermore, the
en/volunteer.wml 463) person should have some experience building software in Windows
en/volunteer.wml 464) environments as this is the target audience we want to ensure we do not
en/volunteer.wml 465) 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 466) probably only in the form of building, not authoring.<br />
en/volunteer.wml 467) Additionally, we need to automate our performance testing for all platforms.
en/volunteer.wml 468) We've got buildbot (except on Windows &mdash; as noted above) to automate 
en/volunteer.wml 469) our regular integration and compile testing already,
en/volunteer.wml 470) but we need to get our network simulation tests (as built in torflow)
en/volunteer.wml 471) updated for more recent versions of Tor, and designed to launch a test
en/volunteer.wml 472) network either on a single machine, or across several, so we can test
en/volunteer.wml 473) 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 474) </li>
en/volunteer.wml 475) 
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 477) <b>Improve our unit testing process</b>
en/volunteer.wml 478) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 479) Priority: <i>Medium</i>
en/volunteer.wml 480) <br />
en/volunteer.wml 481) Effort Level: <i>Medium</i>
en/volunteer.wml 482) <br />
en/volunteer.wml 483) Skill Level: <i>Medium</i>
en/volunteer.wml 484) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 485) Likely Mentors: <i>Nick</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 486) <br />
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 487) Tor needs to be far more tested.  This is a multi-part effort.  To start
en/volunteer.wml 488) with, our unit test coverage should rise substantially, especially in
en/volunteer.wml 489) the areas outside the utility functions.  This will require significant
en/volunteer.wml 490) refactoring of some parts of Tor, in order to dissociate as much logic
en/volunteer.wml 491) as possible from globals.<br />
en/volunteer.wml 492) 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 493) buildbot (except on Windows &mdash; see above) to automate our regular 
en/volunteer.wml 494) integration and compile testing already,
Roger Dingledine three more from nick. we're...

Roger Dingledine authored 16 years ago

en/volunteer.wml 495) but we need to get our network simulation tests (as built in torflow)
en/volunteer.wml 496) updated for more recent versions of Tor, and designed to launch a test
en/volunteer.wml 497) 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 498) 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 499) </li>
en/volunteer.wml 500) 
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 502) <b>Help revive the Java community around Tor</b>
en/volunteer.wml 503) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 504) Priority: <i>Medium</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 505) <br />
en/volunteer.wml 506) Effort Level: <i>High</i>
en/volunteer.wml 507) <br />
en/volunteer.wml 508) Skill Level: <i>Medium to High</i>
en/volunteer.wml 509) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 510) Likely Mentors: <i>Karsten</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 511) <br />
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 512) Reanimate one of the approaches to implement a Tor client in Java,
en/volunteer.wml 513) e.g. the <a href="http://onioncoffee.sourceforge.net/">OnionCoffee
en/volunteer.wml 514) project</a>, and make it run on <a
en/volunteer.wml 515) href="http://code.google.com/android/">Android</a>. The first step
en/volunteer.wml 516) would be to port the existing code and execute it in an Android
en/volunteer.wml 517) environment. Next, the code should be updated to support the newer Tor
en/volunteer.wml 518) protocol versions like the <a href="<svnsandbox>doc/spec/dir-spec.txt">v3
en/volunteer.wml 519) directory protocol</a>. Further, support for requesting or even
en/volunteer.wml 520) providing Tor hidden services would be neat, but not required. The
en/volunteer.wml 521) 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 522) 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 523) too. The student should be willing to read the existing documentation,
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 524) implement code based on it, and refine the documentation
en/volunteer.wml 525) when things are underdocumented. This project is mostly about coding and
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 526) to a small degree about design.
en/volunteer.wml 527) </li>
en/volunteer.wml 528) 
en/volunteer.wml 529) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 530) <b>Become the PuppeTor Master</b>
en/volunteer.wml 531) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 532) Priority: <i>Medium</i>
en/volunteer.wml 533) <br />
en/volunteer.wml 534) Effort Level: <i>Medium</i>
en/volunteer.wml 535) <br />
en/volunteer.wml 536) Skill Level: <i>Medium</i>
en/volunteer.wml 537) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 538) Likely Mentors: <i>Karsten, Roger</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 539) <br />
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 540) Write a tool that runs automatic system tests in addition
en/volunteer.wml 541) to the existing unit tests. The Java-based Tor simulator <a
en/volunteer.wml 542) href="https://tor-svn.freehaven.net/svn/puppetor/trunk/">PuppeTor</a>
en/volunteer.wml 543) might be a good start for starting up a private Tor network, using it
en/volunteer.wml 544) for a while, and verifying that at least parts of it are working. This
en/volunteer.wml 545) project requires to conceive a blueprint for performing system tests
en/volunteer.wml 546) of private Tor networks, before starting to code. Typical types of
en/volunteer.wml 547) tests range from performing single requests over the private network to
en/volunteer.wml 548) manipulating exchanged messages and see if nodes handle corrupt messages
en/volunteer.wml 549) appropriately. The student should be able to obtain a good understanding
en/volunteer.wml 550) of how Tor works and what problems and bugs could arise to design good
en/volunteer.wml 551) test cases. Understanding the existing Tor code and documentation is
en/volunteer.wml 552) vital. If PuppeTor is used, the student should also be able to understand
en/volunteer.wml 553) and possibly extend an existing Java application. This project is partly
en/volunteer.wml 554) about design and partly about coding.
en/volunteer.wml 555) </li>
en/volunteer.wml 556) 
en/volunteer.wml 557) <li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 558) <b>Bring moniTor to life</b>
en/volunteer.wml 559) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 560) Priority: <i>Medium</i>
en/volunteer.wml 561) <br />
en/volunteer.wml 562) Effort Level: <i>Medium</i>
en/volunteer.wml 563) <br />
en/volunteer.wml 564) Skill Level: <i>Low to Medium</i>
en/volunteer.wml 565) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 566) Likely Mentors: <i>Karsten, Jacob</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 567) <br />
Roger Dingledine three project ideas from ka...

Roger Dingledine authored 16 years ago

en/volunteer.wml 568) Implement a <a href="http://www.ss64.com/bash/top.html">top-like</a>
en/volunteer.wml 569) management tool for Tor relays. The purpose of such a tool would be
en/volunteer.wml 570) to monitor a local Tor relay via its control port and include useful
en/volunteer.wml 571) system information of the underlying machine. When running this tool, it
en/volunteer.wml 572) would dynamically update its content like top does for Linux processes.
en/volunteer.wml 573) <a href="http://archives.seul.org/or/dev/Jan-2008/msg00005.html">This
en/volunteer.wml 574) or-dev post</a> might be a good first read. The student should be familiar
en/volunteer.wml 575) with or willing to learn about administering a Tor relay and configuring
en/volunteer.wml 576) it via its control port. As an initial prototype is written in Python,
en/volunteer.wml 577) some knowledge about writing Python code would be helpful, too. This
en/volunteer.wml 578) project is for the one part about identifying requirements to such a
en/volunteer.wml 579) tool and designing its interface; but on the other part, the project
en/volunteer.wml 580) also requires a lot of coding.
en/volunteer.wml 581) </li>
en/volunteer.wml 582) 
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 583) <li>
Mike Perry Misc typo cleanups for Torb...

Mike Perry authored 16 years ago

en/volunteer.wml 584) <b>Tor Exit Scanner improvements</b>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 585) <br />
en/volunteer.wml 586) Priority: <i>High</i>
en/volunteer.wml 587) <br />
en/volunteer.wml 588) Effort Level: <i>High</i>
en/volunteer.wml 589) <br />
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

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

Mike Perry authored 16 years ago

en/volunteer.wml 592) Likely Mentors: <i>Mike Perry</i>
en/volunteer.wml 593) <br />
en/volunteer.wml 594) The Tor exit node scanner 'SoaT', part of the <a
en/volunteer.wml 595) href="https://www.torproject.org/svn/torflow/">Torflow project</a>, is
en/volunteer.wml 596) currently written in rather rickety perl and relies on MD5sums of
en/volunteer.wml 597) entire documents in order to determine if exit nodes are modifying
en/volunteer.wml 598) content. The problem with this is threefold: 1) Perl sucks at life.
en/volunteer.wml 599) 2) The scanner can't verify pages that are dynamic, and attackers can
en/volunteer.wml 600) focus malicious content injection on only those dynamic pages. 3)
en/volunteer.wml 601) Pages change after a while (or based on GeoIP) and begin generating
en/volunteer.wml 602) false positives.
en/volunteer.wml 603) <br />
en/volunteer.wml 604) Ideally, soat.pl would be reimplemented in a sane language with a
en/volunteer.wml 605) robust html parser library (since the rest of Torflow is in Python,
en/volunteer.wml 606) that would be nice, but not required), and calculate signatures only for
en/volunteer.wml 607) tags and content likely to be targeted by a malicious attacker (script
Mike Perry Misc typo cleanups for Torb...

Mike Perry authored 16 years ago

en/volunteer.wml 608) tags, object links, images, css). It should also be robust in the face of
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 609) changes to content outside of Tor, and ultimately even GeoIP localized
en/volunteer.wml 610) content.
en/volunteer.wml 611) <br />
Mike Perry Misc typo cleanups for Torb...

Mike Perry authored 16 years ago

en/volunteer.wml 612) This scanner would likely be run by the Directory Authorities and
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 613) report its results to the control port via the AuthDirBadExit config
en/volunteer.wml 614) setting.
en/volunteer.wml 615) <br />
en/volunteer.wml 616) </li>
en/volunteer.wml 617) <li>
Mike Perry Misc typo cleanups for Torb...

Mike Perry authored 16 years ago

en/volunteer.wml 618) <b>Tor Node Scanner improvements</b>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

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

Mike Perry authored 16 years ago

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

Mike Perry authored 16 years ago

en/volunteer.wml 621) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 622) Effort Level: <i>Medium to High</i>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 623) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 624) Skill Level: <i>Medium to High</i>
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

en/volunteer.wml 625) <br />
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 626) Likely Mentors: <i>Mike Perry</i>
en/volunteer.wml 627) <br />
en/volunteer.wml 628) Similar to the exit scanner (or perhaps even during exit scanning),
en/volunteer.wml 629) statistics can be gathered about the reliability of nodes. Nodes that
en/volunteer.wml 630) fail a certain percentage of their circuits should not be used for
en/volunteer.wml 631) Guard status, and perhaps should have their reported bandwidth
en/volunteer.wml 632) penalized by some ratio as well, or just get marked as Invalid. In
en/volunteer.wml 633) addition, nodes that exhibit a very low average stream capacity but
en/volunteer.wml 634) advertise a very high node bandwidth can also be marked as Invalid.
en/volunteer.wml 635) Much of this statistics gathering is already done, it just needs to be
en/volunteer.wml 636) transformed into something that can be reported to the Directory
en/volunteer.wml 637) Authorities to blacklist/penalize nodes in such a way that clients
en/volunteer.wml 638) will listen.
en/volunteer.wml 639) <br />
en/volunteer.wml 640) In addition, these same statistics can be gathered about the traffic
en/volunteer.wml 641) through a node. Events can be added to the <a
en/volunteer.wml 642) href="https://www.torproject.org/svn/torctl/doc/howto.txt">Tor Control
en/volunteer.wml 643) Protocol</a> to
en/volunteer.wml 644) report if a circuit extend through the node succeeds or fails, and
en/volunteer.wml 645) passive statistics can be gathered on both bandwidth and reliability
en/volunteer.wml 646) of other nodes via a node-based monitor using these events. Such a
Mike Perry Misc typo cleanups for Torb...

Mike Perry authored 16 years ago

en/volunteer.wml 647) scanner would also report information on oddly-behaving nodes to
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 648) the Directory Authorities, but a communication channel for this
en/volunteer.wml 649) currently does not exist and would need to be developed as well.
en/volunteer.wml 650) </li>
en/volunteer.wml 651) <li>
en/volunteer.wml 652) <b>Tor path selection improvements</b>
en/volunteer.wml 653) <br />
en/volunteer.wml 654) Priority: <i>High</i>
en/volunteer.wml 655) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 656) Effort Level: <i>Low to Medium</i>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

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

Mike Perry authored 16 years ago

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

Mike Perry authored 16 years ago

en/volunteer.wml 661) <br />
en/volunteer.wml 662) Some simple improvements can be made to Tor's path selection to vastly
en/volunteer.wml 663) improve Tor speed. For instance, some of the (unofficial) <a
en/volunteer.wml 664) href="http://wiki.noreply.org/noreply/TheOnionRouter/FireFoxTorPerf">Tor
en/volunteer.wml 665) Performance Recommendations</a> on the wiki are to increase the number of
en/volunteer.wml 666) guards and decrease the CircuitBuildTimeout. Ideally, the client would
en/volunteer.wml 667) learn these values by gathering statistics on circuit construction
en/volunteer.wml 668) time (and/or using values gained from Torflow), and set the timeouts
en/volunteer.wml 669) low enough such that some high percentile (75%, 90%, 1-stddev?) of
en/volunteer.wml 670) circuits succeed, yet extremely slow nodes are avoided. This would
en/volunteer.wml 671) involve some statistics gathering+basic research, and some changes to 
en/volunteer.wml 672) Tor path selection code.
en/volunteer.wml 673) <br />
en/volunteer.wml 674) In addition, to improve path security, some elements from the <a
en/volunteer.wml 675) href="http://www.torproject.org/svn/trunk/doc/spec/proposals/115-two-hop-paths.txt">Two
en/volunteer.wml 676) Hop Paths proposal</a> could be done as part of this (since it will
en/volunteer.wml 677) likely touch the same code anyways), regardless of the adoption of
Mike Perry Misc typo cleanups for Torb...

Mike Perry authored 16 years ago

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

Mike Perry authored 16 years ago

en/volunteer.wml 679) fail an excessive percentage of their circuits through them, and non-bridged
Mike Perry Misc typo cleanups for Torb...

Mike Perry authored 16 years ago

en/volunteer.wml 680) clients should issue a warn if they are only able to connect to a limited set
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 681) of guard nodes.
en/volunteer.wml 682) </li>
en/volunteer.wml 683) <li>
en/volunteer.wml 684) <b>Torbutton improvements</b>
en/volunteer.wml 685) <br />
Mike Perry Add skill levels. Update pr...

Mike Perry authored 16 years ago

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

Mike Perry authored 16 years ago

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

Mike Perry authored 16 years ago

en/volunteer.wml 688) Effort Level: <i>High</i>
en/volunteer.wml 689) <br />
en/volunteer.wml 690) Skill Level: <i>High</i>
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 691) <br />
en/volunteer.wml 692) Likely Mentors: <i>Mike Perry</i>
en/volunteer.wml 693) <br/>
en/volunteer.wml 694) 
en/volunteer.wml 695) Torbutton has a number of improvements that can be made in the post-1.2
en/volunteer.wml 696) timeframe. Most of these are documented as feature requests in the <a
en/volunteer.wml 697) href="https://bugs.torproject.org/flyspray/index.php?tasks=all&project=5">Torbutton
en/volunteer.wml 698) flyspray section</a>. Good examples include: stripping off node.exit on http
en/volunteer.wml 699) headers, more fine-grained control over formfill blocking, improved referrer
Mike Perry Misc typo cleanups for Torb...

Mike Perry authored 16 years ago

en/volunteer.wml 700) spoofing based on the domain of the site (a-la <a
en/volunteer.wml 701) href="http://addons.mozilla.org/firefox/addon/4513">refspoof extension</a>),
en/volunteer.wml 702) tighter integration with Vidalia for reporting Tor status, a New Identity
en/volunteer.wml 703) button with Tor integration and multiple identity management, and anything
en/volunteer.wml 704) else you might think of. 
Mike Perry Add Torflow+Torbutton proje...

Mike Perry authored 16 years ago

en/volunteer.wml 705) 
en/volunteer.wml 706) <br />
en/volunteer.wml 707) 
en/volunteer.wml 708) This work would be independent coding in Javascript and the fun world of <a
en/volunteer.wml 709) href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">XUL</a>,
en/volunteer.wml 710) with not too much involvement in the Tor internals.
en/volunteer.wml 711) 
en/volunteer.wml 712) </li>
Jacob Appelbaum Some incremental updates to...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 713) <li>
en/volunteer.wml 714) <b>Help track the overall Tor Network status</b>
en/volunteer.wml 715) 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 716) 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 717) health and growth. Make it short and simple. Unbloated and easy to audit.
en/volunteer.wml 718) </li>
en/volunteer.wml 719) 
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

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

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 724) <b>Porting Polipo to Windows</b>
en/volunteer.wml 725) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 726) Priority: <i>High</i>
en/volunteer.wml 727) <br />
en/volunteer.wml 728) Effort Level: <i>High</i>
en/volunteer.wml 729) <br />
en/volunteer.wml 730) Skill Level: <i>Medium to High</i>
en/volunteer.wml 731) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 732) Likely Mentors: <i>Steven, Roger</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

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

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 751) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 752) Priority: <i>High</i>
en/volunteer.wml 753) <br />
en/volunteer.wml 754) Effort Level: <i>Low</i>
en/volunteer.wml 755) <br />
en/volunteer.wml 756) Skill Level: <i>Low</i>
en/volunteer.wml 757) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 758) Likely Mentors: <i>Andrew</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

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

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 766) <li>
en/volunteer.wml 767) <b>Improve the LiveCD offerings for the Tor community</b>
en/volunteer.wml 768) <br />
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 769) Priority: <i>Low</i>
en/volunteer.wml 770) <br />
en/volunteer.wml 771) Effort Level: <i>Low</i>
en/volunteer.wml 772) <br />
en/volunteer.wml 773) Skill Level: <i>Medium to High</i>
en/volunteer.wml 774) <br />
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 775) Likely Mentors: <i>Anonym, Jacob, Roger</i>
Jacob Appelbaum Added priorty, skill/effort...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 776) <br />
Jacob Appelbaum Updating more of the header...

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 777) How can we make the <a
Roger Dingledine make a new summer projects...

Roger Dingledine authored 16 years ago

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

Jacob Appelbaum authored 16 years ago

en/volunteer.wml 784) <li>
en/volunteer.wml 785) <b>Bring up new ideas!</b>
en/volunteer.wml 786) <br />
en/volunteer.wml 787) 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 788) 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 789) roadmap</a> for more ideas.<br /><br />
en/volunteer.wml 790) 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 791) us and find out.</li>
en/volunteer.wml 792) </ol>
en/volunteer.wml 793) 
Roger Dingledine put anchors into the volunt...

Roger Dingledine authored 18 years ago

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

Roger Dingledine authored 19 years ago

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

Roger Dingledine authored 17 years ago

en/volunteer.wml 796) <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 797) 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 798) 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 799) 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 800) 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 801) 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 802) instead. One solution would be to teach <a
en/volunteer.wml 803) href="http://www.monkey.org/~provos/libevent/">libevent</a> how to use
en/volunteer.wml 804) 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 805) the new libevent interface. Christian King made a
en/volunteer.wml 806) <a href="https://tor-svn.freehaven.net/svn/libevent-urz/trunk/">good
en/volunteer.wml 807) start</a> on this last summer.</li>
Roger Dingledine ask santa for five new ponies

Roger Dingledine authored 17 years ago

en/volunteer.wml 808) <li>We need to actually start building our <a href="<page
en/volunteer.wml 809) 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 810) fleshing out the design, modifying many different pieces of Tor, adapting
en/volunteer.wml 811) <a href="http://vidalia-project.net/">Vidalia</a> so it supports the
en/volunteer.wml 812) new features, and planning for deployment.</li>
Roger Dingledine ask santa for five new ponies

Roger Dingledine authored 17 years ago

en/volunteer.wml 813) <li>We need a flexible simulator framework for studying end-to-end
en/volunteer.wml 814) traffic confirmation attacks. Many researchers have whipped up ad hoc
en/volunteer.wml 815) simulators to support their intuition either that the attacks work
en/volunteer.wml 816) really well or that some defense works great. Can we build a simulator
en/volunteer.wml 817) that's clearly documented and open enough that everybody knows it's
en/volunteer.wml 818) giving a reasonable answer? This will spur a lot of new research.
en/volunteer.wml 819) See the entry <a href="#Research">below</a> on confirmation attacks for
en/volunteer.wml 820) details on the research side of this task &mdash; who knows, when it's
en/volunteer.wml 821) 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 822) <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 823) 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   824) a card and let us know how it goes?</li>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

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

Roger Dingledine authored 19 years ago

en/volunteer.wml 827) 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   828) 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   829) <li>Tor uses TCP for transport and TLS for link
volunteer.html   830) encryption. This is nice and simple, but it means all cells
volunteer.html   831) on a link are delayed when a single packet gets dropped, and
volunteer.html   832) 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 833) 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 834) of reasons why we haven't shifted to UDP transport</a>, but it would
en/volunteer.wml 835) 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 836) href="<svnsandbox>doc/spec/proposals/100-tor-spec-udp.txt">specification
en/volunteer.wml 837) for Tor and
Roger Dingledine &mash; is not the same as &...

Roger Dingledine authored 18 years ago

en/volunteer.wml 838) 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   839) <li>We're not that far from having IPv6 support for destination addresses
volunteer.html   840) (at exit nodes). If you care strongly about IPv6, that's probably the
volunteer.html   841) first place to start.</li>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   842) </ol>
volunteer.html   843) 
Roger Dingledine put anchors into the volunt...

Roger Dingledine authored 18 years ago

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

Roger Dingledine authored 19 years ago

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

Roger Dingledine authored 19 years ago

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

Roger Dingledine authored 19 years ago

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

Roger Dingledine authored 19 years ago

volunteer.html   869) <li>The "routing zones attack": most of the literature thinks of
volunteer.html   870) the network path between Alice and her entry node (and between the
volunteer.html   871) exit node and Bob) as a single link on some graph. In practice,
volunteer.html   872) though, the path traverses many autonomous systems (ASes), and <a
volunteer.html   873) href="http://freehaven.net/anonbib/#feamster:wpes2004">it's not uncommon
volunteer.html   874) that the same AS appears on both the entry path and the exit path</a>.
volunteer.html   875) Unfortunately, to accurately predict whether a given Alice, entry,
volunteer.html   876) exit, Bob quad will be dangerous, we need to download an entire Internet
volunteer.html   877) routing zone and perform expensive operations on it. Are there practical
volunteer.html   878) 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 879) <li>Other research questions regarding geographic diversity consider
en/volunteer.wml 880) the tradeoff between choosing an efficient circuit and choosing a random
Roger Dingledine gooder grammar

Roger Dingledine authored 17 years ago

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

Roger Dingledine authored 17 years ago

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

Roger Dingledine authored 17 years ago

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

Roger Dingledine authored 17 years ago

en/volunteer.wml 886) <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   887) (e.g. cable or DSL). Because Tor has separate TCP connections between
volunteer.html   888) each hop, if the incoming bytes are arriving just fine and the outgoing
volunteer.html   889) bytes are all getting dropped on the floor, the TCP push-back mechanisms
volunteer.html   890) don't really transmit this information back to the incoming streams.
volunteer.html   891) Perhaps Tor should detect when it's dropping a lot of outgoing packets,
volunteer.html   892) and rate-limit incoming streams to regulate this itself? I can imagine
volunteer.html   893) a build-up and drop-off scheme where we pick a conservative rate-limit,
volunteer.html   894) slowly increase it until we get lost packets, back off, repeat. We
volunteer.html   895) need somebody who's good with networks to simulate this and help design
volunteer.html   896) solutions; and/or we need to understand the extent of the performance
volunteer.html   897) degradation, and use this as motivation to reconsider UDP transport.</li>
volunteer.html   898) <li>A related topic is congestion control. Is our
volunteer.html   899) current design sufficient once we have heavy use? Maybe
volunteer.html   900) we should experiment with variable-sized windows rather
volunteer.html   901) than fixed-size windows? That seemed to go well in an <a
volunteer.html   902) href="http://www.psc.edu/networking/projects/hpn-ssh/theory.php">ssh
volunteer.html   903) throughput experiment</a>. We'll need to measure and tweak, and maybe
volunteer.html   904) overhaul if the results are good.</li>
Roger Dingledine revamp again

Roger Dingledine authored 19 years ago

volunteer.html   905) <li>To let dissidents in remote countries use Tor without being blocked
volunteer.html   906) at their country's firewall, we need a way to get tens of thousands of
volunteer.html   907) 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 908) 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   909) few KB/s of traffic into the Tor network. (A few KB/s shouldn't be too
volunteer.html   910) much hassle, and there are few abuse issues since they're not being exit
volunteer.html   911) nodes.) But how do we distribute a list of these volunteer clients to the
volunteer.html   912) good dissidents in an automated way that doesn't let the country-level
volunteer.html   913) 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 914) human-trust level. See our <a href="<page documentation>#DesignDoc">early
en/volunteer.wml 915) blocking-resistance design document</a> and our
en/volunteer.wml 916) <a
Nick Mathewson Change all wiki.noreply to...

Nick Mathewson authored 17 years ago

en/volunteer.wml 917) 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 918) entry</a> on this, and then read the <a
en/volunteer.wml 919) href="http://freehaven.net/anonbib/topic.html#Communications_20Censorship">censorship
en/volunteer.wml 920) resistance section of anonbib</a>.</li>
Roger Dingledine one pony is not enough.

Roger Dingledine authored 19 years ago

volunteer.html   921) <li>Tor circuits are built one hop at a time, so in theory we have the
volunteer.html   922) ability to make some streams exit from the second hop, some from the
volunteer.html   923) 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 924) 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   925) the "shortest" path should be at least 3 hops long by our current logic, so
volunteer.html   926) the rest will be even longer. We need to examine this performance / security
volunteer.html   927) tradeoff.</li>
Roger Dingledine continue the great relay te...

Roger Dingledine authored 17 years ago

en/volunteer.wml 928) <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   929) puzzles the right answer? What other practical approaches are there? Bonus
volunteer.html   930) 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   931) </ol>
volunteer.html   932) 
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 933) <p>
Roger Dingledine un-list the installer todo...

Roger Dingledine authored 18 years ago

en/volunteer.wml 934) <a href="<page contact>">Let us know</a> if you've made progress on any
en/volunteer.wml 935) of these!
Roger Dingledine start to polish the ideas list

Roger Dingledine authored 16 years ago

en/volunteer.wml 936) </p>
Roger Dingledine revamp the volunteer page....

Roger Dingledine authored 19 years ago

volunteer.html   937) 
Peter Palfrader Move website to wml

Peter Palfrader authored 19 years ago

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

Roger Dingledine authored 19 years ago

volunteer.html   939) 
Peter Palfrader Move website to wml

Peter Palfrader authored 19 years ago

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