Damian Johnson commited on 2011-02-09 06:03:20
Zeige 1 geänderte Dateien mit 142 Einfügungen und 115 Löschungen.
Few of the simple changes discussed on -assistants. - Formatting Fix: The starting entries properly used paragraph tags, but the later were just text with breaks. The result was that all the entries ran together (no spacing between the ideas). - Moving the Vidalia projects to the bottom since we're pretty shaky about if we have a mentor for them. It sounds like Tomás would rather be a backup mentor, and no one has stepped forward to be the primary. :( - Dropping the JTor project since we don't have a mentor for it. It's currently just commented out in case the project gets rekindled. I'll include JTor in the projects table I add later so potential volunteers are aware of it. - Minor fix: Replacing Weasel with Peter as a mentor for one of the projects.
... | ... |
@@ -180,46 +180,6 @@ meetings around the world.</li> |
180 | 180 |
robustness.</p> |
181 | 181 |
</li> |
182 | 182 |
|
183 |
- <li> |
|
184 |
- <b>Tor Controller Status Event Interface for Vidalia</b> |
|
185 |
- <br> |
|
186 |
- Priority: <i>Medium</i> |
|
187 |
- <br> |
|
188 |
- Effort Level: <i>Medium</i> |
|
189 |
- <br> |
|
190 |
- Skill Level: <i>Low to Medium</i> |
|
191 |
- <br> |
|
192 |
- Likely Mentors: <i>Matt</i> |
|
193 |
- <p>There are a number of status changes inside Tor of which the user may need |
|
194 |
- to be informed. For example, if the user is trying to set up his Tor as a |
|
195 |
- relay and Tor decides that its ports are not reachable from outside |
|
196 |
- the user's network, we should alert the user. Currently, all the user |
|
197 |
- gets is a couple of log messages in Vidalia's 'message log' window, which they |
|
198 |
- likely never see since they don't receive a notification that something |
|
199 |
- has gone wrong. Even if the user does actually look at the message log, |
|
200 |
- most of the messages make little sense to the novice user.</p> |
|
201 |
- <p>Tor has the ability to inform Vidalia of many such status |
|
202 |
- changes, and we recently implemented support for a couple of these |
|
203 |
- events. Still, there are many more status events which the user should |
|
204 |
- be informed of, and we need a better UI for actually displaying them |
|
205 |
- to the user.</p> |
|
206 |
- <p>The goal of this project then is to design and implement a UI for |
|
207 |
- displaying Tor status events to the user. For example, we might put a |
|
208 |
- little badge on Vidalia's tray icon that alerts the user to new status |
|
209 |
- events they should look at. Double-clicking the icon could bring up a |
|
210 |
- dialog that summarizes recent status events in simple terms and maybe |
|
211 |
- suggests a remedy for any negative events if they can be corrected by |
|
212 |
- the user. Of course, this is just an example and one is free to |
|
213 |
- suggest another approach.</p> |
|
214 |
- <p>A person undertaking this project should have good UI design and layout |
|
215 |
- skills and some C++ development experience. Previous experience with Qt and |
|
216 |
- Qt's Designer will be very helpful, but are not required. Some |
|
217 |
- English writing ability will also be useful, since this project will |
|
218 |
- likely involve writing small amounts of help documentation that should |
|
219 |
- be understandable by non-technical users. Bonus points for some graphic |
|
220 |
- design/Photoshop fu, since we might want/need some shiny new icons too.</p> |
|
221 |
- </li> |
|
222 |
- |
|
223 | 183 |
<li> |
224 | 184 |
<b>Client Mode Use Cases for Arm</b> |
225 | 185 |
<br> |
... | ... |
@@ -309,33 +269,6 @@ meetings around the world.</li> |
309 | 269 |
changes in performance on machines in different roles automatically.</p> |
310 | 270 |
</li> |
311 | 271 |
|
312 |
- <li> |
|
313 |
- <b>Help with independent Tor client implementations</b> |
|
314 |
- <br> |
|
315 |
- Priority: <i>Medium</i> |
|
316 |
- <br> |
|
317 |
- Effort Level: <i>High</i> |
|
318 |
- <br> |
|
319 |
- Skill Level: <i>Medium to High</i> |
|
320 |
- <br> |
|
321 |
- Likely Mentors: <i>Bruce, Nathan</i> |
|
322 |
- <p>Others are currently working on Tor clients for Java, Android, and Maemo |
|
323 |
- environments. The first step is to get a handle on the current state of |
|
324 |
- the project in which you are interested in helping; <a |
|
325 |
- href="http://github.com/brl/JTor">Tor for Java</a>, |
|
326 |
- <a href="https://svn.torproject.org/svn/projects/android/trunk/">Android/Orbot</a>, |
|
327 |
- or <a href="<page docs/N900>">Tor for Maemo</a>. Check out the |
|
328 |
- repository and familiarize yourself |
|
329 |
- with the source code. Further, support for requesting or even providing |
|
330 |
- Tor hidden services would be neat, but not required.</p> |
|
331 |
- <p>A prospective developer should be able to understand and write new Java |
|
332 |
- code, including a Java cryptography API. Being able to read C code would be helpful, |
|
333 |
- too. One should be willing to read the existing documentation, |
|
334 |
- implement code based on it, and refine the documentation |
|
335 |
- when things are underdocumented. This project is mostly about coding and |
|
336 |
- to a small degree about design.</p> |
|
337 |
- </li> |
|
338 |
- |
|
339 | 272 |
<li> |
340 | 273 |
<b>More on Orbot & Android OS-specific development</b> |
341 | 274 |
<br/> |
... | ... |
@@ -400,58 +333,29 @@ meetings around the world.</li> |
400 | 333 |
Skill Level: <i>Medium</i> |
401 | 334 |
<br> |
402 | 335 |
Likely Mentors: <i>Steven</i> |
403 |
- <br> |
|
336 |
+ <p> |
|
404 | 337 |
Many users of Tor have poor-quality Internet connections, giving low |
405 | 338 |
bandwidth, high latency, and high packet loss/re-ordering. User |
406 | 339 |
experience is that Tor reacts badly to these conditions, but it is |
407 | 340 |
difficult to improve the situation without being able to repeat the |
408 | 341 |
problems in the lab. |
409 |
- <br> |
|
342 |
+ </p> |
|
343 |
+ |
|
344 |
+ <p> |
|
410 | 345 |
This project would be to build a simulation environment which |
411 | 346 |
replicates the poor connectivity so that the effect on Tor performance |
412 | 347 |
can be measured. Other components would be a testing utility to |
413 | 348 |
establish what are the properties of connections available, and to |
414 | 349 |
measure the effect of performance-improving modifications to Tor. |
415 |
- <br> |
|
350 |
+ </p> |
|
351 |
+ |
|
352 |
+ <p> |
|
416 | 353 |
The tools used would be up to the student, but dummynet (for FreeBSD) |
417 | 354 |
and nistnet (for Linux) are two potential components on which this |
418 | 355 |
project could be built. Students should be experienced with network |
419 | 356 |
programming/debugging and TCP/IP, and preferably familiar with C and a |
420 | 357 |
scripting language. |
421 |
- </li> |
|
422 |
- |
|
423 |
- <li> |
|
424 |
- <b>An Improved and More Usable Network Map in Vidalia</b> |
|
425 |
- <br> |
|
426 |
- Priority: <i>Low to Medium</i> |
|
427 |
- <br> |
|
428 |
- Effort Level: <i>Medium</i> |
|
429 |
- <br> |
|
430 |
- Skill Level: <i>Medium</i> |
|
431 |
- <br> |
|
432 |
- Likely Mentors: <i>Matt</i> |
|
433 |
- <br> |
|
434 |
- One of Vidalia's existing features is a network map that shows the user |
|
435 |
- the approximate geographic location of relays in the Tor network and |
|
436 |
- plots the paths the user's traffic takes as it is tunneled through the |
|
437 |
- Tor network. The map is currently not very interactive and has rather |
|
438 |
- poor graphics. Instead, we implemented KDE's Marble widget such |
|
439 |
- that it gives us a better quality map and enables improved interactivity, |
|
440 |
- such as allowing the user to click on individual relays or circuits to |
|
441 |
- display additional information. We want to add the ability |
|
442 |
- for users to click on a particular relay or a country containing one or |
|
443 |
- more Tor exit relays and say, "I want my connections to exit |
|
444 |
- from here." |
|
445 |
- <br> |
|
446 |
- This project will first involve getting familiar with Vidalia |
|
447 |
- and the Marble widget's API. One will then integrate the widget |
|
448 |
- into Vidalia and customize Marble to be better suited for our application, |
|
449 |
- such as making circuits clickable, storing cached map data in Vidalia's |
|
450 |
- own data directory, and customizing some of the widget's dialogs. |
|
451 |
- <br> |
|
452 |
- A person undertaking this project should have good C++ development |
|
453 |
- experience. Previous experience with Qt and CMake is helpful, but not |
|
454 |
- required. |
|
358 |
+ </p> |
|
455 | 359 |
</li> |
456 | 360 |
|
457 | 361 |
<li> |
... | ... |
@@ -464,12 +368,13 @@ meetings around the world.</li> |
464 | 368 |
Skill Level: <i>High</i> |
465 | 369 |
<br> |
466 | 370 |
Likely Mentors: <i>Mike</i> |
467 |
- <br> |
|
371 |
+ <p> |
|
468 | 372 |
We're hearing from an increasing number of users that they want to use |
469 | 373 |
Thunderbird with Tor. However, there are plenty of application-level |
470 | 374 |
concerns, for example, by default Thunderbird will put your hostname in |
471 | 375 |
the outgoing mail that it sends. At some point we should start a new |
472 | 376 |
push to build a Thunderbird extension similar to Torbutton. |
377 |
+ </p> |
|
473 | 378 |
</li> |
474 | 379 |
|
475 | 380 |
<li> |
... | ... |
@@ -482,32 +387,40 @@ meetings around the world.</li> |
482 | 387 |
Skill Level: <i>Medium</i> |
483 | 388 |
<br> |
484 | 389 |
Likely Mentors: <i>Erinn, Peter</i> |
485 |
- <br> |
|
390 |
+ <p> |
|
486 | 391 |
Vidalia currently doesn't play nicely with Tor on Linux and Unix platforms. |
487 | 392 |
Currently, on Debian and Ubuntu, there is a configuration mechanism which |
488 | 393 |
allows Vidalia to override Tor's ability to start on boot (by sourcing |
489 | 394 |
<code>/etc/default/tor.vidalia</code> which sets <code>RUN_DAEMON=no</code> at the user's |
490 | 395 |
request), but full implementation of <a href="<gitblob>doc/spec/control-spec.txt">ControlPort</a> |
491 | 396 |
communication is still required. |
492 |
- <br> |
|
397 |
+ </p> |
|
398 |
+ |
|
399 |
+ <p> |
|
493 | 400 |
A better solution on Linux and Unix platforms would be to use Tor's |
494 | 401 |
ControlSocket, which allows Vidalia to talk to Tor via a Unix domain socket, |
495 | 402 |
and could possibly be enabled by default in Tor's distribution packages. |
496 | 403 |
Vidalia can then authenticate to Tor using filesystem-based (cookie) |
497 | 404 |
authentication if the user running Vidalia is also in the distribution-specific |
498 | 405 |
tor group. |
499 |
- <br> |
|
406 |
+ </p> |
|
407 |
+ |
|
408 |
+ <p> |
|
500 | 409 |
This project will first involve adding support for Tor's ControlSocket to |
501 | 410 |
Vidalia. The student will then develop and test this support on various |
502 | 411 |
distributions to make sure it behaves in a predictable and consistent manner on |
503 | 412 |
all of them. |
504 |
- <br> |
|
413 |
+ </p> |
|
414 |
+ |
|
415 |
+ <p> |
|
505 | 416 |
The next challenge would be to find an intuitive and usable way for Vidalia to be |
506 | 417 |
able to change Tor's configuration (torrc) even though it is located in |
507 | 418 |
<code>/etc/tor/torrc</code> and thus immutable. In Debian and Ubuntu we handle |
508 | 419 |
this with the aforementioned <code>/etc/default/tor.vidalia</code> but this |
509 | 420 |
functionality could (or should) be less distribution-specific. |
510 |
- <br> |
|
421 |
+ </p> |
|
422 |
+ |
|
423 |
+ <p> |
|
511 | 424 |
The best idea we've come up with so far is to feed Tor a new configuration via |
512 | 425 |
the ControlSocket when Vidalia starts, but that's bad because if the user is not |
513 | 426 |
using the latest Debian/Ubuntu packages, they may not have disabled Tor's |
... | ... |
@@ -516,10 +429,13 @@ meetings around the world.</li> |
516 | 429 |
write out a temporary torrc file and ask the user to manually move it to |
517 | 430 |
<code>/etc/tor/torrc</code>, but that's bad because users shouldn't have to |
518 | 431 |
mess with files directly. |
519 |
- <br> |
|
432 |
+ </p> |
|
433 |
+ |
|
434 |
+ <p> |
|
520 | 435 |
A person undertaking this project should have prior knowledge of various Linux |
521 | 436 |
distributions and their packaging mechanisms as well as some C++ development |
522 | 437 |
experience. Previous experience with Qt is helpful, but not required. |
438 |
+ </p> |
|
523 | 439 |
</li> |
524 | 440 |
|
525 | 441 |
|
... | ... |
@@ -533,11 +449,12 @@ meetings around the world.</li> |
533 | 449 |
Skill Level: <i>Low to Medium</i> |
534 | 450 |
<br> |
535 | 451 |
Likely Mentors: <i>Andrew</i> |
536 |
- <br> |
|
452 |
+ <p> |
|
537 | 453 |
Especially the browser bundle, ideally amongst our target demographic. |
538 | 454 |
That would help a lot in knowing what needs to be done in terms of bug |
539 | 455 |
fixes or new features. We get this informally at the moment, but a more |
540 | 456 |
structured process would be better. |
457 |
+ </p> |
|
541 | 458 |
</li> |
542 | 459 |
|
543 | 460 |
<li> |
... | ... |
@@ -549,8 +466,8 @@ meetings around the world.</li> |
549 | 466 |
<br> |
550 | 467 |
Skill Level: <i>Medium to High</i> |
551 | 468 |
<br> |
552 |
- Likely Mentors: <i>Sebastian, Weasel, Roger</i> |
|
553 |
- <br> |
|
469 |
+ Likely Mentors: <i>Sebastian, Peter, Roger</i> |
|
470 |
+ <p> |
|
554 | 471 |
The world needs an authenticating irc proxy. As we're periodically |
555 | 472 |
reminded from the Penny Arcade web comic, "Internet user + anonymity = |
556 | 473 |
jerk". With respect to websites we're actually doing ok, since websites |
... | ... |
@@ -574,6 +491,7 @@ meetings around the world.</li> |
574 | 491 |
layer that requires the users to authenticate. Some work on this has |
575 | 492 |
begun by other volunteers, see their progress at <a |
576 | 493 |
href="http://github.com/anonirc/orc">http://github.com/anonirc/orc</a>. |
494 |
+ </p> |
|
577 | 495 |
</li> |
578 | 496 |
|
579 | 497 |
<li> |
... | ... |
@@ -586,7 +504,7 @@ meetings around the world.</li> |
586 | 504 |
Skill Level: <i>Medium</i> |
587 | 505 |
<br> |
588 | 506 |
Likely Mentors: <i>?</i> |
589 |
- <br> |
|
507 |
+ <p> |
|
590 | 508 |
<a href="http://code.google.com/p/torsocks/">Torsocks</a> and <a |
591 | 509 |
href="http://code.google.com/p/dsocks/">dsocks</a> are wrappers that will |
592 | 510 |
run applications, intercept their outgoing network connections, and push |
... | ... |
@@ -603,7 +521,116 @@ meetings around the world.</li> |
603 | 521 |
dsocks is installed, and call them appropriately. This probably means |
604 | 522 |
unifying their interfaces, and might involve sharing code between them |
605 | 523 |
or discarding one entirely. |
524 |
+ </p> |
|
525 |
+ </li> |
|
526 |
+ |
|
527 |
+ <li> |
|
528 |
+ <b>Tor Controller Status Event Interface for Vidalia</b> |
|
529 |
+ <br> |
|
530 |
+ Priority: <i>Medium</i> |
|
531 |
+ <br> |
|
532 |
+ Effort Level: <i>Medium</i> |
|
533 |
+ <br> |
|
534 |
+ Skill Level: <i>Low to Medium</i> |
|
535 |
+ <br> |
|
536 |
+ Likely Mentors: <i>Tomás?</i> |
|
537 |
+ <p>There are a number of status changes inside Tor of which the user may need |
|
538 |
+ to be informed. For example, if the user is trying to set up his Tor as a |
|
539 |
+ relay and Tor decides that its ports are not reachable from outside |
|
540 |
+ the user's network, we should alert the user. Currently, all the user |
|
541 |
+ gets is a couple of log messages in Vidalia's 'message log' window, which they |
|
542 |
+ likely never see since they don't receive a notification that something |
|
543 |
+ has gone wrong. Even if the user does actually look at the message log, |
|
544 |
+ most of the messages make little sense to the novice user.</p> |
|
545 |
+ <p>Tor has the ability to inform Vidalia of many such status |
|
546 |
+ changes, and we recently implemented support for a couple of these |
|
547 |
+ events. Still, there are many more status events which the user should |
|
548 |
+ be informed of, and we need a better UI for actually displaying them |
|
549 |
+ to the user.</p> |
|
550 |
+ <p>The goal of this project then is to design and implement a UI for |
|
551 |
+ displaying Tor status events to the user. For example, we might put a |
|
552 |
+ little badge on Vidalia's tray icon that alerts the user to new status |
|
553 |
+ events they should look at. Double-clicking the icon could bring up a |
|
554 |
+ dialog that summarizes recent status events in simple terms and maybe |
|
555 |
+ suggests a remedy for any negative events if they can be corrected by |
|
556 |
+ the user. Of course, this is just an example and one is free to |
|
557 |
+ suggest another approach.</p> |
|
558 |
+ <p>A person undertaking this project should have good UI design and layout |
|
559 |
+ skills and some C++ development experience. Previous experience with Qt and |
|
560 |
+ Qt's Designer will be very helpful, but are not required. Some |
|
561 |
+ English writing ability will also be useful, since this project will |
|
562 |
+ likely involve writing small amounts of help documentation that should |
|
563 |
+ be understandable by non-technical users. Bonus points for some graphic |
|
564 |
+ design/Photoshop fu, since we might want/need some shiny new icons too.</p> |
|
565 |
+ </li> |
|
566 |
+ |
|
567 |
+ <li> |
|
568 |
+ <b>An Improved and More Usable Network Map in Vidalia</b> |
|
569 |
+ <br> |
|
570 |
+ Priority: <i>Low to Medium</i> |
|
571 |
+ <br> |
|
572 |
+ Effort Level: <i>Medium</i> |
|
573 |
+ <br> |
|
574 |
+ Skill Level: <i>Medium</i> |
|
575 |
+ <br> |
|
576 |
+ Likely Mentors: <i>Tomás?</i> |
|
577 |
+ <p> |
|
578 |
+ One of Vidalia's existing features is a network map that shows the user |
|
579 |
+ the approximate geographic location of relays in the Tor network and |
|
580 |
+ plots the paths the user's traffic takes as it is tunneled through the |
|
581 |
+ Tor network. The map is currently not very interactive and has rather |
|
582 |
+ poor graphics. Instead, we implemented KDE's Marble widget such |
|
583 |
+ that it gives us a better quality map and enables improved interactivity, |
|
584 |
+ such as allowing the user to click on individual relays or circuits to |
|
585 |
+ display additional information. We want to add the ability |
|
586 |
+ for users to click on a particular relay or a country containing one or |
|
587 |
+ more Tor exit relays and say, "I want my connections to exit |
|
588 |
+ from here." |
|
589 |
+ </p> |
|
590 |
+ |
|
591 |
+ <p> |
|
592 |
+ This project will first involve getting familiar with Vidalia |
|
593 |
+ and the Marble widget's API. One will then integrate the widget |
|
594 |
+ into Vidalia and customize Marble to be better suited for our application, |
|
595 |
+ such as making circuits clickable, storing cached map data in Vidalia's |
|
596 |
+ own data directory, and customizing some of the widget's dialogs. |
|
597 |
+ </p> |
|
598 |
+ |
|
599 |
+ <p> |
|
600 |
+ A person undertaking this project should have good C++ development |
|
601 |
+ experience. Previous experience with Qt and CMake is helpful, but not |
|
602 |
+ required. |
|
603 |
+ </p> |
|
604 |
+ </li> |
|
605 |
+ |
|
606 |
+ <!-- |
|
607 |
+ <li> |
|
608 |
+ <b>Help with independent Tor client implementations</b> |
|
609 |
+ <br> |
|
610 |
+ Priority: <i>Medium</i> |
|
611 |
+ <br> |
|
612 |
+ Effort Level: <i>High</i> |
|
613 |
+ <br> |
|
614 |
+ Skill Level: <i>Medium to High</i> |
|
615 |
+ <br> |
|
616 |
+ Likely Mentors: <i>Bruce, Nathan</i> |
|
617 |
+ <p>Others are currently working on Tor clients for Java, Android, and Maemo |
|
618 |
+ environments. The first step is to get a handle on the current state of |
|
619 |
+ the project in which you are interested in helping; <a |
|
620 |
+ href="http://github.com/brl/JTor">Tor for Java</a>, |
|
621 |
+ <a href="https://svn.torproject.org/svn/projects/android/trunk/">Android/Orbot</a>, |
|
622 |
+ or <a href="<page docs/N900>">Tor for Maemo</a>. Check out the |
|
623 |
+ repository and familiarize yourself |
|
624 |
+ with the source code. Further, support for requesting or even providing |
|
625 |
+ Tor hidden services would be neat, but not required.</p> |
|
626 |
+ <p>A prospective developer should be able to understand and write new Java |
|
627 |
+ code, including a Java cryptography API. Being able to read C code would be helpful, |
|
628 |
+ too. One should be willing to read the existing documentation, |
|
629 |
+ implement code based on it, and refine the documentation |
|
630 |
+ when things are underdocumented. This project is mostly about coding and |
|
631 |
+ to a small degree about design.</p> |
|
606 | 632 |
</li> |
633 |
+ --> |
|
607 | 634 |
|
608 | 635 |
<li> |
609 | 636 |
<b>Bring up new ideas!</b> |
610 | 637 |