Roger Dingledine commited on 2008-03-10 08:06:52
Zeige 1 geänderte Dateien mit 54 Einfügungen und 2 Löschungen.
... | ... |
@@ -87,11 +87,64 @@ guidelines</a> if you want to help out. We especially need Arabic or |
87 | 87 |
Farsi translations, for the many Tor users in censored areas.</li> |
88 | 88 |
</ol> |
89 | 89 |
|
90 |
+<a id="Coding"></a> |
|
90 | 91 |
<a id="Summer"></a> |
91 | 92 |
<a id="Projects"></a> |
92 |
-<h2><a class="anchor" href="#Projects">Good Summer Projects</a></h2> |
|
93 |
+<h2><a class="anchor" href="#Projects">Good Coding Projects</a></h2> |
|
93 | 94 |
<ol> |
94 | 95 |
|
96 |
+<li> |
|
97 |
+Reanimate one of the approaches to implement a Tor client in Java, |
|
98 |
+e.g. the <a href="http://onioncoffee.sourceforge.net/">OnionCoffee |
|
99 |
+project</a>, and make it run on <a |
|
100 |
+href="http://code.google.com/android/">Android</a>. The first step |
|
101 |
+would be to port the existing code and execute it in an Android |
|
102 |
+environment. Next, the code should be updated to support the newer Tor |
|
103 |
+protocol versions like the <a href="<svnsandbox>doc/spec/dir-spec.txt">v3 |
|
104 |
+directory protocol</a>. Further, support for requesting or even |
|
105 |
+providing Tor hidden services would be neat, but not required. The |
|
106 |
+student should be able to understand and write new Java code, including |
|
107 |
+a Java cryptography API. Being able to read C code would be helping, |
|
108 |
+too. The student should be willing to read the existing documentation, |
|
109 |
+implement code based on it, and, if required, refine the documentation |
|
110 |
+if things are underdocumented. This project is mostly about coding and |
|
111 |
+to a small degree about design. |
|
112 |
+</li> |
|
113 |
+ |
|
114 |
+<li> |
|
115 |
+Write a tool that runs automatic system tests in addition |
|
116 |
+to the existing unit tests. The Java-based Tor simulator <a |
|
117 |
+href="https://tor-svn.freehaven.net/svn/puppetor/trunk/">PuppeTor</a> |
|
118 |
+might be a good start for starting up a private Tor network, using it |
|
119 |
+for a while, and verifying that at least parts of it are working. This |
|
120 |
+project requires to conceive a blueprint for performing system tests |
|
121 |
+of private Tor networks, before starting to code. Typical types of |
|
122 |
+tests range from performing single requests over the private network to |
|
123 |
+manipulating exchanged messages and see if nodes handle corrupt messages |
|
124 |
+appropriately. The student should be able to obtain a good understanding |
|
125 |
+of how Tor works and what problems and bugs could arise to design good |
|
126 |
+test cases. Understanding the existing Tor code and documentation is |
|
127 |
+vital. If PuppeTor is used, the student should also be able to understand |
|
128 |
+and possibly extend an existing Java application. This project is partly |
|
129 |
+about design and partly about coding. |
|
130 |
+</li> |
|
131 |
+ |
|
132 |
+<li> |
|
133 |
+Implement a <a href="http://www.ss64.com/bash/top.html">top-like</a> |
|
134 |
+management tool for Tor relays. The purpose of such a tool would be |
|
135 |
+to monitor a local Tor relay via its control port and include useful |
|
136 |
+system information of the underlying machine. When running this tool, it |
|
137 |
+would dynamically update its content like top does for Linux processes. |
|
138 |
+<a href="http://archives.seul.org/or/dev/Jan-2008/msg00005.html">This |
|
139 |
+or-dev post</a> might be a good first read. The student should be familiar |
|
140 |
+with or willing to learn about administering a Tor relay and configuring |
|
141 |
+it via its control port. As an initial prototype is written in Python, |
|
142 |
+some knowledge about writing Python code would be helpful, too. This |
|
143 |
+project is for the one part about identifying requirements to such a |
|
144 |
+tool and designing its interface; but on the other part, the project |
|
145 |
+also requires a lot of coding. |
|
146 |
+</li> |
|
147 |
+ |
|
95 | 148 |
<li>Help Mike Perry on his <a |
96 | 149 |
href="https://www.torproject.org/svn/torflow/">TorFlow</a> |
97 | 150 |
library (<a href="https://www.torproject.org/svn/torflow/TODO">TODO</a>): |
... | ... |
@@ -121,7 +174,6 @@ roadmap</a> for more ideas.</li> |
121 | 174 |
us and find out.</li> |
122 | 175 |
</ol> |
123 | 176 |
|
124 |
-<a id="Coding"></a> |
|
125 | 177 |
<h2><a class="anchor" href="#Coding">Coding and Design</a></h2> |
126 | 178 |
<ol> |
127 | 179 |
<li>Tor relays don't work well on Windows XP. On |
128 | 180 |