three project ideas from karsten
Roger Dingledine

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