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 |