Roger Dingledine commited on 2008-09-04 00:28:04
Zeige 1 geänderte Dateien mit 24 Einfügungen und 360 Löschungen.
those of you who want your items still on the volunteer page (that'd be great) should add them back.
... | ... |
@@ -97,73 +97,17 @@ Farsi translations, for the many Tor users in censored areas.</li> |
97 | 97 |
<h2><a class="anchor" href="#Projects">Good Coding Projects</a></h2> |
98 | 98 |
|
99 | 99 |
<p> |
100 |
-You may find some of these projects to be good <a href="<page |
|
101 |
-gsoc>">Google Summer of Code 2008</a> ideas. We have labelled each idea |
|
102 |
-with how useful it would be to the overall Tor project |
|
103 |
-(priority), how much work we expect it would be (effort level), how much |
|
104 |
-clue you should start with (skill level), and which of our <a href="<page |
|
105 |
-people>#Core">core developers</a> would be good mentors. There are plenty |
|
106 |
-of other good ideas to work on too — see for example the <a |
|
107 |
-href="<svnsandbox>doc/spec/proposals/">current proposals</a> list, or |
|
108 |
-just make up your own ideas. |
|
100 |
+Here is a list of ideas that were proposed for the <a href="<page gsoc>">Google Summer of Code 2008</a> |
|
101 |
+but have not been put into practice. Some of the <a href="<svnsandbox>doc/spec/proposals/">current proposals</a> |
|
102 |
+might also be short on developers. If you think you can help out, <a href="<page contact>"> let us know!</a> |
|
109 | 103 |
</p> |
110 | 104 |
|
111 | 105 |
<ol> |
112 | 106 |
|
113 |
-<li> |
|
114 |
-<b>Tor Exit Scanner improvements</b> |
|
115 |
-<br /> |
|
116 |
-Priority: <i>High</i> |
|
117 |
-<br /> |
|
118 |
-Effort Level: <i>High</i> |
|
119 |
-<br /> |
|
120 |
-Skill Level: <i>High</i> |
|
121 |
-<br /> |
|
122 |
-Likely Mentors: <i>Mike</i> |
|
123 |
-<br /> |
|
124 |
-Applications as of 1 Apr 00:00 UTC: <i>5</i> |
|
125 |
-<br /> |
|
126 |
-The Tor exit node scanner 'SoaT', part of the <a |
|
127 |
-href="<svnsandbox>../torflow/">Torflow project</a>, makes connections out |
|
128 |
-of each Tor exit node and compares the content it gets back with what it |
|
129 |
-"should" get back. The goal is to notice misconfigured, broken, and even |
|
130 |
-malicious exit relays. Alas, the code is |
|
131 |
-currently written in rather rickety perl and relies on MD5sums of |
|
132 |
-entire documents in order to determine if exit nodes are modifying |
|
133 |
-content. The problem with this is threefold: 1) Perl sucks at life. |
|
134 |
-2) The scanner can't verify pages that are dynamic, and attackers can |
|
135 |
-focus malicious content injection on only those dynamic pages. 3) |
|
136 |
-Pages change after a while (or based on GeoIP) and begin generating |
|
137 |
-false positives. |
|
138 |
-<br /> |
|
139 |
-Ideally, soat.pl would be reimplemented in a sane language with a |
|
140 |
-robust html parser library (since the rest of Torflow is in Python |
|
141 |
-that would be nice, but it is not required), and calculate signatures only for |
|
142 |
-tags and content likely to be targeted by a malicious attacker (script |
|
143 |
-tags, object links, images, css). It should also be robust in the face of |
|
144 |
-changes to content outside of Tor, and ultimately even GeoIP localized |
|
145 |
-content. |
|
146 |
-<br /> |
|
147 |
-This scanner would likely be run by the Directory Authorities and |
|
148 |
-report its results to the control port via the AuthDirBadExit config |
|
149 |
-setting. |
|
150 |
-<br /> |
|
151 |
-</li> |
|
152 |
- |
|
153 | 107 |
<li> |
154 | 108 |
<b>Tor Node Scanner improvements</b> |
155 | 109 |
<br /> |
156 |
-Priority: <i>High</i> |
|
157 |
-<br /> |
|
158 |
-Effort Level: <i>Medium to High</i> |
|
159 |
-<br /> |
|
160 |
-Skill Level: <i>Medium to High</i> |
|
161 |
-<br /> |
|
162 |
-Likely Mentors: <i>Mike</i> |
|
163 |
-<br /> |
|
164 |
-Applications as of 1 Apr 00:00 UTC: <i>1</i> |
|
165 |
-<br /> |
|
166 |
-Similar to the exit scanner (or perhaps even during exit scanning), |
|
110 |
+Similar to the SoaT exit scanner (or perhaps even during exit scanning), |
|
167 | 111 |
statistics can be gathered about the reliability of nodes. Nodes that |
168 | 112 |
fail too high a percentage of their circuits should not be given |
169 | 113 |
Guard status. Perhaps they should have their reported bandwidth |
... | ... |
@@ -190,14 +134,6 @@ currently does not exist and would need to be developed as well. |
190 | 134 |
<li> |
191 | 135 |
<b>Help track the overall Tor Network status</b> |
192 | 136 |
<br /> |
193 |
-Priority: <i>High</i> |
|
194 |
-<br /> |
|
195 |
-Effort Level: <i>Medium</i> |
|
196 |
-<br /> |
|
197 |
-Skill Level: <i>Medium</i> |
|
198 |
-<br /> |
|
199 |
-Likely Mentors: <i>Roger, Nick, Mike</i> |
|
200 |
-<br /> |
|
201 | 137 |
It would be great to set up an automated system for tracking network |
202 | 138 |
health over time, graphing it, etc. Part of this project would involve |
203 | 139 |
inventing better metrics for assessing network health and growth. Is the |
... | ... |
@@ -216,87 +152,9 @@ kept separate. Speaking of the Tor Status pages, take a look at Roger's |
216 | 152 |
Status wish list</a>. |
217 | 153 |
</li> |
218 | 154 |
|
219 |
-<li> |
|
220 |
-<b>Tor path selection improvements</b> |
|
221 |
-<br /> |
|
222 |
-Priority: <i>High</i> |
|
223 |
-<br /> |
|
224 |
-Effort Level: <i>Low to Medium</i> |
|
225 |
-<br /> |
|
226 |
-Skill Level: <i>High</i> |
|
227 |
-<br /> |
|
228 |
-Likely Mentors: <i>Roger, Nick, Mike</i> |
|
229 |
-<br /> |
|
230 |
-Applications as of 1 Apr 00:00 UTC: <i>3</i> |
|
231 |
-<br /> |
|
232 |
-Some simple improvements can be made to Tor's path selection to vastly |
|
233 |
-improve Tor speed. For instance, some of the (unofficial) <a |
|
234 |
-href="http://wiki.noreply.org/noreply/TheOnionRouter/FireFoxTorPerf">Tor |
|
235 |
-Performance Recommendations</a> on the wiki are to increase the number of |
|
236 |
-guards and decrease the CircuitBuildTimeout. Ideally, the client would |
|
237 |
-<a href="http://archives.seul.org/or/talk/Feb-2008/msg00012.html">learn |
|
238 |
-these values by gathering statistics on circuit construction |
|
239 |
-time</a> (and/or using values gained from Torflow), and set the timeouts |
|
240 |
-low enough such that some high percentile (75%, 90%, 1-stddev?) of |
|
241 |
-circuits succeed, yet extremely slow nodes are avoided. This would |
|
242 |
-involve some statistics gathering+basic research, and some changes to |
|
243 |
-Tor path selection code. |
|
244 |
-<br /> |
|
245 |
-In addition, to improve path security, some elements from the <a |
|
246 |
-href="http://www.torproject.org/svn/trunk/doc/spec/proposals/115-two-hop-paths.txt">Two |
|
247 |
-Hop Paths proposal</a> could be done as part of this (since it will |
|
248 |
-likely touch the same code anyways), regardless of the adoption of |
|
249 |
-that proposal. In particular, clients probably should avoid guards that |
|
250 |
-seem to fail an excessive percentage of their circuits through them, |
|
251 |
-and non-firewalled clients should issue a warning if they are only able |
|
252 |
-to connect to a limited set of guard nodes. See also |
|
253 |
-<a href="http://archives.seul.org/or/dev/Feb-2008/msg00003.html">this |
|
254 |
-or-dev post</a>. |
|
255 |
-</li> |
|
256 |
- |
|
257 |
-<li> |
|
258 |
-<b>Translation Wiki</b> |
|
259 |
-<br /> |
|
260 |
-Priority: <i>High</i> |
|
261 |
-<br /> |
|
262 |
-Effort Level: <i>Medium</i> |
|
263 |
-<br /> |
|
264 |
-Skill Level: <i>Medium</i> |
|
265 |
-<br /> |
|
266 |
-Likely Mentors: <i>Jacob</i> |
|
267 |
-<br /> |
|
268 |
-We need a way to edit and translate sections of the website. Currently |
|
269 |
-the website is made up of a bunch of <a href="<svnwebsite>en/">wml |
|
270 |
-files</a>, and <a href="<page translation>">translators</a> fetch these |
|
271 |
-wml files, translate them in an editor, and either send us the translation |
|
272 |
-or use svn to commit them back. The current "cost" of publication of |
|
273 |
-website changes is quite high even for English language users. For a |
|
274 |
-single word change or any type of |
|
275 |
-minor change, the page may never be corrected or translated. It would |
|
276 |
-be nice to have a wiki that was specifically geared towards translation |
|
277 |
-and would somehow track the upstream (English) versions to indicate when |
|
278 |
-a fresh translation is needed, like our current |
|
279 |
-<a href="<page translation-status>">translation status page</a>. This |
|
280 |
-seems mostly like a job for a wiki |
|
281 |
-integrator or wiki software author. Certainly the person would need to |
|
282 |
-be interested in human languages and translation. They should at least |
|
283 |
-be minimally familiar with what Tor is; but they would not have to interact |
|
284 |
-with the software, only the documentation and the website. |
|
285 |
-</li> |
|
286 |
- |
|
287 | 155 |
<li> |
288 | 156 |
<b>Better Debian/Ubuntu Packaging for Tor+Vidalia</b> |
289 | 157 |
<br /> |
290 |
-Priority: <i>High</i> |
|
291 |
-<br /> |
|
292 |
-Effort Level: <i>Medium</i> |
|
293 |
-<br /> |
|
294 |
-Skill Level: <i>Medium</i> |
|
295 |
-<br /> |
|
296 |
-Likely Mentors: <i>Peter, Matt</i> |
|
297 |
-<br /> |
|
298 |
-Applications as of 1 Apr 00:00 UTC: <i>1</i> |
|
299 |
-<br /> |
|
300 | 158 |
Vidalia currently doesn't play nicely on Debian and Ubuntu with the |
301 | 159 |
default Tor packages. The current Tor packages automatically start Tor |
302 | 160 |
as a daemon running as the debian-tor user and (sensibly) do not have a |
... | ... |
@@ -333,7 +191,7 @@ we've come up with is for Vidalia to write out a temporary torrc file |
333 | 191 |
and ask the user to manually move it to <code>/etc/tor/torrc</code>, |
334 | 192 |
but that's bad because users shouldn't have to mess with files directly. |
335 | 193 |
<br /> |
336 |
-A student undertaking this project should have prior knowledge of |
|
194 |
+A person undertaking this project should have prior knowledge of |
|
337 | 195 |
Debian package management and some C++ development experience. Previous |
338 | 196 |
experience with Qt is helpful, but not required. |
339 | 197 |
</li> |
... | ... |
@@ -341,14 +199,6 @@ experience with Qt is helpful, but not required. |
341 | 199 |
<li> |
342 | 200 |
<b>Improving Tor's ability to resist censorship</b> |
343 | 201 |
<br /> |
344 |
-Priority: <i>High</i> |
|
345 |
-<br /> |
|
346 |
-Effort Level: <i>High</i> |
|
347 |
-<br /> |
|
348 |
-Skill Level: <i>High</i> |
|
349 |
-<br /> |
|
350 |
-Likely Mentors: <i>Nick</i> |
|
351 |
-<br /> |
|
352 | 202 |
The Tor 0.2.0.x series makes <a |
353 | 203 |
href="<svnsandbox>doc/design-paper/blocking.html">significant |
354 | 204 |
improvements</a> in resisting national and organizational censorship. |
... | ... |
@@ -376,14 +226,6 @@ then trading off censorship resistance with usability and robustness. |
376 | 226 |
<li> |
377 | 227 |
<b>Tor/Polipo/Vidalia Auto-Update Framework</b> |
378 | 228 |
<br /> |
379 |
-Priority: <i>Medium</i> |
|
380 |
-<br /> |
|
381 |
-Effort Level: <i>High</i> |
|
382 |
-<br /> |
|
383 |
-Skill Level: <i>High</i> |
|
384 |
-<br /> |
|
385 |
-Likely Mentors: <i>Matt, Jacob</i> |
|
386 |
-<br /> |
|
387 | 229 |
We're in need of a good authenticated-update framework. |
388 | 230 |
Vidalia already has the ability to notice when the user is running an |
389 | 231 |
outdated or unrecommended version of Tor, using signed statements inside |
... | ... |
@@ -406,26 +248,18 @@ then discuss the design with other developers to assess any security |
406 | 248 |
issues. The student will then implement their framework (or integrate |
407 | 249 |
an existing one) and test it. |
408 | 250 |
<br /> |
409 |
-A student undertaking this project should have good C++ development |
|
410 |
-experience. Previous experience with Qt is helpful, but not required. The |
|
411 |
-student should also have a good understanding of common security |
|
251 |
+A person undertaking this project should have good C++ development |
|
252 |
+experience. Previous experience with Qt is helpful, but not required. One |
|
253 |
+should also have a good understanding of common security |
|
412 | 254 |
practices, such as package signature verification. Good writing ability |
413 | 255 |
is also important for this project, since a vital step of the project |
414 |
-will be producing a design document for others to review and discuss |
|
415 |
-with the student prior to implementation. |
|
256 |
+will be producing a design document to review and discuss |
|
257 |
+with others prior to implementation. |
|
416 | 258 |
</li> |
417 | 259 |
|
418 | 260 |
<li> |
419 | 261 |
<b>An Improved and More Usable Network Map in Vidalia</b> |
420 | 262 |
<br /> |
421 |
-Priority: <i>Medium</i> |
|
422 |
-<br /> |
|
423 |
-Effort Level: <i>Medium</i> |
|
424 |
-<br /> |
|
425 |
-Skill Level: <i>Medium to High</i> |
|
426 |
-<br /> |
|
427 |
-Likely Mentors: <i>Matt</i> |
|
428 |
-<br /> |
|
429 | 263 |
One of Vidalia's existing features is a network map that shows the user |
430 | 264 |
the approximate geographic location of relays in the Tor network and |
431 | 265 |
plots the paths the user's traffic takes as it is tunneled through the |
... | ... |
@@ -438,13 +272,13 @@ for users to click on a particular relay or a country containing one or |
438 | 272 |
more Tor exit relays and say, "I want my connections to foo.com to exit |
439 | 273 |
from here." |
440 | 274 |
<br /> |
441 |
-This project will first involve the student getting familiar with Vidalia |
|
442 |
-and the Marble widget's API. The student will then integrate the widget |
|
275 |
+This project will first involve getting familiar with Vidalia |
|
276 |
+and the Marble widget's API. One will then integrate the widget |
|
443 | 277 |
into Vidalia and customize Marble to be better suited for our application, |
444 | 278 |
such as making circuits clickable, storing cached map data in Vidalia's |
445 | 279 |
own data directory, and customizing some of the widget's dialogs. |
446 | 280 |
<br /> |
447 |
-A student undertaking this project should have good C++ development |
|
281 |
+A person undertaking this project should have good C++ development |
|
448 | 282 |
experience. Previous experience with Qt and CMake is helpful, but not |
449 | 283 |
required. |
450 | 284 |
</li> |
... | ... |
@@ -452,14 +286,6 @@ required. |
452 | 286 |
<li> |
453 | 287 |
<b>Tor Controller Status Event Interface</b> |
454 | 288 |
<br /> |
455 |
-Priority: <i>Medium</i> |
|
456 |
-<br /> |
|
457 |
-Effort Level: <i>Medium</i> |
|
458 |
-<br /> |
|
459 |
-Skill Level: <i>Medium</i> |
|
460 |
-<br /> |
|
461 |
-Likely Mentors: <i>Matt, Roger</i> |
|
462 |
-<br /> |
|
463 | 289 |
There are a number of status changes inside Tor of which the user may need |
464 | 290 |
to be informed. For example, if the user is trying to set up his Tor as a |
465 | 291 |
relay and Tor decides that its ports are not reachable from outside |
... | ... |
@@ -480,10 +306,10 @@ little badge on Vidalia's tray icon that alerts the user to new status |
480 | 306 |
events they should look at. Double-clicking the icon could bring up a |
481 | 307 |
dialog that summarizes recent status events in simple terms and maybe |
482 | 308 |
suggests a remedy for any negative events if they can be corrected by |
483 |
-the user. Of course, this is just an example and the student is free to |
|
309 |
+the user. Of course, this is just an example and one is free to |
|
484 | 310 |
suggest another approach. |
485 | 311 |
<br /> |
486 |
-A student undertaking this project should have good UI design and layout |
|
312 |
+A person undertaking this project should have good UI design and layout |
|
487 | 313 |
and some C++ development experience. Previous experience with Qt and |
488 | 314 |
Qt's Designer will be very helpful, but are not required. Some |
489 | 315 |
English writing ability will also be useful, since this project will |
... | ... |
@@ -496,16 +322,6 @@ design/Photoshop fu, since we might want/need some shiny new icons too. |
496 | 322 |
<b>Improvements on our active browser configuration tester</b> - |
497 | 323 |
<a href="https://check.torproject.org/">https://check.torproject.org/</a> |
498 | 324 |
<br /> |
499 |
-Priority: <i>Medium</i> |
|
500 |
-<br /> |
|
501 |
-Effort Level: <i>Low</i> |
|
502 |
-<br /> |
|
503 |
-Skill Level: <i>Low to Medium</i> |
|
504 |
-<br /> |
|
505 |
-Likely Mentors: <i>Jacob, Steven</i> |
|
506 |
-<br /> |
|
507 |
-Applications as of 1 Apr 00:00 UTC: <i>1</i> |
|
508 |
-<br /> |
|
509 | 325 |
We currently have a functional web page to detect if Tor is working. It |
510 | 326 |
has a few places where it falls short. It requires improvements with |
511 | 327 |
regard to default languages and functionality. It currently only responds |
... | ... |
@@ -529,14 +345,6 @@ href="<svnsandbox>doc/spec/proposals/131-verify-tor-usage.txt">proposal |
529 | 345 |
<b>Improvements on our DNS Exit List service</b> - |
530 | 346 |
<a href="http://exitlist.torproject.org/">http://exitlist.torproject.org/</a> |
531 | 347 |
<br /> |
532 |
-Priority: <i>Medium</i> |
|
533 |
-<br /> |
|
534 |
-Effort Level: <i>Low</i> |
|
535 |
-<br /> |
|
536 |
-Skill Level: <i>Low</i> |
|
537 |
-<br /> |
|
538 |
-Likely Mentors: <i>Jacob, Tup</i> |
|
539 |
-<br /> |
|
540 | 348 |
The <a href="http://p56soo2ibjkx23xo.onion/">exitlist software</a> |
541 | 349 |
is written by our fabulous anonymous |
542 | 350 |
contributer Tup. It's a DNS server written in Haskell that supports part of our <a |
... | ... |
@@ -557,16 +365,6 @@ torel-design.txt suggestions. |
557 | 365 |
<li> |
558 | 366 |
<b>Testing integration of Tor with web browsers for our end users</b> |
559 | 367 |
<br /> |
560 |
-Priority: <i>Medium</i> |
|
561 |
-<br /> |
|
562 |
-Effort Level: <i>Medium</i> |
|
563 |
-<br /> |
|
564 |
-Skill Level: <i>Medium</i> |
|
565 |
-<br /> |
|
566 |
-Likely Mentors: <i>Jacob, Mike, Greg</i> |
|
567 |
-<br /> |
|
568 |
-Applications as of 1 Apr 00:00 UTC: <i>1</i> |
|
569 |
-<br /> |
|
570 | 368 |
The Tor project currently lacks a solid test suite to ensure that a |
571 | 369 |
user has a properly and safely configured web browser. It should test for as |
572 | 370 |
many known issues as possible. It should attempt to decloak the |
... | ... |
@@ -575,29 +373,20 @@ kinds of issues are run by Greg Fleischer and HD Moore. Greg keeps a nice <a |
575 | 373 |
href="http://pseudo-flaw.net/tor/torbutton/">list of issues along |
576 | 374 |
with their proof of concept code, bug issues, etc</a>. HD Moore runs |
577 | 375 |
the <a href="http://metasploit.com/research/projects/decloak/">metasploit |
578 |
-decloak website</a>. A student interested in defending Tor could start |
|
376 |
+decloak website</a>. A person interested in defending Tor could start |
|
579 | 377 |
by collecting as many workable and known methods for decloaking a |
580 | 378 |
Tor user. (<a href="https://torcheck.xenobite.eu/">This page</a> may |
581 |
-be helpful as a start.) The student should be familiar with the common |
|
582 |
-pitfalls but |
|
379 |
+be helpful as a start.) One should be familiar with the common pitfalls but |
|
583 | 380 |
possibly have new methods in mind for implementing decloaking issues. The |
584 | 381 |
website should ensure that it tells a user what their problem is. It |
585 | 382 |
should help them to fix the problem or direct them to the proper support |
586 |
-channels. The student should be closely familiar with using Tor and how |
|
383 |
+channels. The person should also be closely familiar with using Tor and how |
|
587 | 384 |
to prevent Tor information leakage. |
588 | 385 |
</li> |
589 | 386 |
|
590 | 387 |
<li> |
591 | 388 |
<b>Libevent and Tor integration improvements</b> |
592 | 389 |
<br /> |
593 |
-Priority: <i>Medium</i> |
|
594 |
-<br /> |
|
595 |
-Effort Level: <i>High</i> |
|
596 |
-<br /> |
|
597 |
-Skill Level: <i>Medium to High</i> |
|
598 |
-<br /> |
|
599 |
-Likely Mentors: <i>Nick</i> |
|
600 |
-<br /> |
|
601 | 390 |
Tor should make better use of the more recent features of Niels |
602 | 391 |
Provos's <a href="http://monkey.org/~provos/libevent/">Libevent</a> |
603 | 392 |
library. Tor already uses Libevent for its low-level asynchronous IO |
... | ... |
@@ -614,14 +403,6 @@ Also tricky will be adding rate-limiting to Libevent. |
614 | 403 |
<li> |
615 | 404 |
<b>Tuneup Tor!</b> |
616 | 405 |
<br /> |
617 |
-Priority: <i>Medium</i> |
|
618 |
-<br /> |
|
619 |
-Effort Level: <i>Medium</i> |
|
620 |
-<br /> |
|
621 |
-Skill Level: <i>Medium to High</i> |
|
622 |
-<br /> |
|
623 |
-Likely Mentors: <i>Nick, Roger, Mike</i> |
|
624 |
-<br /> |
|
625 | 406 |
Right now, Tor relays measure and report their own bandwidth, and Tor |
626 | 407 |
clients choose which relays to use in part based on that bandwidth. |
627 | 408 |
This approach is vulnerable to |
... | ... |
@@ -634,7 +415,7 @@ Tor should possibly measure bandwidth in a more distributed way, perhaps |
634 | 415 |
as described in the |
635 | 416 |
<a href="http://freehaven.net/anonbib/author.html#snader08">"A Tune-up for |
636 | 417 |
Tor"</a> paper |
637 |
-by Snader and Borisov. A student could use current testing code to |
|
418 |
+by Snader and Borisov. One could use current testing code to |
|
638 | 419 |
double-check this paper's findings and verify the extent to which they |
639 | 420 |
dovetail with Tor as deployed in the wild, and determine good ways to |
640 | 421 |
incorporate them into their suggestions Tor network without adding too |
... | ... |
@@ -646,14 +427,6 @@ authorities. |
646 | 427 |
<li> |
647 | 428 |
<b>Improving the Tor QA process: Continuous Integration for Windows builds</b> |
648 | 429 |
<br /> |
649 |
-Priority: <i>High</i> |
|
650 |
-<br /> |
|
651 |
-Effort Level: <i>Medium</i> |
|
652 |
-<br /> |
|
653 |
-Skill Level: <i>Medium</i> |
|
654 |
-<br /> |
|
655 |
-Likely Mentors: <i>Jacob, Andrew</i> |
|
656 |
-<br /> |
|
657 | 430 |
It would be useful to have automated build processes for Windows and |
658 | 431 |
probably other platforms. The purpose of having a continuous integration |
659 | 432 |
build environment is to ensure that Windows isn't left behind for any of |
... | ... |
@@ -683,14 +456,6 @@ changes in performance on machines in different roles automatically. |
683 | 456 |
<li> |
684 | 457 |
<b>Improve our unit testing process</b> |
685 | 458 |
<br /> |
686 |
-Priority: <i>Medium</i> |
|
687 |
-<br /> |
|
688 |
-Effort Level: <i>Medium</i> |
|
689 |
-<br /> |
|
690 |
-Skill Level: <i>Medium</i> |
|
691 |
-<br /> |
|
692 |
-Likely Mentors: <i>Nick</i> |
|
693 |
-<br /> |
|
694 | 459 |
Tor needs to be far more tested. This is a multi-part effort. To start |
695 | 460 |
with, our unit test coverage should rise substantially, especially in |
696 | 461 |
the areas outside the utility functions. This will require significant |
... | ... |
@@ -710,16 +475,6 @@ changes in performance on machines in different roles automatically. |
710 | 475 |
<li> |
711 | 476 |
<b>Help revive an independent Tor client implementation</b> |
712 | 477 |
<br /> |
713 |
-Priority: <i>Medium</i> |
|
714 |
-<br /> |
|
715 |
-Effort Level: <i>High</i> |
|
716 |
-<br /> |
|
717 |
-Skill Level: <i>Medium to High</i> |
|
718 |
-<br /> |
|
719 |
-Likely Mentors: <i>Karsten, Nick</i> |
|
720 |
-<br /> |
|
721 |
-Applications as of 1 Apr 00::00 UTC: <i>4</i> |
|
722 |
-<br /> |
|
723 | 478 |
Reanimate one of the approaches to implement a Tor client in Java, |
724 | 479 |
e.g. the <a href="http://onioncoffee.sourceforge.net/">OnionCoffee |
725 | 480 |
project</a>, and make it run on <a |
... | ... |
@@ -730,59 +485,17 @@ protocol versions like the <a href="<svnsandbox>doc/spec/dir-spec.txt">v3 |
730 | 485 |
directory protocol</a>. Further, support for requesting or even |
731 | 486 |
providing Tor hidden services would be neat, but not required. |
732 | 487 |
<br /> |
733 |
-The student should be able to understand and write new Java code, including |
|
488 |
+A perspective developer should be able to understand and write new Java code, including |
|
734 | 489 |
a Java cryptography API. Being able to read C code would be helpful, |
735 |
-too. The student should be willing to read the existing documentation, |
|
490 |
+too. One should be willing to read the existing documentation, |
|
736 | 491 |
implement code based on it, and refine the documentation |
737 | 492 |
when things are underdocumented. This project is mostly about coding and |
738 | 493 |
to a small degree about design. |
739 | 494 |
</li> |
740 | 495 |
|
741 |
-<li> |
|
742 |
-<b>Automatic system tests and automatically starting private Tor networks</b> |
|
743 |
-<br /> |
|
744 |
-Priority: <i>Medium</i> |
|
745 |
-<br /> |
|
746 |
-Effort Level: <i>Medium</i> |
|
747 |
-<br /> |
|
748 |
-Skill Level: <i>Medium</i> |
|
749 |
-<br /> |
|
750 |
-Likely Mentors: <i>Karsten, Nick, Roger</i> |
|
751 |
-<br /> |
|
752 |
-Applications as of 1 Apr 00:00 UTC: <i>2</i> |
|
753 |
-<br /> |
|
754 |
-Write a tool that runs automatic system tests in addition |
|
755 |
-to the existing unit tests. The Java-based Tor simulator <a |
|
756 |
-href="https://svn.torproject.org/svn/puppetor/trunk/">PuppeTor</a> |
|
757 |
-might be a good start for starting up a private Tor network, using it |
|
758 |
-for a while, and verifying that at least parts of it are working. This |
|
759 |
-project requires to conceive a blueprint for performing system tests |
|
760 |
-of private Tor networks, before starting to code. Typical types of |
|
761 |
-tests range from performing single requests over the private network to |
|
762 |
-manipulating exchanged messages and see if nodes handle corrupt messages |
|
763 |
-appropriately. |
|
764 |
-<br /> |
|
765 |
-The student should be able to obtain a good understanding |
|
766 |
-of how Tor works and what problems and bugs could arise to design good |
|
767 |
-test cases. Understanding the existing Tor code structure and documentation is |
|
768 |
-vital. If PuppeTor is used, the student should also be able to understand |
|
769 |
-and possibly extend an existing Java application. This project is partly |
|
770 |
-about design and partly about coding. |
|
771 |
-</li> |
|
772 |
- |
|
773 | 496 |
<li> |
774 | 497 |
<b>Bring moniTor to life</b> |
775 | 498 |
<br /> |
776 |
-Priority: <i>Medium</i> |
|
777 |
-<br /> |
|
778 |
-Effort Level: <i>Medium</i> |
|
779 |
-<br /> |
|
780 |
-Skill Level: <i>Low to Medium</i> |
|
781 |
-<br /> |
|
782 |
-Likely Mentors: <i>Karsten, Jacob</i> |
|
783 |
-<br /> |
|
784 |
-Applications as of 1 Apr 00::00 UTC: <i>2</i> |
|
785 |
-<br /> |
|
786 | 499 |
Implement a <a href="http://www.ss64.com/bash/top.html">top-like</a> |
787 | 500 |
management tool for Tor relays. The purpose of such a tool would be |
788 | 501 |
to monitor a local Tor relay via its control port and include useful |
... | ... |
@@ -791,7 +504,7 @@ would dynamically update its content like top does for Linux processes. |
791 | 504 |
<a href="http://archives.seul.org/or/dev/Jan-2008/msg00005.html">This |
792 | 505 |
or-dev post</a> might be a good first read. |
793 | 506 |
<br /> |
794 |
-The student should be familiar |
|
507 |
+A person interested in this should be familiar |
|
795 | 508 |
with or willing to learn about administering a Tor relay and configuring |
796 | 509 |
it via its control port. As an initial prototype is written in Python, |
797 | 510 |
some knowledge about writing Python code would be helpful, too. This |
... | ... |
@@ -802,14 +515,6 @@ tool and designing its interface, and one part lots of coding. |
802 | 515 |
<li> |
803 | 516 |
<b>Torbutton improvements</b> |
804 | 517 |
<br /> |
805 |
-Priority: <i>Medium</i> |
|
806 |
-<br /> |
|
807 |
-Effort Level: <i>High</i> |
|
808 |
-<br /> |
|
809 |
-Skill Level: <i>High</i> |
|
810 |
-<br /> |
|
811 |
-Likely Mentors: <i>Mike</i> |
|
812 |
-<br/> |
|
813 | 518 |
Torbutton has a number of improvements that can be made in the post-1.2 |
814 | 519 |
timeframe. Most of these are documented as feature requests in the <a |
815 | 520 |
href="https://bugs.torproject.org/flyspray/index.php?tasks=all&project=5">Torbutton |
... | ... |
@@ -829,14 +534,6 @@ with not too much involvement in the Tor internals. |
829 | 534 |
<li> |
830 | 535 |
<b>Porting Polipo to Windows</b> |
831 | 536 |
<br /> |
832 |
-Priority: <i>Medium</i> |
|
833 |
-<br /> |
|
834 |
-Effort Level: <i>Medium</i> |
|
835 |
-<br /> |
|
836 |
-Skill Level: <i>Medium to High</i> |
|
837 |
-<br /> |
|
838 |
-Likely Mentors: <i>Andrew, Steven, Roger</i> |
|
839 |
-<br /> |
|
840 | 537 |
Help port <a |
841 | 538 |
href="http://www.pps.jussieu.fr/~jch/software/polipo/">Polipo</a> to |
842 | 539 |
Windows. Example topics to tackle include: |
... | ... |
@@ -856,34 +553,17 @@ menu options. Double bonus if it's cross-platform compatible. |
856 | 553 |
<li> |
857 | 554 |
<b>Make our diagrams beautiful and automated</b> |
858 | 555 |
<br /> |
859 |
-Priority: <i>Medium</i> |
|
860 |
-<br /> |
|
861 |
-Effort Level: <i>Low</i> |
|
862 |
-<br /> |
|
863 |
-Skill Level: <i>Low</i> |
|
864 |
-<br /> |
|
865 |
-Likely Mentors: <i>Andrew</i> |
|
866 |
-<br /> |
|
867 | 556 |
We need a way to generate the website diagrams (for example, the "How |
868 | 557 |
Tor Works" pictures on the <a href="<page overview>">overview page</a> |
869 | 558 |
from source, so we can translate them as UTF-8 text rather than edit |
870 | 559 |
them by hand with Gimp. We might want to |
871 | 560 |
integrate this as an wml file so translations are easy and images are |
872 |
-generated in multiple languages whenever we build the website. See the |
|
873 |
-"Translation Wiki" idea above. |
|
561 |
+generated in multiple languages whenever we build the website. |
|
874 | 562 |
</li> |
875 | 563 |
|
876 | 564 |
<li> |
877 | 565 |
<b>Improve the LiveCD offerings for the Tor community</b> |
878 | 566 |
<br /> |
879 |
-Priority: <i>Low</i> |
|
880 |
-<br /> |
|
881 |
-Effort Level: <i>Low</i> |
|
882 |
-<br /> |
|
883 |
-Skill Level: <i>Medium to High</i> |
|
884 |
-<br /> |
|
885 |
-Likely Mentors: <i>Anonym, Jacob, Roger</i> |
|
886 |
-<br /> |
|
887 | 567 |
How can we make the <a |
888 | 568 |
href="http://anonymityanywhere.com/incognito/">Incognito LiveCD</a> |
889 | 569 |
easier to maintain, improve, and document? |
... | ... |
@@ -892,14 +572,6 @@ easier to maintain, improve, and document? |
892 | 572 |
<li> |
893 | 573 |
<b>Rework and extend Blossom</b> |
894 | 574 |
<br /> |
895 |
-Priority: <i>Medium</i> |
|
896 |
-<br /> |
|
897 |
-Effort Level: <i>Medium to High</i> |
|
898 |
-<br /> |
|
899 |
-Skill Level: <i>Medium to High</i> |
|
900 |
-<br /> |
|
901 |
-Likely Mentors: <i>Goodell</i> |
|
902 |
-<br /> |
|
903 | 575 |
Rework and extend Blossom (a tool for monitoring and |
904 | 576 |
selecting appropriate Tor circuits based upon exit node requirements |
905 | 577 |
specified by the user) to gather data in a self-contained way, with |
... | ... |
@@ -924,14 +596,6 @@ the core of the Blossom effort. |
924 | 596 |
<li> |
925 | 597 |
<b>Improve Blossom: Allow users to qualitatively describe exit nodes they desire</b> |
926 | 598 |
<br /> |
927 |
-Priority: <i>Low</i> |
|
928 |
-<br /> |
|
929 |
-Effort Level: <i>Medium</i> |
|
930 |
-<br /> |
|
931 |
-Skill Level: <i>Medium</i> |
|
932 |
-<br /> |
|
933 |
-Likely Mentors: <i>Goodell</i> |
|
934 |
-<br /> |
|
935 | 599 |
Develop and implement a means of affording Blossom |
936 | 600 |
users the ability to qualitatively describe the exit node that they |
937 | 601 |
want. The Internet is an inconsistent place: some Tor exit nodes see |
... | ... |
@@ -964,7 +628,7 @@ roadmap</a> for more ideas. |
964 | 628 |
|
965 | 629 |
</ol> |
966 | 630 |
|
967 |
-<h2><a class="anchor" href="#Coding">Coding and Design</a></h2> |
|
631 |
+<h2><a class="anchor" href="#Coding">Other Coding and Design related ideas</a></h2> |
|
968 | 632 |
<ol> |
969 | 633 |
<li>Tor relays don't work well on Windows XP. On |
970 | 634 |
Windows, Tor uses the standard <tt>select()</tt> system |
971 | 635 |