Andrew Lewman commited on 2009-11-15 23:06:49
Zeige 1 geänderte Dateien mit 8 Einfügungen und 256 Löschungen.
| ... | ... |
@@ -61,7 +61,7 @@ much does this impact privacy, and do we have any other good options?</li> |
| 61 | 61 |
<a id="Advocacy"></a> |
| 62 | 62 |
<h2><a class="anchor" href="#Advocacy">Advocacy</a></h2> |
| 63 | 63 |
<ol> |
| 64 |
-<li>Create a community logo under a Creative Commons license that all can use and modify</li> |
|
| 64 |
+<li>Create a <a href="https://wiki.torproject.org/noreply/CommunityLogos">community logo</a> under a Creative Commons license that all can use and modify</li> |
|
| 65 | 65 |
<li>Create a presentation that can be used for various user group meetings around the world</li> |
| 66 | 66 |
<li>Create a video about your positive uses of Tor. Some have already started on Seesmic.</li> |
| 67 | 67 |
<li>Create a poster, or a set of posters, around a theme, such as "Tor for Freedom!"</li> |
| ... | ... |
@@ -96,7 +96,7 @@ Farsi translations, for the many Tor users in censored areas.</li> |
| 96 | 96 |
|
| 97 | 97 |
<p> |
| 98 | 98 |
You may find some of these projects to be good <a href="<page |
| 99 |
-gsoc>">Google Summer of Code 2009</a> ideas. We have labelled each idea |
|
| 99 |
+gsoc>">Google Summer of Code 2010</a> ideas. We have labelled each idea |
|
| 100 | 100 |
with how useful it would be to the overall Tor project (priority), how |
| 101 | 101 |
much work we expect it would be (effort level), how much clue you should |
| 102 | 102 |
start with (skill level), and which of our <a href="<page |
| ... | ... |
@@ -120,17 +120,16 @@ Skill Level: <i>Medium</i> |
| 120 | 120 |
<br /> |
| 121 | 121 |
Likely Mentors: <i>Steven, Andrew</i> |
| 122 | 122 |
<br /> |
| 123 |
-The Tor Browser bundle incorporates Tor, Firefox, and the Vidalia user |
|
| 124 |
-interface (and optionally Pidgin IM). Components are pre-configured to |
|
| 125 |
-operate in a secure way, and it has very few dependencies on the |
|
| 123 |
+The Tor Browser Bundle incorporates Tor, Firefox, Polipo, and the Vidalia user |
|
| 124 |
+interface (and optionally the <a href="http://pidgin.im/">Pidgin</a> Instant Messaging client). Components are pre-configured to operate in a secure way, and it has very few dependencies on the |
|
| 126 | 125 |
installed operating system. It has therefore become one of the most |
| 127 | 126 |
easy to use, and popular, ways to use Tor on Windows. |
| 128 | 127 |
<br /> |
| 129 |
-However, there is currently no comparable package for Linux and Mac OS |
|
| 128 |
+However, there is currently no working package for Linux and Mac OS |
|
| 130 | 129 |
X, so this project would be to implement Tor Browser Bundle for these |
| 131 | 130 |
platforms. This will involve modifications to Vidalia (C++), possibly |
| 132 | 131 |
Firefox (C) then creating and testing the launcher on a range of |
| 133 |
-operating system versions and configurations to verify portability. |
|
| 132 |
+operating system versions and configurations to verify portability. Some work on this was completed as part of the Google Summer of Code 2009. |
|
| 134 | 133 |
<br /> |
| 135 | 134 |
Students should be familiar with application development on one or |
| 136 | 135 |
preferably both of Linux and Mac OS X, and be comfortable with C/C++ |
| ... | ... |
@@ -143,26 +142,6 @@ fixes or new features. We get this informally at the moment, but a more |
| 143 | 142 |
structured process would be better. |
| 144 | 143 |
</li> |
| 145 | 144 |
|
| 146 |
-<li> |
|
| 147 |
-<b>Translation wiki for our website</b> |
|
| 148 |
-<br /> |
|
| 149 |
-Priority: <i>High</i> |
|
| 150 |
-<br /> |
|
| 151 |
-Effort Level: <i>Medium</i> |
|
| 152 |
-<br /> |
|
| 153 |
-Skill Level: <i>Medium</i> |
|
| 154 |
-<br /> |
|
| 155 |
-Likely Mentors: <i>Jacob</i> |
|
| 156 |
-<br /> |
|
| 157 |
-The Tor Project has been working over the past year to set up web-based |
|
| 158 |
-tools to help volunteers translate our applications into other languages. |
|
| 159 |
-We finally hit upon Pootle, and we have a fine web-based translation engine |
|
| 160 |
-in place for Vidalia, Torbutton, and Torcheck. However, Pootle only |
|
| 161 |
-translates strings that are in the "po" format, and our website uses wml |
|
| 162 |
-files. This project is about finding a way to convert our wml files into po |
|
| 163 |
-strings and back, so they can be handled by Pootle. |
|
| 164 |
-</li> |
|
| 165 |
- |
|
| 166 | 145 |
<li> |
| 167 | 146 |
<b>Help track the overall Tor Network status</b> |
| 168 | 147 |
<br /> |
| ... | ... |
@@ -533,33 +512,6 @@ experience. Previous experience with Qt and CMake is helpful, but not |
| 533 | 512 |
required. |
| 534 | 513 |
</li> |
| 535 | 514 |
|
| 536 |
-<li> |
|
| 537 |
-<b>Bring moniTor to life</b> |
|
| 538 |
-<br /> |
|
| 539 |
-Priority: <i>Low</i> |
|
| 540 |
-<br /> |
|
| 541 |
-Effort Level: <i>Medium</i> |
|
| 542 |
-<br /> |
|
| 543 |
-Skill Level: <i>Low to Medium</i> |
|
| 544 |
-<br /> |
|
| 545 |
-Likely Mentors: <i>Karsten, Jacob</i> |
|
| 546 |
-<br /> |
|
| 547 |
-Implement a <a href="http://www.ss64.com/bash/top.html">top-like</a> |
|
| 548 |
-management tool for Tor relays. The purpose of such a tool would be |
|
| 549 |
-to monitor a local Tor relay via its control port and include useful |
|
| 550 |
-system information of the underlying machine. When running this tool, it |
|
| 551 |
-would dynamically update its content like top does for Linux processes. |
|
| 552 |
-<a href="http://archives.seul.org/or/dev/Jan-2008/msg00005.html">This |
|
| 553 |
-or-dev post</a> might be a good first read. |
|
| 554 |
-<br /> |
|
| 555 |
-A person interested in this should be familiar |
|
| 556 |
-with or willing to learn about administering a Tor relay and configuring |
|
| 557 |
-it via its control port. As an initial prototype is written in Python, |
|
| 558 |
-some knowledge about writing Python code would be helpful, too. This |
|
| 559 |
-project is one part about identifying requirements to such a |
|
| 560 |
-tool and designing its interface, and one part lots of coding. |
|
| 561 |
-</li> |
|
| 562 |
- |
|
| 563 | 515 |
<li> |
| 564 | 516 |
<b>Torbutton equivalent for Thunderbird</b> |
| 565 | 517 |
<br /> |
| ... | ... |
@@ -607,7 +559,7 @@ Effort Level: <i>Medium</i> |
| 607 | 559 |
<br /> |
| 608 | 560 |
Skill Level: <i>Medium</i> |
| 609 | 561 |
<br /> |
| 610 |
-Likely Mentors: <i>Jake, Roger</i> |
|
| 562 |
+Likely Mentors: <i>Christian, Roger</i> |
|
| 611 | 563 |
<br /> |
| 612 | 564 |
<a href="https://weather.torproject.org/">Tor weather</a> is a tool |
| 613 | 565 |
that allows signing up to receive notifications via email when the |
| ... | ... |
@@ -638,36 +590,6 @@ Some of the <a href="<svnsandbox>doc/spec/proposals/">current proposals</a> |
| 638 | 590 |
might also be short on developers. |
| 639 | 591 |
</li> |
| 640 | 592 |
|
| 641 |
-<!-- Mike is already working on this. |
|
| 642 |
-<li> |
|
| 643 |
-<b>Tor Node Scanner improvements</b> |
|
| 644 |
-<br /> |
|
| 645 |
-Similar to the SoaT exit scanner (or perhaps even during exit scanning), |
|
| 646 |
-statistics can be gathered about the reliability of nodes. Nodes that |
|
| 647 |
-fail too high a percentage of their circuits should not be given |
|
| 648 |
-Guard status. Perhaps they should have their reported bandwidth |
|
| 649 |
-penalized by some ratio as well, or just get marked as Invalid. In |
|
| 650 |
-addition, nodes that exhibit a very low average stream capacity but |
|
| 651 |
-advertise a very high node bandwidth can also be marked as Invalid. |
|
| 652 |
-Much of this statistics gathering is already done, it just needs to be |
|
| 653 |
-transformed into something that can be reported to the Directory |
|
| 654 |
-Authorities to blacklist/penalize nodes in such a way that clients |
|
| 655 |
-will listen. |
|
| 656 |
-<br /> |
|
| 657 |
-In addition, these same statistics can be gathered about the traffic |
|
| 658 |
-through a node. Events can be added to the <a |
|
| 659 |
-href="https://svn.torproject.org/svn/torctl/trunk/doc/howto.txt">Tor Control |
|
| 660 |
-Protocol</a> to |
|
| 661 |
-report if a circuit extend attempt through the node succeeds or fails, and |
|
| 662 |
-passive statistics can be gathered on both bandwidth and reliability |
|
| 663 |
-of other nodes via a node-based monitor using these events. Such a |
|
| 664 |
-scanner would also report information on oddly-behaving nodes to |
|
| 665 |
-the Directory Authorities, but a communication channel for this |
|
| 666 |
-currently does not exist and would need to be developed as well. |
|
| 667 |
-</li> |
|
| 668 |
---> |
|
| 669 |
- |
|
| 670 |
-<!-- Is this still a useful project? If so, move it to another section. |
|
| 671 | 593 |
<li> |
| 672 | 594 |
<b>Better Debian/Ubuntu Packaging for Tor+Vidalia</b> |
| 673 | 595 |
<br /> |
| ... | ... |
@@ -711,9 +633,7 @@ A person undertaking this project should have prior knowledge of |
| 711 | 633 |
Debian package management and some C++ development experience. Previous |
| 712 | 634 |
experience with Qt is helpful, but not required. |
| 713 | 635 |
</li> |
| 714 |
---> |
|
| 715 | 636 |
|
| 716 |
-<!-- This should be mostly done. |
|
| 717 | 637 |
<li> |
| 718 | 638 |
<b>Tor/Polipo/Vidalia Auto-Update Framework</b> |
| 719 | 639 |
<br /> |
| ... | ... |
@@ -747,101 +667,9 @@ is also important for this project, since a vital step of the project |
| 747 | 667 |
will be producing a design document to review and discuss |
| 748 | 668 |
with others prior to implementation. |
| 749 | 669 |
</li> |
| 750 |
---> |
|
| 751 |
- |
|
| 752 |
-<!-- Jake already did most of this. |
|
| 753 |
-<li> |
|
| 754 |
-<b>Improvements on our active browser configuration tester</b> - |
|
| 755 |
-<a href="https://check.torproject.org/">https://check.torproject.org/</a> |
|
| 756 |
-<br /> |
|
| 757 |
-We currently have a functional web page to detect if Tor is working. It |
|
| 758 |
-has a few places where it falls short. It requires improvements with |
|
| 759 |
-regard to default languages and functionality. It currently only responds |
|
| 760 |
-in English. In addition, it is a hack of a perl script that should have |
|
| 761 |
-never seen the light of day. It should probably be rewritten in python |
|
| 762 |
-with multi-lingual support in mind. It currently uses the <a |
|
| 763 |
-href="http://exitlist.torproject.org/">Tor DNS exit list</a> |
|
| 764 |
-and should continue to do so in the future. It currently result in certain |
|
| 765 |
-false positives and these should be discovered, documented, and fixed |
|
| 766 |
-where possible. Anyone working on this project should be interested in |
|
| 767 |
-DNS, basic perl or preferably python programming skills, and will have |
|
| 768 |
-to interact minimally with Tor to test their code. |
|
| 769 |
-<br /> |
|
| 770 |
-If you want to make the project more exciting |
|
| 771 |
-and involve more design and coding, take a look at <a |
|
| 772 |
-href="<svnsandbox>doc/spec/proposals/131-verify-tor-usage.txt">proposal |
|
| 773 |
-131-verify-tor-usage.txt</a>. |
|
| 774 |
-</li> |
|
| 775 |
---> |
|
| 776 | 670 |
|
| 777 |
-<!-- If we decide to switch to the exit list in TorStatus, this is obsolete. |
|
| 778 | 671 |
<li> |
| 779 |
-<b>Improvements on our DNS Exit List service</b> - |
|
| 780 |
-<a href="http://exitlist.torproject.org/">http://exitlist.torproject.org/</a> |
|
| 781 |
-<br /> |
|
| 782 |
-The <a href="http://p56soo2ibjkx23xo.onion/">exitlist software</a> |
|
| 783 |
-is written by our fabulous anonymous |
|
| 784 |
-contributer Tup. It's a DNS server written in Haskell that supports part of our <a |
|
| 785 |
-href="<svnsandbox>doc/contrib/torel-design.txt">exitlist |
|
| 786 |
-design document</a>. Currently, it is functional and it is used by |
|
| 787 |
-check.torproject.org and other users. The issues that are outstanding |
|
| 788 |
-are mostly aesthetic. This wonderful service could use a much better |
|
| 789 |
-website using the common Tor theme. It would be best served with better |
|
| 790 |
-documentation for common services that use an RBL. It could use more |
|
| 791 |
-publicity. A person working on this project should be interested in DNS, |
|
| 792 |
-basic RBL configuration for popular services, and writing documentation. |
|
| 793 |
-The person would require minimal Tor interaction — testing their |
|
| 794 |
-own documentation at the very least. Furthermore, it would be useful |
|
| 795 |
-if they were interested in Haskell and wanted to implement more of the |
|
| 796 |
-torel-design.txt suggestions. |
|
| 797 |
-</li> |
|
| 798 |
---> |
|
| 799 |
- |
|
| 800 |
-<!-- Nobody wanted to keep this. |
|
| 801 |
-<li> |
|
| 802 |
-<b>Testing integration of Tor with web browsers for our end users</b> |
|
| 803 |
-<br /> |
|
| 804 |
-The Tor project currently lacks a solid test suite to ensure that a |
|
| 805 |
-user has a properly and safely configured web browser. It should test for as |
|
| 806 |
-many known issues as possible. It should attempt to decloak the |
|
| 807 |
-user in any way possible. Two current webpages that track these |
|
| 808 |
-kinds of issues are run by Greg Fleischer and HD Moore. Greg keeps a nice <a |
|
| 809 |
-href="http://pseudo-flaw.net/tor/torbutton/">list of issues along |
|
| 810 |
-with their proof of concept code, bug issues, etc</a>. HD Moore runs |
|
| 811 |
-the <a href="http://www.decloak.net/">metasploit |
|
| 812 |
-decloak website</a>. A person interested in defending Tor could start |
|
| 813 |
-by collecting as many workable and known methods for decloaking a |
|
| 814 |
-Tor user. (<a href="https://torcheck.xenobite.eu/">This page</a> may |
|
| 815 |
-be helpful as a start.) One should be familiar with the common pitfalls but |
|
| 816 |
-possibly have new methods in mind for implementing decloaking issues. The |
|
| 817 |
-website should ensure that it tells a user what their problem is. It |
|
| 818 |
-should help them to fix the problem or direct them to the proper support |
|
| 819 |
-channels. The person should also be closely familiar with using Tor and how |
|
| 820 |
-to prevent Tor information leakage. |
|
| 821 |
-</li> |
|
| 822 |
---> |
|
| 823 |
- |
|
| 824 |
-<!-- Nick did quite some work here. Is this project still required then? |
|
| 825 |
-<li> |
|
| 826 |
-<b>Libevent and Tor integration improvements</b> |
|
| 827 |
-<br /> |
|
| 828 |
-Tor should make better use of the more recent features of Niels |
|
| 829 |
-Provos's <a href="http://monkey.org/~provos/libevent/">Libevent</a> |
|
| 830 |
-library. Tor already uses Libevent for its low-level asynchronous IO |
|
| 831 |
-calls, and could also use Libevent's increasingly good implementations |
|
| 832 |
-of network buffers and of HTTP. This wouldn't be simply a matter of |
|
| 833 |
-replacing Tor's internal calls with calls to Libevent: instead, we'll |
|
| 834 |
-need to refactor Tor to use Libevent calls that do not follow the |
|
| 835 |
-same models as Tor's existing backends. Also, we'll need to add |
|
| 836 |
-missing functionality to Libevent as needed — most difficult likely |
|
| 837 |
-will be adding OpenSSL support on top of Libevent's buffer abstraction. |
|
| 838 |
-Also tricky will be adding rate-limiting to Libevent. |
|
| 839 |
-</li> |
|
| 840 |
---> |
|
| 841 |
- |
|
| 842 |
-<!-- |
|
| 843 |
-<li> |
|
| 844 |
-<b>Improving the Tor QA process: Continuous Integration for Windows builds</b> |
|
| 672 |
+<b>Improving the Tor QA process: Continuous Integration for builds</b> |
|
| 845 | 673 |
<br /> |
| 846 | 674 |
It would be useful to have automated build processes for Windows and |
| 847 | 675 |
probably other platforms. The purpose of having a continuous integration |
| ... | ... |
@@ -867,81 +695,7 @@ updated for more recent versions of Tor, and designed to launch a test |
| 867 | 695 |
network either on a single machine, or across several, so we can test |
| 868 | 696 |
changes in performance on machines in different roles automatically. |
| 869 | 697 |
</li> |
| 870 |
---> |
|
| 871 | 698 |
|
| 872 |
-<!-- Removed, unless Mike still wants this to be in. |
|
| 873 |
-<li> |
|
| 874 |
-<b>Torbutton improvements</b> |
|
| 875 |
-<br /> |
|
| 876 |
-Torbutton has a number of improvements that can be made in the post-1.2 |
|
| 877 |
-timeframe. Most of these are documented as feature requests in the <a |
|
| 878 |
-href="https://bugs.torproject.org/flyspray/index.php?tasks=all&project=5">Torbutton |
|
| 879 |
-flyspray section</a>. Good examples include: stripping off node.exit on http |
|
| 880 |
-headers, more fine-grained control over formfill blocking, improved referrer |
|
| 881 |
-spoofing based on the domain of the site (a-la <a |
|
| 882 |
-href="https://addons.mozilla.org/en-US/firefox/addon/953">refcontrol extension</a>), |
|
| 883 |
-tighter integration with Vidalia for reporting Tor status, a New Identity |
|
| 884 |
-button with Tor integration and multiple identity management, and anything |
|
| 885 |
-else you might think of. |
|
| 886 |
-<br /> |
|
| 887 |
-This work would be independent coding in Javascript and the fun world of <a |
|
| 888 |
-href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">XUL</a>, |
|
| 889 |
-with not too much involvement in the Tor internals. |
|
| 890 |
-</li> |
|
| 891 |
---> |
|
| 892 |
- |
|
| 893 |
-<!-- Is Blossom development still happening? |
|
| 894 |
-<li> |
|
| 895 |
-<b>Rework and extend Blossom</b> |
|
| 896 |
-<br /> |
|
| 897 |
-Rework and extend Blossom (a tool for monitoring and |
|
| 898 |
-selecting appropriate Tor circuits based upon exit node requirements |
|
| 899 |
-specified by the user) to gather data in a self-contained way, with |
|
| 900 |
-parameters easily configurable by the user. Blossom is presently |
|
| 901 |
-implemented as a single Python script that interfaces with Tor using the |
|
| 902 |
-Controller interface and depends upon metadata about Tor nodes obtained |
|
| 903 |
-via external processes, such as a webpage indicating status of the nodes |
|
| 904 |
-plus publically available data from DNS, whois, etc. This project has |
|
| 905 |
-two parts: (1) Determine which additional metadata may be useful and |
|
| 906 |
-rework Blossom so that it cleanly obtains the metadata on its own rather |
|
| 907 |
-than depend upon external scripts (this may, for example, involve |
|
| 908 |
-additional threads or inter-process communication), and (2) develop a |
|
| 909 |
-means by which the user can easily configure Blossom, starting with a |
|
| 910 |
-configuration file and possibly working up to a web configuration engine. |
|
| 911 |
-Knowledge of Tor and Python are important; knowledge of |
|
| 912 |
-TCP, interprocess communication, and Perl will also be helpful. An |
|
| 913 |
-interest in network neutrality is important as well, since the |
|
| 914 |
-principles of evaluating and understanding internet inconsistency are at |
|
| 915 |
-the core of the Blossom effort. |
|
| 916 |
-</li> |
|
| 917 |
- |
|
| 918 |
-<li> |
|
| 919 |
-<b>Improve Blossom: Allow users to qualitatively describe exit nodes they desire</b> |
|
| 920 |
-<br /> |
|
| 921 |
-Develop and implement a means of affording Blossom |
|
| 922 |
-users the ability to qualitatively describe the exit node that they |
|
| 923 |
-want. The Internet is an inconsistent place: some Tor exit nodes see |
|
| 924 |
-the world differently than others. As presently implemented, Blossom (a |
|
| 925 |
-tool for monitoring and selecting appropriate Tor circuits based upon |
|
| 926 |
-exit node requirements specified by the user) lacks a sufficiently rich |
|
| 927 |
-language to describe how the different vantage points are different. |
|
| 928 |
-For example, some exit nodes may have an upstream network that filters |
|
| 929 |
-certain kinds of traffic or certain websites. Other exit nodes may |
|
| 930 |
-provide access to special content as a result of their location, perhaps |
|
| 931 |
-as a result of discrimination on the part of the content providers |
|
| 932 |
-themselves. This project has two parts: (1) develop a language for |
|
| 933 |
-describing characteristics of networks in which exit nodes reside, and |
|
| 934 |
-(2) incorporate this language into Blossom so that users can select Tor |
|
| 935 |
-paths based upon the description. |
|
| 936 |
-Knowledge of Tor and Python are important; knowledge of |
|
| 937 |
-TCP, interprocess communication, and Perl will also be helpful. An |
|
| 938 |
-interest in network neutrality is important as well, since the |
|
| 939 |
-principles of evaluating and understanding internet inconsistency are at |
|
| 940 |
-the core of the Blossom effort. |
|
| 941 |
-</li> |
|
| 942 |
---> |
|
| 943 |
- |
|
| 944 |
-<!-- not really suited for GSoC; integrated into TBB for Linux/Mac OS X |
|
| 945 | 699 |
<li> |
| 946 | 700 |
<b>Usability testing of Tor</b> |
| 947 | 701 |
<br /> |
| ... | ... |
@@ -958,8 +712,6 @@ That would help a lot in knowing what needs to be done in terms of bug |
| 958 | 712 |
fixes or new features. We get this informally at the moment, but a more |
| 959 | 713 |
structured process would be better. |
| 960 | 714 |
</li> |
| 961 |
---> |
|
| 962 |
- |
|
| 963 | 715 |
</ol> |
| 964 | 716 |
|
| 965 | 717 |
<a id="OtherCoding"></a> |
| 966 | 718 |