05c1b605d82f66a2b36453c4507b7dff3da65ec9
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1) ## translation metadata
Roger Dingledine looks like we never set the...

Roger Dingledine authored 13 years ago

2) # Revision: $Revision$
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

3) # Translation-Priority: 4-optional
4) 
5) #include "head.wmi" TITLE="Tor: Volunteer" CHARSET="UTF-8"
6) <div id="content" class="clearfix">
7)   <div id="breadcrumbs">
Andrew Lewman change all of the breadcrum...

Andrew Lewman authored 13 years ago

8)     <a href="<page index>">Home &raquo; </a>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

9)     <a href="<page getinvolved/volunteer>">Volunteer</a>
10)   </div>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

11)   <div id="maincol">
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

12)     <!-- PUT CONTENT AFTER THIS TAG -->
13)     <h1>A few things everyone can do now:</h1>
14)     <ol>
15)     <li>Please consider <a href="<page docs/tor-doc-relay>">running
16)     a relay</a> to help the Tor network grow.</li>
Damian Johnson Adding Tor Cloud to ways to...

Damian Johnson authored 12 years ago

17)     <li>Do you have an Amazon account? Are you willing to spend up to $3 a
Roger Dingledine it's not a relay, it's a br...

Roger Dingledine authored 12 years ago

18)     month? Then spin up your own Tor <a href="<page
19)     docs/bridges>">bridge</a> in less than 10 minutes with <a
Damian Johnson Adding Tor Cloud to ways to...

Damian Johnson authored 12 years ago

20)     href="https://cloud.torproject.org/">tor cloud</a>!</li>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

21)     <li>Tell your friends! Get them to run relays. Get them to run hidden
22)     services. Get them to tell their friends.</li>
23)     <li>If you like Tor's goals, please <a href="<page donate/donate>">take a moment
24)     to donate to support further Tor development</a>. We're also looking
25)     for more sponsors &mdash; if you know any companies, NGOs, agencies,
26)     or other organizations that want anonymity / privacy / communications
27)     security, let them know about us.</li>
28)     <li>We're looking for more <a href="<page about/torusers>">good examples of Tor
29)     users and Tor use cases</a>. If you use Tor for a scenario or purpose not
30)     yet described on that page, and you're comfortable sharing it with us,
31)     we'd love to hear from you.</li>
32)     </ol>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

33) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

34)     <a id="Documentation"></a>
35)     <h2><a class="anchor" href="#Documentation">Documentation</a></h2>
36)     <ol>
Roger Dingledine the beginnings of a volunte...

Roger Dingledine authored 11 years ago

37)     <li>Help translate the
38) <!-- web page and -->
39)     documentation into other
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

40)     languages. See the <a href="<page getinvolved/translation>">translation
41)     guidelines</a> if you want to help out. We especially need Arabic or
42)     Farsi translations, for the many Tor users in censored areas.</li>
43)     <li>Evaluate and document
Karsten Loesing Update wiki links

Karsten Loesing authored 12 years ago

44)     <a href="<wiki>doc/TorifyHOWTO">our
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

45)     list of programs</a> that can be configured to use Tor.</li>
46)     <li>We have a huge list of <a
Karsten Loesing Update wiki links

Karsten Loesing authored 12 years ago

47)     href="<wiki>doc/SupportPrograms">potentially useful
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

48)     programs that interface with Tor</a>. Which ones are useful in which
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

49)     situations? Please help us test them out and document your results.</li>
50)     </ol>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

51) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

52)     <a id="Advocacy"></a>
53)     <h2><a class="anchor" href="#Advocacy">Advocacy</a></h2>
54)     <ol>
Matt Pagan Added Tor Weekly News as a...

Matt Pagan authored 10 years ago

55)     <li>Monitor some of our <a 
56)     href="https://lists.torproject.org/cgi-bin/mailman/listinfo">public mailing 
57)     lists</a>, like <a 
58)     href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-talk">tor-talk</a>, <a 
59)     href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays">tor-relays</a>, <a 
60)     href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev">tor-dev</a>, or <a 
61)     href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tbb-dev">tbb-dev</a>, 
62)     and summarize noteworthy exchanges into articles for <a 
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

63)     href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-news">Tor 
Matt Pagan Added Tor Weekly News as a...

Matt Pagan authored 10 years ago

64)     Weekly News</a>.</li>
Andrew Lewman apply fixes from rransom.

Andrew Lewman authored 13 years ago

65)     <li>Create a presentation that can be used for various user group
66) meetings around the world.</li>
Andrew Lewman format the paragraphs corre...

Andrew Lewman authored 13 years ago

67)     <li>Create a video about the positive uses of Tor, what Tor is,
68)     or how to use it.  Some have already started on <a
Robert Ransom HTTPS-ify links to media.tp...

Robert Ransom authored 13 years ago

69)     href="https://media.torproject.org/video/">Tor's Media server</a>,
Andrew Lewman format the paragraphs corre...

Andrew Lewman authored 13 years ago

70)     <a
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

71)     href="http://www.howcast.com/videos/90601-How-To-Circumvent-an-Internet-Proxy">Howcast</a>,
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

72)     and <a href="http://www.youtube.com/thetorproject">YouTube</a>.</li>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

73)     <li>Create a poster around a theme, such as "Tor for Freedom!"</li>
Roger Dingledine the beginnings of a volunte...

Roger Dingledine authored 11 years ago

74)     <li>Create a t-shirt design that incorporates "<a
75)     href="https://check.torproject.org/">Congratulations! You are using
76)     Tor!</a>" in any language.</li>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

77)     </ol>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

78) 
Damian Johnson Dropping GSoC and OPW from...

Damian Johnson authored 10 years ago

79) <!--
Damian Johnson Better emphasizing GSoC is...

Damian Johnson authored 11 years ago

80)     <a id="gsoc"></a>
81)     <h2><a class="anchor" href="#gsoc">Google Summer of Code</a></h2>
82) 
83)     <p>
84)     Tor is also taking part in this year's <a
85)     href="https://www.google-melange.com/gsoc/homepage/google/gsoc2013">Google
86)     Summer of Code</a>! The criteria for this is a little different - either
87)     gender can apply but you need to be either <a
88)     href="https://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2013/help_page#2._Whos_eligible_to_participate_as_a">a
89)     present student or just graduated</a>.
90)     </p>
91) 
92)     <p>
93)     As mentioned above if you're eligible for either program then please apply
94)     for both! Google Summer of Code is a far, far larger program for us than
95)     OPW so your chances of being applied that way are considerably better.
96)     </p>
97) 
98)     <p>
99)     <b>See our page for <a href="<page about/gsoc>">Google Summer of Code</a>
100)     for more information.</b>
101)     </p>
Damian Johnson Dropping GSoC and OPW from...

Damian Johnson authored 10 years ago

102) -->
Damian Johnson Better emphasizing GSoC is...

Damian Johnson authored 11 years ago

103) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

104)     <a id="Projects"></a>
105)     <h2><a class="anchor" href="#Projects">Projects</a></h2>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

106) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

107)     <p>
108)     Below are a list of Tor related projects we're developing and/or
109)     maintaining. Most discussions happen on IRC so if you're interested in any
110)     of these (or you have a project idea of your own), then please <a
Sebastian Hahn Project members aren't list...

Sebastian Hahn authored 13 years ago

111)     href="<page about/contact>#irc">join us in #tor-dev</a>. Don't be shy
112)     to ask questions, and don't hesitate to ask even if the main contributors
113)     aren't active at that moment.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

114)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

115) 
Damian Johnson Adding tor ecosystem presen...

Damian Johnson authored 10 years ago

116)     <p>
117)     For a presentation summarizing many of these projects see...
118)     </p>
119) 
120)     <div id="ecosystem_presentation">
Damian Johnson Link to youtube Tor Ecosyst...

Damian Johnson authored 9 years ago

121)       <a href="https://www.youtube.com/watch?v=fb6iqZcQsSg">Tor Ecosystem</a> (<a href="https://media.torproject.org/video/2013-11-t3am-damian-johnson.mp4">mp4</a>, <a href="https://svn.torproject.org/svn/projects/presentations/2013-11-t3am-tor-ecosystem.pdf">slides</a>)
Damian Johnson Adding tor ecosystem presen...

Damian Johnson authored 10 years ago

122)     </div>
123) 
124)     <br /></br />
125) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

126)     <table id="projects">
127)       <tr>
128)         <th>Name</th>
129)         <th>Category</th>
130)         <th>Language</th>
131)         <th>Activity</th>
132)         <th>Contributors</th>
133)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

134) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

135)       <tr>
136)         <td><a href="#project-tor">Tor</a></td>
137)         <td>Core</td>
138)         <td>C</td>
139)         <td>Heavy</td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

140)         <td>nickm, athena, arma</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

141)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

142) 
Damian Johnson Adding JTor back to the vol...

Damian Johnson authored 11 years ago

143)       <tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

144)         <td><a href="#project-torbrowser">Tor Browser</a></td>
Damian Johnson Merging TBB and TorBrowser...

Damian Johnson authored 11 years ago

145)         <td>Bundle</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

146)         <td>Javascript, XUL, Scripting</td>
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

147)         <td>Heavy</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

148)         <td>mikeperry, Pearl Crescent</td>
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

149)       </tr>
150) 
Damian Johnson Adding JTor back to the vol...

Damian Johnson authored 11 years ago

151)       <tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

152)         <td><a href="#project-httpseverywhere">HTTPS Everywhere</a></td>
153)         <td>Browser Add-on</td>
154)         <td>Javascript</td>
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

155)         <td>Heavy</td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

156)         <td>pde, mikeperry</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

157)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

158) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

159)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

160)         <td><a href="#project-vidalia">Vidalia</a></td>
161)         <td>User Interface</td>
162)         <td>C++, Qt</td>
Damian Johnson Restoring r25975, minus stu...

Damian Johnson authored 11 years ago

163)         <td>None</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

164)         <td></td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

165)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

166) 
Damian Johnson Adding JTor back to the vol...

Damian Johnson authored 11 years ago

167)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

168)         <td><a href="#project-arm">Arm</a></td>
169)         <td>User Interface</td>
170)         <td>Python, Curses</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

171)         <td>Moderate</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

172)         <td>atagar</td>
173)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

174) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

175)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

176)         <td><a href="#project-orbot">Orbot</a></td>
177)         <td>User Interface</td>
178)         <td>Java</td>
Damian Johnson Restoring r25975, minus stu...

Damian Johnson authored 11 years ago

179)         <td>Light</td>
Damian Johnson Adjusting the volunteer pro...

Damian Johnson authored 11 years ago

180)         <td>n8fr8</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

181)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

182) 
Damian Johnson Adding JTor back to the vol...

Damian Johnson authored 11 years ago

183)       <tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

184)         <td><a href="#project-tails">Tails</a></td>
185)         <td>OS image</td>
186)         <td>Sys Admin</td>
187)         <td>Heavy</td>
188)         <td><a href="https://tails.boum.org/">#tails</a></td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

189)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

190) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

191)       <tr>
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

192)         <td><a href="#project-torramdisk">tor-ramdisk</a></td>
193)         <td>OS image</td>
194)         <td>Sys Admin</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

195)         <td>Light</td>
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

196)         <td>blueness</td>
197)       </tr>
198) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

199)       <tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

200)         <td><a href="#project-torsocks">Torsocks</a></td>
201)         <td>Usability</td>
202)         <td>C</td>
Damian Johnson Adjusting the volunteer pro...

Damian Johnson authored 11 years ago

203)         <td>Light</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

204)         <td>David Goulet</td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

205)       </tr>
206) 
Damian Johnson Adding JTor back to the vol...

Damian Johnson authored 11 years ago

207)       <tr>
Damian Johnson Adding TorBirdy to the proj...

Damian Johnson authored 11 years ago

208)         <td><a href="#project-torbirdy">TorBirdy</a></td>
209)         <td>Browser Add-on</td>
210)         <td>JavaScript</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

211)         <td>Light</td>
212)         <td>sukhe</td>
Damian Johnson Adding TorBirdy to the proj...

Damian Johnson authored 11 years ago

213)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

214) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

215)       <tr>
Damian Johnson Adding obfsproxy to the vol...

Damian Johnson authored 12 years ago

216)         <td><a href="#project-obfsproxy">Obfsproxy</a></td>
217)         <td>Client Add-on</td>
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

218)         <td>Python</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

219)         <td>Light</td>
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

220)         <td>asn</td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

221)       </tr>
222) 
Damian Johnson Adding JTor back to the vol...

Damian Johnson authored 11 years ago

223)       <tr>
Damian Johnson Adding Flash Proxy to the p...

Damian Johnson authored 11 years ago

224)         <td><a href="#project-flash-proxy">Flash Proxy</a></td>
225)         <td>Client Add-on</td>
226)         <td>Python, JavaScript, Go</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

227)         <td>Moderate</td>
228)         <td>dcf, infinity0, Arlo Breault</td>
Damian Johnson Adding Flash Proxy to the p...

Damian Johnson authored 11 years ago

229)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

230) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

231)       <tr>
Damian Johnson Volunteer page entry for Sh...

Damian Johnson authored 12 years ago

232)         <td><a href="#project-shadow">Shadow</a></td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

233)         <td>Simulator</td>
Damian Johnson Volunteer page entry for Sh...

Damian Johnson authored 12 years ago

234)         <td>C, Python</td>
Damian Johnson Restoring r25975, minus stu...

Damian Johnson authored 11 years ago

235)         <td>Heavy</td>
Damian Johnson Volunteer page entry for Sh...

Damian Johnson authored 12 years ago

236)         <td>robgjansen</td>
237)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

238) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

239)       <tr>
Damian Johnson Dropping alpha flag from stem

Damian Johnson authored 11 years ago

240)         <td><a href="#project-stem">Stem</a></td>
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

241)         <td>Library</td>
242)         <td>Python</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

243)         <td>Moderate</td>
Damian Johnson Adjusting the volunteer pro...

Damian Johnson authored 11 years ago

244)         <td>atagar</td>
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

245)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

246) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

247)       <tr>
Damian Johnson Adding Txtorcon to the volu...

Damian Johnson authored 11 years ago

248)         <td><a href="#project-txtorcon">Txtorcon</a></td>
249)         <td>Library</td>
250)         <td>Python, Twisted</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

251)         <td>Light</td>
Damian Johnson Adding Txtorcon to the volu...

Damian Johnson authored 11 years ago

252)         <td>meejah</td>
253)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

254) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

255)       <tr>
Damian Johnson Adding tlsdate to the volun...

Damian Johnson authored 11 years ago

256)         <td><a href="#project-tlsdate">Tlsdate</a></td>
257)         <td>Utility</td>
258)         <td>C</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

259)         <td>Heavy</td>
Damian Johnson Adding tlsdate to the volun...

Damian Johnson authored 11 years ago

260)         <td>ioerror</td>
261)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

262) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

263)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

264)         <td><a href="#project-metrics">Metrics</a></td>
265)         <td>Client Service</td>
266)         <td>Java</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

267)         <td>Light</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

268)         <td>karsten</td>
269)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

270) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

271)       <tr>
Damian Johnson Adding Atlas and Onionoo to...

Damian Johnson authored 12 years ago

272)         <td><a href="#project-atlas">Atlas</a></td>
273)         <td>Client Service</td>
274)         <td>JavaScript</td>
Damian Johnson Restoring r25975, minus stu...

Damian Johnson authored 11 years ago

275)         <td>Light</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

276)         <td></td>
Damian Johnson Adding Atlas and Onionoo to...

Damian Johnson authored 12 years ago

277)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

278) 
Damian Johnson Adding Globe to the volunte...

Damian Johnson authored 10 years ago

279)       <tr>
280)         <td><a href="#project-globe">Globe</a></td>
281)         <td>Client Service</td>
282)         <td>JavaScript</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

283)         <td>None</td>
284)         <td></td>
Damian Johnson Adding Globe to the volunte...

Damian Johnson authored 10 years ago

285)       </tr>
286) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

287)       <tr>
Damian Johnson Adding Compass and Pyoninoo...

Damian Johnson authored 11 years ago

288)         <td><a href="#project-compass">Compass</a></td>
289)         <td>Client Service</td>
290)         <td>Python</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

291)         <td>None</td>
292)         <td></td>
Damian Johnson Adding Compass and Pyoninoo...

Damian Johnson authored 11 years ago

293)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

294) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

295)       <tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

296)         <td><a href="#project-onionoo">Onionoo</a></td>
297)         <td>Backend Service</td>
Karsten Loesing Stop mentioning Pyonionoo,...

Karsten Loesing authored 9 years ago

298)         <td>Java</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

299)         <td>Heavy</td>
Karsten Loesing Stop mentioning Pyonionoo,...

Karsten Loesing authored 9 years ago

300)         <td>karsten</td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

301)       </tr>
302) 
Damian Johnson Adding DocTor to the volunt...

Damian Johnson authored 10 years ago

303)       <tr>
304)         <td><a href="#project-doctor">DocTor</a></td>
305)         <td>Backend Service</td>
306)         <td>Python</td>
307)         <td>Light</td>
308)         <td>atagar</td>
309)       </tr>
310) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

311)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

312)         <td><a href="#project-weather">Weather</a></td>
313)         <td>Client Service</td>
314)         <td>Python</td>
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

315)         <td>None</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

316)         <td>kaner</td>
317)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

318) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

319)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

320)         <td><a href="#project-gettor">GetTor</a></td>
321)         <td>Client Service</td>
322)         <td>Python</td>
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

323)         <td>None</td>
Damian Johnson Modifications for the proje...

Damian Johnson authored 13 years ago

324)         <td>kaner</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

325)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

326) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

327)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

328)         <td><a href="#project-torcheck">TorCheck</a></td>
329)         <td>Client Service</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 10 years ago

330)         <td>Go</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

331)         <td>None</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 10 years ago

332)         <td>Arlo</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

333)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

334) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

335)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

336)         <td><a href="#project-bridgedb">BridgeDB</a></td>
337)         <td>Backend Service</td>
338)         <td>Python</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

339)         <td>None</td>
340)         <td>isis</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

341)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

342) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

343)       <tr>
Damian Johnson Restoring r25975, minus stu...

Damian Johnson authored 11 years ago

344)         <td><a href="#project-ooni-probe">Ooni Probe</a></td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

345)         <td>Scanner</td>
346)         <td>Python</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

347)         <td>Heavy</td>
348)         <td>hellais, aagbsn</td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

349)       </tr>
350) 
Damian Johnson Adding TorPS to voluneer page

Damian Johnson authored 10 years ago

351)       <tr>
352)         <td><a href="#project-torps">TorPS</a></td>
353)         <td>Backend Service</td>
354)         <td>Python</td>
355)         <td>Light</td>
356)         <td>Aaron Johnson</td>
357)       </tr>
358) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

359)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

360)         <td><a href="#project-torflow">TorFlow</a></td>
361)         <td>Backend Service</td>
362)         <td>Python</td>
Damian Johnson Few minor tweaks for the vo...

Damian Johnson authored 11 years ago

363)         <td>None</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

364)         <td>aagbsn</td>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

365)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

366) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

367)       <tr>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

368)         <td>*<a href="#project-torbel">TorBEL</a></td>
369)         <td>Backend Service</td>
370)         <td>Python</td>
371)         <td>None</td>
372)         <td>Sebastian</td>
373)       </tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

374) 
Damian Johnson Using a better method to st...

Damian Johnson authored 10 years ago

375)       <tr>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

376)         <td><a href="#project-tor2web">Tor2web</a></td>
377)         <td>Client Service</td>
Roger Dingledine add in my fixes from earlier

Roger Dingledine authored 11 years ago

378)         <td>Python</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

379)         <td>None</td>
Damian Johnson Noting evilaliv3 as a Tor2w...

Damian Johnson authored 10 years ago

380)         <td>evilaliv3, hellais</td>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

381)       </tr>
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

382) 
Damian Johnson Dropping thandy from the vo...

Damian Johnson authored 10 years ago

383)       <tr>
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

384)         <td><a href="#project-anonbib">Anonbib</a></td>
385)         <td>Website</td>
Roger Dingledine add in my fixes from earlier

Roger Dingledine authored 11 years ago

386)         <td>Python</td>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

387)         <td>Moderate</td>
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

388)         <td>arma, nickm</td>
389)       </tr>
390) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

391)     </table>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

392) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

393)     <sub>
394)     * Project is still in an alpha state.
395)     </sub>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

396) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

397)     <br /><br />
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

398) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

399)     <a id="project-tor"></a>
400)     <h3>Tor (<a href="https://gitweb.torproject.org/tor.git">code</a>, <a
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

401)     href="https://trac.torproject.org/projects/tor/report/12">bug
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

402)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

403) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

404)     <p>
405)     Central project, providing the core software for using and participating in
406)     the Tor network. Numerous people contribute to the project to varying
407)     extents, but the chief architects are Nick Mathewson and Roger Dingledine.
408)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

409) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

410)     <p>
411)     <b>Project Ideas:</b><br />
Damian Johnson Adding revised tor project...

Damian Johnson authored 11 years ago

412)     <i><a href="#torCleanup">Tor Codebase Cleanup</a></i><br />
Damian Johnson Adding Tor and Orbot projec...

Damian Johnson authored 10 years ago

413)     <i><a href="#improveTorTestCoverage">Improve test coverage in Tor</a></i><br />
414)     <i><a href="#useMoreCores">Have the Tor daemon use more cores</a></i><br />
415)     <i><a href="#improveHiddenServices">Help improve Tor hidden services</a></i><br />
416)     <i><a href="#consensusDiffs">Implement consensus diffs</a></i><br />
417)     <i><a href="#improvedDnsSupport">Improved DNS support for Tor</a></i><br />
418)     <i><a href="#torSandboxing">Help improve Tor sandboxing</a></i>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

419)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

420) 
Damian Johnson Merging TBB and TorBrowser...

Damian Johnson authored 11 years ago

421)     <a id="project-torbrowser"></a>
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

422)     <h3><a href="<page projects/torbrowser>">Tor Browser</a> (<a
Damian Johnson Updating the volunteer page...

Damian Johnson authored 9 years ago

423)     href="https://gitweb.torproject.org/torbutton.git">code</a>, <a
424)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Torbutton&component=Tor+Launcher&component=Tor+Browser&component=Tor+bundles%2Finstallation&col=id&col=summary&col=status&col=owner&col=type&col=priority&col=milestone&order=priority">bug
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

425)     tracker</a>, <a href="https://www.torproject.org/projects/torbrowser/design/">design doc</a>)</h3>
426) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

427)     <p>
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

428)     Tor Browser is an easy-to-use, portable package of Tor, HTTPS-Everywhere, 
429)     NoScript, TorLauncher, Torbutton, and a Firefox fork, all  preconfigured 
430)     to work together out of
431)     the box. The modified copy of Firefox aims to resolve the
Damian Johnson Merging TBB and TorBrowser...

Damian Johnson authored 11 years ago

432)     privacy and security issues in mainline version.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

433)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

434) 
Damian Johnson Adding Panopticlick project...

Damian Johnson authored 10 years ago

435)     <p>
436)     <b>Project Ideas:</b><br />
437)     <i><a href="#panopticlick">Panopticlick</a></i><br />
438)     </p>
439) 
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

440)     <a id="project-httpseverywhere"></a>
441)     <h3><a href="https://www.eff.org/https-everywhere">HTTPS Everywhere</a> (<a
442)     href="https://gitweb.torproject.org/https-everywhere.git">code</a>, <a
443)     href="https://trac.torproject.org/projects/tor/report/19">bug
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

444)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

445) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

446)     <p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

447)     HTTPS Everywhere is a Firefox and Chrome extension that encrypts
448)     your communications with many major websites, making your browsing
449)     more secure.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

450)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

451) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

452)     <a id="project-vidalia"></a>
453)     <h3><a href="<page projects/vidalia>">Vidalia</a> (<a
Damian Johnson Several projects have moved...

Damian Johnson authored 12 years ago

454)     href="https://gitweb.torproject.org/vidalia.git">code</a>, <a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

455)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Vidalia&order=priority">bug
456)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

457) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

458)     <p>
459)     The most commonly used user interface for Tor. Matt Edman started the
460)     project in 2006 and brought it to its current stable state. Development
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

461)     slowed for several years, though Tomás Touceda has since taken the
462)     lead with pushing the project forward.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

463)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

464) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

465)     <a id="project-arm"></a>
Damian Johnson Switching to https links fo...

Damian Johnson authored 10 years ago

466)     <h3><a href="https://www.atagar.com/arm/">Arm</a> (<a
Damian Johnson Several projects have moved...

Damian Johnson authored 12 years ago

467)     href="https://gitweb.torproject.org/arm.git">code</a>, <a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

468)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=arm&order=priority">bug
469)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

470) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

471)     <p>
Peter Palfrader Use atagar's new text for arm

Peter Palfrader authored 11 years ago

472)     The anonymizing relay monitor (arm) is a terminal status monitor for Tor,
473)     intended for command-line aficionados, ssh connections, and anyone with a
474)     tty terminal. This works much like top does for system usage, providing
475)     real time statistics for bandwidth, resource usage, connections, and quite
476)     a bit more.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

477)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

478) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

479)     <a id="project-orbot"></a>
480)     <h3><a href="https://guardianproject.info/apps/orbot/">Orbot</a> (<a
Damian Johnson Several projects have moved...

Damian Johnson authored 12 years ago

481)     href="https://gitweb.torproject.org/orbot.git">code</a>, <a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

482)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Orbot&order=priority">bug
483)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

484) 
485)     <p>
Matt Pagan Updated Orbot project descr...

Matt Pagan authored 10 years ago

486)     Provides Tor on the Android platform. The project is under active 
487)     development, updates to latest Tor releases, and working to stay up to 
488)     date with all changes in Android and mobile threats.
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

489)     </p>
490) 
Damian Johnson Adding Tor and Orbot projec...

Damian Johnson authored 10 years ago

491)     <p>
492)     <b>Project Ideas:</b><br />
493)     <i><a href="#orbotVPN">Orbot Android VPN</a></i><br />
494)     <i><a href="#orfox">Orfox - Firefox/Gecko-based Android Browser for Tor</a></i>
495)     </p>
496) 
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

497)     <a id="project-tails"></a>
498)     <h3><a href="https://tails.boum.org/">The Amnesic Incognito Live System</a> (<a
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

499)     href="https://git-tails.immerda.ch/tails/">code</a>, <a
500)     href="https://labs.riseup.net/code/projects/tails">bug
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

501)     tracker</a>)</h3>
502) 
503)     <p>
504)     The Amnesic Incognito Live System is a live CD/USB distribution
505)     preconfigured so that everything is safely routed through Tor and leaves no
506)     trace on the local system. This is a merger of the Amnesia and <a
507)     href="http://www.anonymityanywhere.com/incognito/">Incognito</a> projects,
508)     and still under very active development.
509)     </p>
510) 
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

511)     <a id="project-torramdisk"></a>
512)     <h3><a href="http://opensource.dyc.edu/tor-ramdisk">Tor-ramdisk</a> (<a
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

513)     href="https://gitweb.torproject.org/tor-ramdisk.git">code</a>, <a
Roger Dingledine details on tor-ramdisk

Roger Dingledine authored 11 years ago

514)     href="http://opensource.dyc.edu/tor-ramdisk-documentation">documentation</a>)</h3>
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

515) 
516)     <p>
Roger Dingledine details on tor-ramdisk

Roger Dingledine authored 11 years ago

517)     Tor-ramdisk is a uClibc-based micro Linux distribution whose sole
518)     purpose is to securely host a Tor server purely in RAM.
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

519)     </p>
520) 
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

521)     <a id="project-torsocks"></a>
Roger Dingledine stop linking to google code...

Roger Dingledine authored 10 years ago

522)     <h3>Torsocks (<a
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

523)     href="https://gitweb.torproject.org/torsocks.git">code</a>, <a
524)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Torify&order=priority">bug
525)     tracker</a>)</h3>
526) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

527)     <p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

528)     Utility for adapting other applications to work with Tor. Development has
529)     slowed and compatibility issues remain with some platforms, but it's
530)     otherwise feature complete.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

531)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

532) 
Damian Johnson Adding TorBirdy to the proj...

Damian Johnson authored 11 years ago

533)     <a id="project-torbirdy"></a>
534)     <h3>TorBirdy (<a
535)     href="https://github.com/ioerror/torbirdy">code</a>, <a
536)     href="https://trac.torproject.org/projects/tor/wiki/torbirdy/dev">bug
537)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

538) 
Damian Johnson Adding TorBirdy to the proj...

Damian Johnson authored 11 years ago

539)     <p>
540)     TorBirdy is Torbutton for Thunderbird and related Mozilla mail clients.
541)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

542) 
Damian Johnson Adding the 'Make TorBirdy B...

Damian Johnson authored 10 years ago

543)     <p>
544)     <b>Project Ideas:</b><br />
545)     <i><a href="#makeTorbirdyBetter">Make TorBirdy Better</a></i>
546)     </p>
547) 
Damian Johnson Adding obfsproxy to the vol...

Damian Johnson authored 12 years ago

548)     <a id="project-obfsproxy"></a>
Roger Dingledine the beginnings of a volunte...

Roger Dingledine authored 11 years ago

549)     <h3><a href="<page projects/obfsproxy>">Obfsproxy</a> (<a
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

550)     href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git">code</a>,
551)     <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Pluggable+transport&order=priority">bug
Damian Johnson Adding obfsproxy to the vol...

Damian Johnson authored 12 years ago

552)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

553) 
Damian Johnson Adding obfsproxy to the vol...

Damian Johnson authored 12 years ago

554)     <p>
555)     A proxy that shapes Tor traffic, making it harder for censors to detect and
Damian Johnson Restoring r25975, minus stu...

Damian Johnson authored 11 years ago

556)     block Tor. This has both a C and python implementation.
Damian Johnson Adding obfsproxy to the vol...

Damian Johnson authored 12 years ago

557)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

558) 
Damian Johnson Couple more GSoC projects f...

Damian Johnson authored 11 years ago

559)     <p>
560)     <b>Project Ideas:</b><br />
George Kadianakis Link to some obfsproxy codi...

George Kadianakis authored 9 years ago

561)     <i><a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports#Helpneeded">Various coding tasks</a></i> <br/>
Damian Johnson Couple more GSoC projects f...

Damian Johnson authored 11 years ago

562)     <i><a href="#betterPluggableTransports">Build Better Pluggable Transports</a></i>
563)     </p>
564) 
Damian Johnson Adding Flash Proxy to the p...

Damian Johnson authored 11 years ago

565)     <a id="project-flash-proxy"></a>
566)     <h3><a href="https://crypto.stanford.edu/flashproxy/">Flash Proxy</a> (<a
567)     href="https://gitweb.torproject.org/flashproxy.git">code</a>, <a
568)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_information&status=needs_review&status=needs_revision&status=new&status=reopened&component=Flashproxy">bug
569)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

570) 
Damian Johnson Adding Flash Proxy to the p...

Damian Johnson authored 11 years ago

571)     <p>
572)     Pluggable transport using proxies running in web browsers to defeat
573)     address-based blocking.
574)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

575) 
Damian Johnson Volunteer page entry for Sh...

Damian Johnson authored 12 years ago

576)     <a id="project-shadow"></a>
577)     <h3><a href="https://shadow.cs.umn.edu/">Shadow</a> (<a
578)     href="https://github.com/shadow">code</a>, <a
579)     href="https://github.com/shadow/shadow/issues">bug
580)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

581) 
Damian Johnson Volunteer page entry for Sh...

Damian Johnson authored 12 years ago

582)     <p>
583)     Shadow is a discrete-event network simulator that runs the real
584)     Tor software as a plug-in. Shadow is open-source software that enables
585)     accurate, efficient, controlled, and repeatable Tor experimentation.
Roger Dingledine work experimentor and torpe...

Roger Dingledine authored 11 years ago

586)     For another simulator, see <a
587)     href="http://crysp.uwaterloo.ca/software/exptor/">ExperimenTor</a>.
Damian Johnson Volunteer page entry for Sh...

Damian Johnson authored 12 years ago

588)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

589) 
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

590)     <a id="project-stem"></a>
Damian Johnson Updating stem's url

Damian Johnson authored 11 years ago

591)     <h3><a href="https://stem.torproject.org/">Stem</a> (<a
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

592)     href="https://gitweb.torproject.org/stem.git">code</a>, <a
Damian Johnson Adding stem to the projects...

Damian Johnson authored 11 years ago

593)     href="https://trac.torproject.org/projects/tor/wiki/doc/stem/bugs">bug
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

594)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

595) 
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

596)     <p>
Damian Johnson Dropping TorCtl from the pr...

Damian Johnson authored 11 years ago

597)     Python controller library for scripts and controller applications using
598)     Tor.
Damian Johnson Adding stem to volunteer ta...

Damian Johnson authored 12 years ago

599)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

600) 
Damian Johnson Stem PathSupport project idea

Damian Johnson authored 12 years ago

601)     <p>
602)     <b>Project Ideas:</b><br />
Damian Johnson Adding a project for cross...

Damian Johnson authored 11 years ago

603)     <i><a href="#txtorcon-stemIntegration">Txtorcon/Stem Integration</a></i><br />
Damian Johnson Adding Panopticlick project...

Damian Johnson authored 10 years ago

604)     <i><a href="#relayWebPanel">Relay Web Status Panel</a></i><br />
Damian Johnson Stem PathSupport project idea

Damian Johnson authored 12 years ago

605)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

606) 
Damian Johnson Adding Txtorcon to the volu...

Damian Johnson authored 11 years ago

607)     <a id="project-txtorcon"></a>
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

608)     <h3><a href="https://txtorcon.readthedocs.org">Txtorcon</a> (<a
Damian Johnson Adding Txtorcon to the volu...

Damian Johnson authored 11 years ago

609)     href="https://github.com/meejah/txtorcon">code</a>, <a
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

610)     href="https://github.com/meejah/txtorcon/issues">bug tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

611) 
Damian Johnson Adding Txtorcon to the volu...

Damian Johnson authored 11 years ago

612)     <p>
613)     Twisted-based asynchronous Tor control protocol implementation. Includes
614)     unit-tests, examples, state-tracking code and configuration abstraction.
615)     Used by OONI and APAF.
616)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

617) 
Damian Johnson Adding a project for cross...

Damian Johnson authored 11 years ago

618)     <p>
619)     <b>Project Ideas:</b><br />
620)     <i><a href="#txtorcon-stemIntegration">Txtorcon/Stem Integration</a></i>
621)     </p>
622) 
Damian Johnson Adding tlsdate to the volun...

Damian Johnson authored 11 years ago

623)     <a id="project-tlsdate"></a>
624)     <h3>Tlsdate (<a href="https://github.com/ioerror/tlsdate">code</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

625) 
Damian Johnson Adding tlsdate to the volun...

Damian Johnson authored 11 years ago

626)     <p>
627)     tlsdate: secure parasitic rdate replacement
628)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

629) 
Damian Johnson Adding tlsdate to the volun...

Damian Johnson authored 11 years ago

630)     <p>
631)     tlsdate sets the local clock by securely connecting with TLS to remote
632)     servers and extracting the remote time out of the secure handshake. Unlike
633)     ntpdate, tlsdate uses TCP, for instance connecting to a remote HTTPS or TLS
634)     enabled service, and provides some protection against adversaries that try
635)     to feed you malicious time information.
636)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

637) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

638)     <a id="project-metrics"></a>
639)     <h3><a href="https://metrics.torproject.org/">Metrics</a> (code: <a
640)     href="https://gitweb.torproject.org/metrics-db.git">db</a>, <a
641)     href="https://gitweb.torproject.org/metrics-utils.git">utils</a>, <a
Damian Johnson Updating volunteer page pro...

Damian Johnson authored 10 years ago

642)     href="https://gitweb.torproject.org/metrics-web.git">web</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

643) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

644)     <p>
645)     Processing and analytics of consensus data, provided to users via the
646)     metrics portal. This has been under active development for several years by
Roger Dingledine work experimentor and torpe...

Roger Dingledine authored 11 years ago

647)     Karsten Loesing. See also <a
648)     href="https://gitweb.torproject.org/torperf.git">TorPerf</a>.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

649)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

650) 
Damian Johnson Adding Atlas and Onionoo to...

Damian Johnson authored 12 years ago

651)     <a id="project-atlas"></a>
652)     <h3><a href="https://atlas.torproject.org/">Atlas</a> (<a
653)     href="https://gitweb.torproject.org/atlas.git">code</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

654) 
Damian Johnson Adding Atlas and Onionoo to...

Damian Johnson authored 12 years ago

655)     <p>
656)     Atlas is a web application to discover Tor relays and bridges. It provides
657)     useful information on how relays are configured along with graphics about
Damian Johnson Removing TorStatus from the...

Damian Johnson authored 10 years ago

658)     their past usage.
Damian Johnson Adding Atlas and Onionoo to...

Damian Johnson authored 12 years ago

659)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

660) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

661)     <p>
Damian Johnson Removing TorStatus from the...

Damian Johnson authored 10 years ago

662)     This is the spiritual successor to <a
663)     href="https://gitweb.torproject.org/torstatus.git">TorStatus</a>, the <a
Damian Johnson Noting the django torstatus...

Damian Johnson authored 12 years ago

664)     href="https://svn.torproject.org/svn/torstatus/trunk/">original
Damian Johnson Removing TorStatus from the...

Damian Johnson authored 10 years ago

665)     codebase</a> for which was written in PHP, and rewritten by students from
666)     Wesleyan as Django.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

667)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

668) 
Damian Johnson Adding Globe to the volunte...

Damian Johnson authored 10 years ago

669)     <a id="project-globe"></a>
670)     <h3><a href="http://globe.rndm.de/">Globe</a> (<a
671)     href="https://github.com/makepanic/globe">code</a>, <a
672)     href="https://github.com/makepanic/globe/issues">bug tracker</a>)</h3>
673) 
674)     <p>
675)     Globe is a web application that allows you to search for Tor relays and
676)     bridges. It gives you a detailed overview of properties and configurations
677)     of a relay or bridge.
678)     </p>
679) 
Damian Johnson Adding Compass and Pyoninoo...

Damian Johnson authored 11 years ago

680)     <a id="project-compass"></a>
681)     <h3><a href="https://compass.torproject.org/">Compass</a> (<a
682)     href="https://gitweb.torproject.org/compass.git">code</a>, <a
683)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Compass&order=priority">bug
684)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

685) 
Damian Johnson Adding Compass and Pyoninoo...

Damian Johnson authored 11 years ago

686)     <p>
687)     Compass is a web and command line application that filters and
688)     aggregates the Tor relays based on various attributes.
689)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

690) 
691)     <a id="project-onionoo"></a>
Karsten Loesing Delete Onionoo project page...

Karsten Loesing authored 9 years ago

692)     <h3><a href="https://onionoo.torproject.org/">Onionoo</a> (<a
693)     href="https://gitweb.torproject.org/onionoo.git">code</a>,
694)     <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Onionoo&order=priority">bug tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

695) 
696)     <p>
697)     Onionoo is a JSON based protocol to learn information about currently
698)     running Tor relays and bridges.
699)     </p>
700) 
Damian Johnson Adding DocTor to the volunt...

Damian Johnson authored 10 years ago

701)     <a id="project-doctor"></a>
702)     <h3>DocTor (<a
703)     href="https://gitweb.torproject.org/doctor.git">code</a>, <a
704)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=DocTor&order=priority">bug
705)     tracker</a>)</h3>
706) 
707)     <p>
708)     DocTor is a notification service that monitors newly published descriptor
709)     information for issues. This is primarily a service to help the tor
710)     directory authority operators, but it also checks for a handful of other
711)     issues like sybil attacks.
712)     </p>
713) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

714)     <a id="project-weather"></a>
Damian Johnson Fixing volunteer page links...

Damian Johnson authored 12 years ago

715)     <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/Weather">Weather</a> (<a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

716)     href="https://gitweb.torproject.org/weather.git">code</a>, <a
717)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Tor+Weather&order=priority">bug
718)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

719) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

720)     <p>
721)     Provides automatic notification to subscribed relay operators when their
722)     relay's unreachable. This underwent a rewrite by the <a
723)     href="http://hfoss.wesleyan.edu/">Wesleyan HFOSS team</a>, which went live
724)     in early 2011.
725)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

726) 
Damian Johnson Adding Weather and Stegotor...

Damian Johnson authored 10 years ago

727)     <p>
728)     <b>Project Ideas:</b><br />
729)     <i><a href="#rewriteWeather">Rewrite Tor Weather</a></i><br />
730)     </p>
731) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

732)     <a id="project-gettor"></a>
Damian Johnson Fixing volunteer page links...

Damian Johnson authored 12 years ago

733)     <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/GetTor">GetTor</a> (<a
Damian Johnson Several projects have moved...

Damian Johnson authored 12 years ago

734)     href="https://gitweb.torproject.org/gettor.git">code</a>, <a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

735)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=GetTor&order=priority">bug
736)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

737) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

738)     <p>
739)     E-mail autoresponder providing Tor's packages over SMTP. This has been
740)     relatively unchanged for quite a while.
741)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

742) 
Damian Johnson Adding 'Revamp GetTor' project

Damian Johnson authored 10 years ago

743)     <p>
744)     <b>Project Ideas:</b><br />
745)     <i><a href="#revamp_gettor">Revamp GetTor</a></i>
746)     </p>
747) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

748)     <a id="project-torcheck"></a>
Damian Johnson Fixing volunteer page links...

Damian Johnson authored 12 years ago

749)     <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/TorCheck">TorCheck</a> (<a
Damian Johnson Updating the volunteer page...

Damian Johnson authored 10 years ago

750)     href="https://gitweb.torproject.org/check.git">code</a>, <a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

751)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Tor+Check&order=priority">bug
752)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

753) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

754)     <p>
Damian Johnson Updating the volunteer page...

Damian Johnson authored 10 years ago

755)     Site for determining if the visitor is using Tor or not.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

756)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

757) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

758)     <a id="project-bridgedb"></a>
Damian Johnson Fixing volunteer page links...

Damian Johnson authored 12 years ago

759)     <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/BridgeDB">BridgeDB</a> (<a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

760)     href="https://gitweb.torproject.org/bridgedb.git">code</a>, <a
761)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=BridgeDB&order=priority">bug
762)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

763) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

764)     <p>
765)     Backend bridge distributor, handling the various pools they're distributed
766)     in. This was actively developed until Fall of 2010.
767)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

768) 
Damian Johnson Adding 'New BridgeDB Distri...

Damian Johnson authored 10 years ago

769)     <p>
770)     <b>Project Ideas:</b><br />
771)     <i><a href="#newBridgedbDistributor">New BridgeDB Distributor</a></i>
772)     </p>
773) 
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

774)     <a id="project-ooni-probe"></a>
Damian Johnson Linking to Ooni Probe's sit...

Damian Johnson authored 11 years ago

775)     <h3><a href="https://ooni.torproject.org/">Ooni Probe</a> (<a
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

776)     href="https://gitweb.torproject.org/ooni-probe.git">code</a>, <a
777)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Ooni&order=priority">bug
778)     tracker</a>)</h3>
779) 
780)     <p>
781)     Censorship scanner, checking your local connection for blocked or modified
782)     content.
783)     </p>
784) 
Damian Johnson Adding Ooni Probe simulator...

Damian Johnson authored 11 years ago

785)     <p>
786)     <b>Project Ideas:</b><br />
Damian Johnson Add ooniprobe project idea

Damian Johnson authored 10 years ago

787)     <i><a href="#censorshipAnalyzer">Develop a Censorship Analyzer</a></i><br />
788)     <i><a href="#ooniprobePcapsSupport">Add Support for Reporting Pcaps to OoniBackend and OoniProbe</a></i>
Damian Johnson Adding Ooni Probe simulator...

Damian Johnson authored 11 years ago

789)     </p>
790) 
Damian Johnson Adding TorPS to voluneer page

Damian Johnson authored 10 years ago

791)     <a id="project-torps"></a>
792)     <h3>TorPS</a> (<a href="https://github.com/torps/torps">code</a>)</h3>
793) 
794)     <p>
795)     The Tor Path Simulator (TorPS) is a tool for efficiently simulating
796)     path selection in Tor. It chooses circuits and assigns user streams to
797)     those circuits in the same way that Tor does. TorPS is fast enough to
798)     perform thousands of simulations over periods of months.
799)     </p>
800) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

801)     <a id="project-torflow"></a>
Damian Johnson Fixing volunteer page links...

Damian Johnson authored 12 years ago

802)     <h3><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/TorFlow">TorFlow</a> (<a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

803)     href="https://gitweb.torproject.org/torflow.git">code</a>, <a
804)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=Torflow&order=priority">bug
805)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

806) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

807)     <p>
808)     Library and collection of services for actively monitoring the Tor network.
809)     These include the Bandwidth Scanners (measuring throughput of relays) and
810)     SoaT (scans for malicious or misconfigured exit nodes). SoaT was last
811)     actively developed in the Summer of 2010, and the Bandwidth Scanners a few
812)     months later. Both have been under active use since then, but development
813)     has stopped.
814)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

815) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

816)     <a id="project-torbel"></a>
817)     <h3><a
Sebastian Hahn Update links for torbel on...

Sebastian Hahn authored 12 years ago

818)     href="https://blog.torproject.org/blog/torbel-tor-bulk-exit-list-tools">TorBEL</a> (<a
819)     href="https://gitweb.torproject.org/torbel.git">code</a>, <a
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

820)     href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_review&status=new&status=reopened&component=TorDNSEL/TorBEL&order=priority">bug
821)     tracker</a>)</h3>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

822) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

823)     <p>
824)     The Tor Bulk Exitlist provides a method of identifying if IPs belong to
825)     exit nodes or not. This is a replacement for TorDNSEL which is a stable
826)     (though unmaintained) Haskell application for this purpose. The initial
827)     version of TorBEL was started in GSOC 2010 but since then the project has
828)     been inactive.
829)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

830) 
831)     <a id="project-tor2web"></a>
832)     <h3><a
833)     href="http://wiki.tor2web.org/index.php/Main_Page">Tor2web</a> (<a
834)     href="https://github.com/globaleaks/tor2web-3.0/wiki">code</a>)</h3>
835) 
836)     <p>
837)     Tor2web allows Internet users to browse websites running in <a
838)     href="<page docs/hidden-services>">Tor hidden services</a>. It trades
839)     user anonymity for usability by allowing anonymous content to be
840)     distributed to non-anonymous users.
841)     </p>
842) 
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

843)     <a id="project-anonbib"></a>
844)     <h3><a
845)     href="http://freehaven.net/anonbib/">Anonymity Bibliography</a> (<a
846)     href="https://gitweb.torproject.org/anonbib.git">code</a>)</h3>
847) 
848)     <p>
Roger Dingledine add in my fixes from earlier

Roger Dingledine authored 11 years ago

849)     Anonbib is a list of important papers in the field of anonymity. It's
850)     also a set of scripts to generate the website from Latex (bibtex). If
851)     we're missing any important papers, please let us know!
Peter Palfrader Revert "Projects Table Revi...

Peter Palfrader authored 11 years ago

852)     </p>
853) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

854)     <a id="Coding"></a>
855)     <a id="Summer"></a>
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

856)     <h2><a class="anchor" href="#Coding">Project Ideas</a></h2>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

857) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

858)     <p>
Damian Johnson Suggested OPW revisions

Damian Johnson authored 11 years ago

859)     You may find some of these projects to be good ideas for <a href="<page
860)     about/gsoc>">Google Summer of Code</a> and the <a
861)     href="https://live.gnome.org/OutreachProgramForWomen">Outreach Program for
Damian Johnson Dropping mention of priorit...

Damian Johnson authored 11 years ago

862)     Women</a>. We have labelled each idea with how much work we expect it would
863)     be (effort level), how much clue you should start with (skill level),
864)     and which of our <a href="<page about/corepeople>">core developers</a>
865)     would be good mentors. If one or more of these ideas looks promising to
866)     you, please <a href="<page about/contact>">contact us</a> to discuss your
867)     plans rather than sending blind applications. You may also want to propose
868)     your own project idea &mdash; which often results in the best applications.
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

869)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

870) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

871)     <ol>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

872) 
Damian Johnson Adding a project for cross...

Damian Johnson authored 11 years ago

873)     <a id="txtorcon-stemIntegration"></a>
874)     <li>
875)     <b>Txtorcon/Stem Integration</b>
876)     <br>
877)     Effort Level: <i>Medium</i>
878)     <br>
879)     Skill Level: <i>Medium</i>
880)     <br>
881)     Likely Mentors: <i>meejah, Damian (atagar)</i>
882)     <p>Txtorcon is a Twisted-based Python controller library, and Stem is a
883)     synchronous (threaded) one, also in Python. There is no need to have
884)     two implementations of (at least) the protocol parsing code. This
885)     project would entail eliminating duplication by leveraging Stem's
886)     parsing in txtorcon while keeping txtorcon's API the same (or at least
887)     close).</p>
Damian Johnson Subtasks for txtorcon/stem...

Damian Johnson authored 11 years ago

888)     <p>Besides this you should identify some additional tasks to improve our
889)     controller space across these two libraries. Some ideas are...</p>
890)     <ul>
891)       <li>Write a tutorial for <a
892)       href="https://stem.torproject.org/tutorials.html">stem's tutorial
893)       page</a> demonstrating cross txtorcon/stem usage.</li>
894)       <li>Expand the txtorcon API to include functionality of <a
895)       href="https://gitweb.torproject.org/stem.git/blob/HEAD:/stem/control.py">stem's
896)       controller</a> that would be of interest to twisted users. All additions
897)       should include tests!</li>
898)       <li>Come up with some ideas of your own! We'd love to discuss them with
899)       you.</li>
900)     </ul>
Damian Johnson Adding a project for cross...

Damian Johnson authored 11 years ago

901)     <p>This would very likely involve changes to both libraries, although
902)     most would be expected to be in txtorcon. meejah is available to
903)     mentor txtorcon changes, and Damian (atagar) can help with Stem.</p>
904)     <p>It would help if you're already familiar with event-based programming,
905)     bonus points if it's Twisted.</p>
906)     </li>
907) 
Damian Johnson Adding 'Relay Web Status Pa...

Damian Johnson authored 10 years ago

908)     <a id="relayWebPanel"></a>
909)     <li>
Damian Johnson Noting Torouter as a potent...

Damian Johnson authored 10 years ago

910)     <b>Relay Web Status Dashboard</b>
Damian Johnson Adding 'Relay Web Status Pa...

Damian Johnson authored 10 years ago

911)     <br>
912)     Effort Level: <i>Medium</i>
913)     <br>
914)     Skill Level: <i>Medium</i>
915)     <br>
916)     Likely Mentors: <i>Damian (atagar)</i>
917)     <p>
918)     Relay operators presently have a couple options for monitoring the status
919)     of their relay: <a
Roger Dingledine and clean up links in the v...

Roger Dingledine authored 10 years ago

920)     href="#project-vidalia">Vidalia</a>
Damian Johnson Adding 'Relay Web Status Pa...

Damian Johnson authored 10 years ago

921)     which is a gui and <a href="https://www.atagar.com/arm/">arm</a> which uses
922)     curses. This project would be to make a new kind of monitor specifically
923)     for relay operators that provides a status dashboard site on localhost.
924)     </p>
925)     <p>
926)     The interface will likely <a
927)     href="https://www.atagar.com/arm/screenshots.php">borrow heavily from
928)     arm</a>, except of course in areas where we can improve upon it. Two
929)     important design constraints is that a localhost controller provides a
930)     bigger attack surface than guis or curses, so we should be a little more
931)     wary of what it does. This should be a read-only controller (ie, you can't
932)     *do* anything to the relay) and by default not surface any sensitive
Damian Johnson Adding a note to look at nt...

Damian Johnson authored 10 years ago

933)     information (such as arm's connection panel). Also take a peek at <a
934)     href="http://www.ntop.org/products/ntop/">ntop</a> for ideas on what we can
935)     do with a web interface.
Damian Johnson Adding 'Relay Web Status Pa...

Damian Johnson authored 10 years ago

936)     </p>
937)     <p>
938)     This project will likely include two parts: an AJAX site and a localhost
939)     daemon to fulfill those requests. <a
940)     href="https://stem.torproject.org/">Stem</a> is the backend of arm, and can
941)     be used to get everything you see in arm's interface (making it a natural
942)     choice for the daemon). That said, this project might entail some Stem
943)     improvements if we run across any gaps.
944)     </p>
945)     <p>
946)     Applicants should be familiar with Python, JavaScript, and learn about
947)     <a href="https://stem.torproject.org/">Stem</a>. <b>As part of your
948)     application for this project please make both mockups of the interface and
949)     a proof of concept demo application using JS to surface something with
950)     Stem. <a
951)     href="https://trac.torproject.org/projects/tor/wiki/doc/stem/bugs">Involvement
952)     with Stem development</a> during the application process is also a big
953)     plus.</b>
954)     </p>
955)     </li>
956) 
Damian Johnson Dropping task priority and...

Damian Johnson authored 11 years ago

957)     <a id="torCleanup"></a>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

958)     <li>
Damian Johnson Dropping task priority and...

Damian Johnson authored 11 years ago

959)     <b>Tor Codebase Cleanup</b>
Sebastian Hahn We decided to go with HTML...

Sebastian Hahn authored 13 years ago

960)     <br>
Damian Johnson Dropping task priority and...

Damian Johnson authored 11 years ago

961)     Effort Level: <i>Low to High, depending on subproject chosen</i>
Sebastian Hahn We decided to go with HTML...

Sebastian Hahn authored 13 years ago

962)     <br>
Damian Johnson Dropping task priority and...

Damian Johnson authored 11 years ago

963)     Skill Level: <i>Medium to High</i>
Sebastian Hahn We decided to go with HTML...

Sebastian Hahn authored 13 years ago

964)     <br>
Damian Johnson Dropping task priority and...

Damian Johnson authored 11 years ago

965)     Likely Mentors: <i>Nick (nickm)</i>
Damian Johnson Revisions to project ideas...

Damian Johnson authored 13 years ago

966)     <p>
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

967)     The Tor code is more than 10 years old in places, and we haven't always had
Damian Johnson Dropping task priority and...

Damian Johnson authored 11 years ago

968)     enough time or wisdom to write things as well as we could have.  Our unit
969)     test coverage is shamefully low, and the dependency graph of our modules is
970)     shamefully convoluted . We could use refactoring and unit tests!  Please
971)     look through the Tor source code and look for ugly or tricky code or
972)     dependencies -- the uglier and trickier the better -- and think about how
973)     you could make the code look better, read better, and (subject to testing)
974)     work better.
Damian Johnson Revisions to project ideas...

Damian Johnson authored 13 years ago

975)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

976) 
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

977)     <p>
Damian Johnson Dropping task priority and...

Damian Johnson authored 11 years ago

978)     If this is for a fun side-project, it would be great for you to work on
979)     anything that can be made better and more tested.  For an internship-level
980)     position, we'd hope that you could find a number of particularly tricky or
981)     knotty piece of the code to clean up, and aim for resolving the ugliest
982)     problems, not necessarily the easiest.
Damian Johnson Adding project summaries an...

Damian Johnson authored 13 years ago

983)     </p>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

984) 
Damian Johnson Revisions to project ideas...

Damian Johnson authored 13 years ago

985)     <p>
Damian Johnson Dropping task priority and...

Damian Johnson authored 11 years ago

986)     For a big project here, it would be great to pick one of the major
987)     "submodules" of Tor -- path selection, node discovery, directory authority
988)     operations, directory service -- and refactor its interface completely, to
989)     minify and codify its points of contact with the rest of Tor.
Damian Johnson Revisions to project ideas...

Damian Johnson authored 13 years ago

990)     </p>
Damian Johnson Adding application prereqs...

Damian Johnson authored 11 years ago

991) 
992)     <p>
993)     <b>As part of your application for this project please identify one of the
994)     thorniest Tor functions and submit a patch refactoring it to be better. If
995)     you find this to be difficult then this likely isn't the project for
996)     you.</b>
997)     </p>
Damian Johnson Revisions to project ideas...

Damian Johnson authored 13 years ago

998)     </li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

999) 
Damian Johnson Couple more GSoC projects f...

Damian Johnson authored 11 years ago

1000)     <a id="betterPluggableTransports"></a>
1001)     <li>
1002)     <b>Build Better Pluggable Transports</b>
1003)     <br>
1004)     Effort Level: <i>Medium to High</i>
1005)     <br>
1006)     Skill Level: <i>Medium</i>
1007)     <br>
Damian Johnson Updating 'Build Better Plug...

Damian Johnson authored 10 years ago

1008)     Likely Mentors: <i>Steven (sjmurdoch), Ximin (infinity0), George (asn)</i>
Damian Johnson Couple more GSoC projects f...

Damian Johnson authored 11 years ago

1009)     <p>
Damian Johnson Updating 'Build Better Plug...

Damian Johnson authored 10 years ago

1010)     For Tor users in censored countries, we have a <a
Roger Dingledine and clean up links in the v...

Roger Dingledine authored 10 years ago

1011)     href="<page docs/pluggable-transports>">
Damian Johnson Updating 'Build Better Plug...

Damian Johnson authored 10 years ago

1012)     pluggable transports</a> framework that uses external programs to bypass
1013)     censorship in different ways. Each of these have their own strengths and
1014)     weaknesses.
Damian Johnson Couple more GSoC projects f...

Damian Johnson authored 11 years ago

1015)     </p>
1016) 
1017)     <p>
Damian Johnson Updating 'Build Better Plug...

Damian Johnson authored 10 years ago

1018)     We have deployed <a
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

1019)     href="<page projects/obfsproxy>">obfsproxy</a>, 
1020)     <a href="http://crypto.stanford.edu/flashproxy/">flashproxy</a>, 
1021)     <a href="http://www.cs.kau.se/philwint/scramblesuit/">scramblesuit</a>, 
1022)     <a href="https://trac.torproject.org/projects/tor/wiki/doc/meek">meek</a>,
1023)     and <a href="https://fteproxy.org/about">FTE</a> bridges into the main 
1024)     Tor Browser.</a>
Damian Johnson Updating 'Build Better Plug...

Damian Johnson authored 10 years ago

1025)     </p>
1026) 
1027)     <p>
1028)     There are several possible directions for this project. Ideas include:
1029)       <ol>
1030)         <li>Address gaps or weaknesses in our existing pluggable transports
1031)           <ul>
1032)             <li>Flashproxy: Add WebRTC support to traverse NATs.</li>
1033)             <li>Flashproxy: Improve the facilitator's resistance against DoS
1034)             and poisoning attacks.</li>
1035)           </ul>
1036)         </li>
1037)         <li>Build our pluggable transport combiner, that chains several
1038)         transports together to take advantage of orthogonal types of blocking
1039)         resistance.</li>
1040)         <li>Improve the UX for selecting the appropriate pluggable transport in
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

1041)         the new Tor Browser, whilst maintaining user security.</li>
Damian Johnson Updating 'Build Better Plug...

Damian Johnson authored 10 years ago

1042)         <li>Implement a new pluggable transport that resists blocking in a
1043)         novel way.
1044)         <ul>
1045)           <li>Impersonate a voice-over-IP protocol</li>
1046)           <li>Impersonate HTTP <a
1047)           href="http://www.cs.utexas.edu/~amir/papers/parrot.pdf">sufficiently
1048)           well</a> that traffic will go through a HTTP-only proxy</li>
1049)           <li>Implement <a
1050)           href="http://cacr.uwaterloo.ca/techreports/2011/cacr2011-21.pdf">scanning
1051)           resistance</a></li>
1052)         </ul>
1053)         </li>
1054)       </ol>
1055)     </p>
1056) 
1057)     <p>
1058)     Applicants should be familiar with asynchronous/reactive programming, in
1059)     particular the <a href="https://twistedmatrix.com/">Twisted framework</a>
1060)     or something related. Most of the existing code is written in Python, with
1061)     some parts in JavaScript and Go, so you should know at least one of these.
1062)     You are invited to talk to us and ask questions, via our mailing lists
1063)     or IRC. <b>As part of your application, please contribute a patch that
1064)     implements a small feature or fixes a bug related to this area, e.g. <a
1065)     href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Pluggable+transport">1</a>,
1066)     <a href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Obfsproxy">2</a>,
1067)     <a href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Flashproxy">3</a>.
1068)     </b>
Damian Johnson Couple more GSoC projects f...

Damian Johnson authored 11 years ago

1069)     </p>
1070) 
Damian Johnson Adding 'Search Engine for H...

Damian Johnson authored 10 years ago

1071)     <a id="hsSearchEngine"></a>
1072)     <li>
1073)     <b>Search Engine for Hidden Services</b>
1074)     <br>
1075)     Effort Level: <i>Medium</i>
1076)     <br>
1077)     Skill Level: <i>Medium</i>
1078)     <br>
1079)     Likely Mentors: <i>George (asn)</i>
1080)     <p>
1081)     This project involves researching and developing a search engine for
1082)     Hidden Services.
1083)     </p>
1084) 
1085)     <p>
1086)     The student is expected to develop a search engine that can index
1087)     hidden services and reply to search queries. The student should also
1088)     develop a crawler that can search both "clear web" and hidden service
1089)     websites to find more addresses. The student is expected to use and
1090)     improve already existing search engine frameworks (e.g. YaCy), and not
1091)     reinvent the wheel when it's possible.
1092)     </p>
1093) 
1094)     <p>
1095)     The student should have a decent understanding of how search engines
1096)     work, what algorithms they use, and of any related open source tools
1097)     that are currently available.
1098)     </p>
1099) 
Damian Johnson Couple more GSoC projects f...

Damian Johnson authored 11 years ago

1100)     <a id="profileUDPTransport"></a>
1101)     <li>
1102)     <b>Profile UDP transport protocols</b>
1103)     <br>
1104)     Effort Level: <i>Medium to High</i>
1105)     <br>
1106)     Skill Level: <i>High</i>
1107)     <br>
1108)     Likely Mentors: <i>Steven (sjmurdoch)</i>
1109)     <p>
1110)     There are <a
1111)     href="https://research.torproject.org/techreports/datagram-comparison-2011-11-07.pdf">lots
1112)     of options</a> as to how Tor could send its data over UDP rather than TCP,
1113)     and some will likely perform significantly better than others. This project
1114)     will evaluate these options, so as to decide which should be used in future
1115)     versions of Tor. A first step will be to benchmark the various transport
1116)     protocols being considered, in terms of performance and also code quality,
1117)     including userspace TCP, <a
1118)     href="https://github.com/bittorrent/libutp">&mu;TP</a>, <a
1119)     href="http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol">SCTP</a>
1120)     and <a href="http://curvecp.org/">CurveCP</a>. Initially these transport
1121)     protocols will be examined in isolation, but if the project progresses well
1122)     one or more could be integrated in Tor.
1123)     </p>
1124)     </li>
1125) 
Damian Johnson EFF Project Ideas for GSoC...

Damian Johnson authored 10 years ago

1126)     <a id="httpsEverywhereRulesetTesting"></a>
1127)     <li>
1128)     <b>Incorporate Ruleset Testing into the HTTPS Everywhere release process</b>
1129)     <br>
1130)     Effort Level: <i>Medium</i>
1131)     <br>
1132)     Skill Level: <i>Medium</i>
1133)     <br>
Damian Johnson Replacing Seth with Micah L...

Damian Johnson authored 10 years ago

1134)     Likely Mentors: <i>Peter Eckersley (pde), Micah Lee</i>
Damian Johnson EFF Project Ideas for GSoC...

Damian Johnson authored 10 years ago

1135)     <p>
1136) Ondrej Mikle has implemented a codebase for testing HTTPS Everywhere rulesets
1137) by crawling pages that are affected by the ruleset (<a href="https://github.com/hiviah/https-everywhere-checker">repository</a>).
1138)     </p>
1139) 
1140)     <p>
1141) This codebase still has some rough edges that need to be smoothed over, but
1142) once those are done it should be incorporated into the HTTPS Everywhere build
1143) process, in order to improve the quality of our releases.
1144)     </p>
1145)     </li>
1146) 
Damian Johnson Adding "Develop a Censorshi...

Damian Johnson authored 10 years ago

1147)     <a id="censorshipAnalyzer"></a>
1148)     <li>
1149)     <b>Develop a Censorship Analyzer</b>
1150)     <br>
1151)     Effort Level: <i>Medium</i>
1152)     <br>
1153)     Skill Level: <i>Medium to High (depends on the implemented tests)</i>
1154)     <br>
1155)     Likely Mentors: <i>Philipp (phw)</i>
1156)     <p>
1157) Tor is documented to be blocked in <a
1158) href="https://censorshipwiki.torproject.org">several countries</a>. Analyzing
1159) these censorship incidents can be a tedious task; especially without access to
1160) machines inside the censoring networks. To make analysis easier, it would be
1161) great to have a lightweight analysis tool which can be run by censored users.
1162) This tool would conduct a number of networking tests and figure out if and how
1163) Tor could be blocked. The tool's final report should then somehow make it back
1164) to the Tor project.
1165)     </p>
1166) 
1167)     <p>
1168) The theory behind this tool is already <a
Roger Dingledine fix broken link to philipp'...

Roger Dingledine authored 10 years ago

1169) href="http://www.cs.kau.se/philwint/pdf/foci2013.pdf">documented
Damian Johnson Adding "Develop a Censorshi...

Damian Johnson authored 10 years ago

1170) in a research paper</a>. What we now need is code! Implementing it would first
1171) mean getting familiar with <a href="https://ooni.torproject.org">OONI</a> and
1172) <a href="http://twistedmatrix.com/trac/">Twisted</a>. After that, the tool
1173) should be implemented as a number of OONI-specific networking tests.
1174)     </p>
1175)     </li>
1176) 
Damian Johnson Adding the 'Make TorBirdy B...

Damian Johnson authored 10 years ago

1177)     <a id="makeTorbirdyBetter"></a>
1178)     <li>
1179)     <b>Make TorBirdy Better</b>
1180)     <br>
1181)     Effort Level: <i>High</i>
1182)     <br>
1183)     Skill Level: <i>Medium</i>
1184)     <br>
1185)     Likely Mentors: <i>Sukhbir Singh (sukhe), Jacob Appelbaum (ioerror)</i>
1186)     <p>
1187) TorBirdy is an extension that configures Thunderbird to make connections over
1188) the Tor anonymity network. TorBirdy has been under development for quite a
1189) while but there are two known leaks that prevent it from being used by a wider
1190) audience. As part of this project, you will be working on plugging the known
1191) leaks and implementing a HTTP proxy.
1192)     </p>
1193) 
1194)     <p>
1195) <b>Part 1:</b> There are two patches pending with Mozilla that will plug the two known
1196) leaks in Thunderbird where the local time is disclosed through the date and the
1197) message-ID header. As part of your project, you will work on getting these
1198) patches finished/reimplemented and getting them merged with Mozilla. Please
1199) look at tickets <a
1200) href="https://trac.torproject.org/projects/tor/ticket/6314">#6314</a> and <a
1201) href="https://trac.torproject.org/projects/tor/ticket/6315">#6315</a> for more
1202) information.
1203)     </p>
1204) 
1205)     <p>
1206) <b>Part 2:</b> TorBirdy needs a HTTP proxy or a HTTP -&gt; SOCKS5 shim. Please look at
1207) ticket <a href="https://trac.torproject.org/projects/tor/ticket/6958">#6958</a>
1208) for more information. Note: this has to be done using JavaScript and not using
1209) an external proxy.
1210)     </p>
1211) 
1212)     <p>
1213) If time permits and you are awesome enough to finish the above two tasks, you
1214) will be working on the remaining TorBirdy tickets.
1215)     </p>
1216) 
1217)     <p>
1218) Applicants should be familiar with C++ and JavaScript. As part of your
1219) application for this project, please submit code samples for previous C++ and
1220) JavaScript projects that you have developed or point us to projects you have
1221) been involved with (links to a public Git/GitHub repository preferred). Prior
1222) extension development is a big plus and will be given preference during
1223) application ranking.
1224)     </p>
1225) 
1226)     <p>
Damian Johnson Last line of torbirdy idea...

Damian Johnson authored 10 years ago

1227) You may contact the mentors on IRC for more information. (sukhe on #tor-dev, #tor on irc.oftc.net)
Damian Johnson Adding the 'Make TorBirdy B...

Damian Johnson authored 10 years ago

1228)     </p>
1229)     </li>
1230) 
Damian Johnson Add ooniprobe project idea

Damian Johnson authored 10 years ago

1231)     <a id="ooniprobePcapsSupport"></a>
1232)     <li>
1233)     <b>Add Support for Reporting Pcaps to OoniBackend and OoniProbe</b>
1234)     <br>
1235)     Effort Level: <i>Medium</i>
1236)     <br>
1237)     Skill Level: <i>Medium</i>
1238)     <br>
1239)     Likely Mentors: <i>Arturo (hellais), Aaron (aagbsn)</i>
1240)     <p>
1241) The feature should also add support for including only packet capture data that
1242) is relevant to the test being run. This means that the pcap should not contain
1243) all the data sniffed on the users machine, but only that which was generated
1244) and intended to be received by ooniprobe.
1245)     </p>
1246) 
1247)     <p>
1248) This can probably be implemented by setting up a tun/tap device and routing all
1249) the ooniprobe traffic through it and only capturing data sent and received from
1250) that device. The task for the student will also be that of doing research into
1251) what are possible strategies for doing this. <b><a
1252) href="https://trac.torproject.org/projects/tor/ticket/7416">For more
1253) information see ticket 7416.</a></b>
1254)     </p>
1255)     </li>
1256) 
Damian Johnson Adding Tor and Orbot projec...

Damian Johnson authored 10 years ago

1257)     <a id="orbotVPN"></a>
1258)     <li>
1259)     <b>Orbot Android VPN</b>
1260)     <br>
1261)     Effort Level: <i>Medium</i>
1262)     <br>
1263)     Skill Level: <i>High</i>
1264)     <br>
1265)     Likely Mentors: <i>Nathan (n8fr8)</i>
1266)     <p>
1267) Android offers the ability for any application to establish a
1268) VPNService through which all traffic on the device is sent. We want to
1269) implement this type of service in order to route all traffic through
1270) the Tor network. This is a feature that will be implemented directly
1271) into Orbot: Tor for Android if successfully implemented.
1272)     </p>
1273) 
1274)     <p>
1275) The deliverables for the project will be a working Android VPN
1276) implementation that routes traffic through Tor, and integration of VPN
1277) code into the Orbot app. There must also be time made for reporting on
1278) the project through blog posts, network auditing of tracking to ensure
1279) leakage is not occurring.
1280)     </p>
1281) 
1282)     <p>
1283) Useful links and documentation to study:
1284)     </p>
1285) 
1286)     <ul>
1287)       <li><a href="https://gitweb.torproject.org/orbot.git">Orbot</a></li>
1288)       <li><a href="http://developer.android.com/reference/android/net/VpnService.html">Android VPNService API</a></li>
1289)       <li><a href="https://github.com/guardianproject/OrbotVPN">Existing work on Orbot VPN</a></li>
1290)     </ul>
1291) 
1292)     <p>
1293) Applicant should have the ability to build Orbot application from
1294) source using Android SDK and NDK tools. A solid understanding of IP
1295) routing, iptables, netfilter and VPN protocols would also be very
1296) helpful. The ability to use Wireshark or other network monitoring
1297) software to test and verify solution is something that can be taught,
1298) but if you already know how, bonus! Finally, understanding how the
1299) exiting Tor software can be used with various transparent proxying
1300) configurations is a good first step to understanding this problem.
1301)     </p>
1302)     </li>
1303) 
1304)     <a id="orfox"></a>
1305)     <li>
1306)     <b>Orfox - Firefox/Gecko-based Android Browser for Tor</b>
1307)     <br>
1308)     Effort Level: <i>High</i>
1309)     <br>
1310)     Skill Level: <i>Medium</i>
1311)     <br>
1312)     Likely Mentors: <i>Nathan (n8fr8)</i>
1313)     <p>
1314) With almost 1 million downloads, our Orweb browser has been a popular
1315) solution for easily accessing the web via Tor or any other HTTP or
1316) SOCKS proxy, while also ensuring local data caches are cleared and
1317) cookies are properly managed. Orweb is based on WebView, which has its
1318) limitations unfortunately. We would like to move to a
1319) Firefox/Fennec/GeckoView based browser, and have created a prototype
1320) for it. Mozilla has begun releasing GeckoView as a standalone
1321) component, as well, but it needs more testing, debugging and work on
1322) integration into our streamlined browser app model. Our end goal is to
1323) have a mobile browser that matches Tor Browser in terms of privacy
1324) enhancing features and security.
1325)     </p>
1326) 
1327)     <p>
1328) The deliverables for the project are expected to be the creation of a
1329) alpha quality release of Orfox, a GeckoView-based browser with feature
1330) parity of Orweb browser. A bonus goal is to implement additional
1331) features and capabilities based on Tor Browser patches for
1332) Fennec/Mozilla core. Finally, as always, a required activity is a
1333) network audit testing of implemented solution with write-ups, reports
1334) posted publicly.
1335)     </p>
1336) 
1337)     <p>
1338) Useful links to review:
1339)     </p>
1340) 
1341)     <ul>
1342)       <li><a href="https://github.com/guardianproject/orfox">Orfox (gecko prototype)</a></li>
1343)       <li><a href="https://github.com/guardianproject/orweb">Orweb (production browser on WebView)</a></li>
1344)       <li><a href="http://starkravingfinkle.org/blog/2013/10/geckoview-embedding-gecko-in-your-android-application/">GeckoView info</a></li>
Roger Dingledine and clean up links in the v...

Roger Dingledine authored 10 years ago

1345)       <li><a href="<page projects/torbrowser>">Tor Browser (desktop)</a></li>
Damian Johnson Adding Tor and Orbot projec...

Damian Johnson authored 10 years ago

1346)     </ul>
1347) 
1348)     <p>
1349) Applicant should have the ability to build Fennec and GeckoView
1350) libraries from source using Android SDK and NDK. Some experince with
1351) browser security models and threats would be a useful background to
1352) have. Ability to do network audits to ensure browser proxying is not
1353) leaking DNS, media streams or other network traffic, as well as tests
1354) against common browser de-anonymizing attacks are necessary.
1355)     </p>
1356)     </li>
1357) 
1358)     <a id="improveTorTestCoverage"></a>
1359)     <li>
1360)     <b>Improve test coverage in Tor</b>
1361)     <br>
1362)     Effort Level: <i>Medium</i>
1363)     <br>
1364)     Skill Level: <i>Medium</i>
1365)     <br>
1366)     Likely Mentors: <i>Nick (nickm)</i>
1367)     <p>
1368) Right now, our unit test coverage with the tests we ship is around 30%
1369) -- only 30% of the executable lines in our source are reached by the
1370) unit tests.  Improving this test coverage could make Tor development
1371) much more reliable.
1372)     </p>
1373) 
1374)     <p>
1375) So we need better unit tests, and we need better integration tests too.
1376)     </p>
1377) 
1378)     <p>
1379) Improving unit tests would would involve refactoring functions to be more
1380) testable, and writing a bunch of unit tests.
1381)     </p>
1382) 
1383)     <p>
Roger Dingledine is that some 22nd century s...

Roger Dingledine authored 9 years ago

1384) Improving integration tests would involve refactoring and improving
Damian Johnson Adding Tor and Orbot projec...

Damian Johnson authored 10 years ago

1385) the "chutney" program that launches a test tor network, and writing a
1386) bunch of tests to see what works and what doesn't work on such a
1387) network.  It could also involve writing tests using the library "<a
1388) href="https://stem.torproject.org/">stem</a>" to script individual clients on a
1389) Chutney network.
1390)     </p>
1391) 
1392)     <p>
1393) To get a feel for how testing works in Tor today, download Tor and
1394) Chutney, and make sure you can build Tor and use Chutney.  See how the
1395) unit tests work by skimming some of the test code in the src/test
1396) subdirectory.  Try computing test coverage (according to the
1397) instructions in the doc/HACKING file.
1398)     </p>
1399) 
1400)     <p>
1401) Also, have a look at the one current integration test that works on
1402) chutney today: it is a shell script distributed with Tor as
1403) src/test/test-tor-network.sh .  We probably don't want to have all of
1404) our integration tests be written as shell scripts, but it's interesting
1405) to see how one works.
1406)     </p>
1407) 
1408)     <p>
1409) If working on designs for an improved or refactored Chutney, watch out for <a
1410) href="http://www.joelonsoftware.com/articles/fog0000000018.html">"archicture
1411) astronautics"</a>: while it's important that we have a well-designed and
1412) maintainable Chutney architecture, it wouldn't be very useful if a good
1413) architecture were the <em>only</em> outcome here: we need tests too.
1414)     </p>
1415) 
1416)     <p>
1417) As part of the application process, please contribute a patch that makes
1418) a non-trivial improvement to chutney, and/or include a new test for some
1419) interesting Tor function. (Please pick a function that isn't completely
1420) easy to test.)
1421)     </p>
1422)     </li>
1423) 
1424)     <a id="useMoreCores"></a>
1425)     <li>
1426)     <b>Have the Tor daemon use more cores</b>
1427)     <br>
1428)     Effort Level: <i>Medium</i>
1429)     <br>
1430)     Skill Level: <i>Medium</i>
1431)     <br>
1432)     Likely Mentors: <i>Nick (nickm)</i>
1433)     <p>
1434) Right now, if you run a busy Tor server on a multicore computer, most of
1435) the cores are mostly unused.  We have a "cpuworker" mechanism to move
1436) expensive computations into worker threads, but that mechanism is
1437) currently only used for a small fraction of our cryptography.  Moving
1438) more work into the worker threads could improve performance immensely.
1439)     </p>
1440) 
1441)     <p>
1442) So it would be great to parallelize our cryptography more in order to
1443) better handle more cores.  See
1444) <a href="https://trac.torproject.org/projects/tor/wiki/org/projects/Tor/MultithreadedCrypto">MultithreadedCrypto</a>
1445) for some background info, and
1446) <a href="https://trac.torproject.org/projects/tor/ticket/7572">ticket 7572</a> for some subtickets
1447) on our tracker.
1448)     </p>
1449) 
1450)     <p>
1451) (If you're reading through the code to see how it works today, you will
1452) also want to have a look at the new implementation for cpuworkers
1453) described in <a href="https://trac.torproject.org/projects/tor/ticket/9682">9682</a>.)
1454)     </p>
1455) 
1456)     <p>
1457) Completing the implementation of ticket #7572 --which would move our
1458) circuit crypto onto separate threads-- could be a good summer project.
1459) Alternatively, moving all of the signature generation and verification
1460) code onto the cpuworkers could be fun.  In either case, you will have
1461) some important architectural decisions to make about how to minimize
1462) shared data between the main thread and the workers, how to avoid
1463) race conditions between them, and how to test it all to make sure it has
1464) no hidden failure cases.
1465)     </p>
1466) 
1467)     <p>
1468) As part of the application process for this project, please contribute a
1469) nontrivial patch to Tor -- ideally, one that will affect some part of
1470) the codebase that you want to work on.
1471)     </p>
1472)     </li>
1473) 
1474)     <a id="improveHiddenServices"></a>
1475)     <li>
1476)     <b>Help improve Tor hidden services</b>
1477)     <br>
1478)     Effort Level: <i>Medium</i>
1479)     <br>
1480)     Skill Level: <i>Medium</i>
1481)     <br>
1482)     Likely Mentors: <i>Nick (nickm)</i>
1483)     <p>
1484) We're working on a revamp of the entire Tor hidden service design to
1485) improve the security and reliability of the hidden service system.
1486)     </p>
1487) 
1488)     <p>
1489) This is a big project: see
1490) <a href="https://gitweb.torproject.org/torspec.git/blob_plain/refs/heads/master:/proposals/224-rend-spec-ng.txt">proposal
1491) 224</a> for the latest design.  Are you interested in implementing some
1492) part of that?
1493)     </p>
1494) 
1495)     <p>
1496) This is a very ambitious project, so we're deliberately not suggesting
1497) particular sub-topics.  If you're interested in participating, try to
1498) read and understand the <a
1499) href="https://gitweb.torproject.org/torspec.git/blob_plain/refs/heads/master:/rend-spec.txt">existing
1500) design</a> and the design proposal for the new design, and then talk to
1501) us about what part you want to work on.
1502)     </p>
1503) 
1504)     <p>
1505) As part of the application process for this project, please contribute a
1506) nontrivial patch to Tor -- ideally, one that will affect some part of
1507) the codebase that you want to work on.
1508)     </p>
1509)     </li>
1510) 
1511)     <a id="consensusDiffs"></a>
1512)     <li>
1513)     <b>Implement consensus diffs</b>
1514)     <br>
1515)     Effort Level: <i>Medium</i>
1516)     <br>
1517)     Skill Level: <i>Medium</i>
1518)     <br>
1519)     Likely Mentors: <i>Nick (nickm)</i>
1520)     <p>
1521) Right now, every few hours, a Tor client downloads a new signed "consensus
1522) document" that describes the state of the network.  Even though these
1523) documents are compressed, thisstill takes almost half a megabyte.
1524)     </p>
1525) 
1526)     <p>
1527) <a
1528) href="https://gitweb.torproject.org/torspec.git/blob_plain/refs/heads/master:/proposals/140-consensus-diffs.txt">Proposal
1529) 140</a> describes a design to save a lot of bandwidth by transferring
1530) compressed <a href="http://en.wikipedia.org/wiki/Diff">diff</a>s instead
1531) of transferring the entire consensus document.
1532)     </p>
1533) 
1534)     <p>
1535) That's an attractive idea, but it presents some programming challenges.
1536) We probably don't want to ship a 'diff' and 'patch' along with Tor.  Is
1537) there a free, <strong>safe</strong>, robust implementation of one of the
1538) good diff algorithms that we can use?
1539)     </p>
1540) 
1541)     <p>
1542) Alternatively, can we take advantage of regularities in the descriptor
1543) format in order to generate diffs more simply?
1544)     </p>
1545) 
1546)     <p>
1547) As part of the application process for this project, please contribute a
1548) nontrivial patch to Tor -- ideally, one that will affect some part of
1549) the codebase that you want to work on.  Make sure that your application
1550) describes which implementations of the diff and patch algorithms you
1551) intend to use, and that your coding samples show strong evidence that
1552) you can do secure string manipulation in C.
1553)     </p>
1554)     </li>
1555) 
1556)     <a id="improvedDnsSupport"></a>
1557)     <li>
1558)     <b>Improved DNS support for Tor</b>
1559)     <br>
1560)     Effort Level: <i>Medium</i>
1561)     <br>
1562)     Skill Level: <i>Medium</i>
1563)     <br>
1564)     Likely Mentors: <i>Nick (nickm)</i>
1565)     <p>
1566) Right now, you can only use Tor's DNS support to look up IPv4 and IPv6
1567) addresses, and to fetch PTR records.  But DNS can do so much more!
1568)     </p>
1569) 
1570)     <p>
1571) <a
1572) href="https://gitweb.torproject.org/torspec.git/blob_plain/refs/heads/master:/proposals/219-expanded-dns.txt">Proposal
1573) 219</a> describes some new cell types that Tor could use to support
1574) more types of DNS over Tor.
1575)     </p>
1576) 
1577)     <p>
1578) To see how Tor implements its existing DNS lookups, start by tracing the
1579) the connection_exit_begin_resolve() function in src/or/connection_edge.c ,
1580) and see how we pass these requests downwards through src/or/dns.c to the
1581) underlying resolver.  It's not too complicated, but there are some
1582) tricky parts to understand.
1583)     </p>
1584) 
1585)     <p>
1586) As part of the application process for this project, please contribute a
1587) nontrivial patch to Tor -- ideally, one that will affect some part of
1588) the codebase that you want to work on.
1589)     </p>
1590)     </li>
1591) 
1592)     <a id="torSandboxing"></a>
1593)     <li>
1594)     <b>Help improve Tor sandboxing</b>
1595)     <br>
1596)     Effort Level: <i>Medium</i>
1597)     <br>
1598)     Skill Level: <i>Medium</i>
1599)     <br>
1600)     Likely Mentors: <i>Nick (nickm)</i>
1601)     <p>
1602) The seccomp2 mechanism on Linux lets programs improve their robustness
1603) against unforseen bugs by running with restrictions on which system
1604) calls they can invoke and how they can call them.  This can help
1605) security a lot.
1606)     </p>
1607) 
1608)     <p>
1609) Thanks to a GSOC student from last year, we now have seccomp2 support on
1610) Linux, which we use to restrict the capabilities of the entire Tor
1611) process.  (For implementation details, see src/commmon/sandbox.c in the
1612) Tor source.)
1613)     </p>
1614) 
1615)     <p>
1616) But since the restrictions are done over the whole process, all pieces
1617) of the Tor code have permission to do things that only small parts of
1618) the Tor program need to do.  Also, since we use seccomp2, these
1619) restrictions only work on Linux.
1620)     </p>
1621) 
1622)     <p>
1623) It would be great to instead divide the main Tor program into multiple
1624) processes with a robust IPC mechanism and assign each process its own
1625) minimal set of privileges; and to have this work (as best we can) on
1626) systems that don't have seccomp2 (eg Windows, Mac).
1627)     </p>
1628) 
1629)     <p>
1630) Either of these could be a whole GSOC project.
1631)     </p>
1632) 
1633)     <p>
1634) To get started, make sure you understand the existing sandboxing code.
1635) If you're interested in splitting Tor into multiple processes, think
1636) about the architecture, and think about how we could reach this
1637) architecture without completely rewriting the codebase.  (Remember that
1638) even if you're focusing on Linux, Tor still needs to work on other
1639) operating systems.)
1640)     </p>
1641) 
1642)     <p>
1643) If you're interested in supporting more platforms, make sure you
1644) understand and can explain what sandboxing mechansisms you want to use,
1645) and what they're capable of.  (You might want to investigate the way
1646) that other open-source programs, like the Chrome web browser, do their
1647) sandboxing on different platforms.)
1648)     </p>
1649) 
1650)     <p>
1651) As part of the application process for this project, please contribute a
1652) nontrivial patch to Tor -- ideally, one that will affect some part of
1653) the codebase that you want to work on.
1654)     </p>
1655)     </li>
1656) 
Damian Johnson Adding Panopticlick project...

Damian Johnson authored 10 years ago

1657)     <a id="panopticlick"></a>
1658)     <li>
1659)     <b>Panopticlick</b>
1660)     <br>
1661)     Effort Level: <i>Medium</i>
1662)     <br>
1663)     Skill Level: <i>Medium</i>
1664)     <br>
Mike Perry Improve Panopticlick projec...

Mike Perry authored 10 years ago

1665)     Likely Mentors: <i>Georg (GeKo)</i>, <i>Mike Perry</i>, <i>Nicolas Vigier</i>
1666)     <p>
1667) 
1668) The <a href="https://panopticlick.eff.org">Panopticlick project by the EFF</a>
1669) revolutionized how people think about <a
1670) href="https://panopticlick.eff.org/browser-uniqueness.pdf">browser
1671) fingerprinting</a>, both by developing tests and metrics to measure browser
1672) fingerprintability, and by crowdsourcing the evaluation and contribution of
1673) individual browser features to overall fingerprintability.
1674) 
1675)     </p>
1676)     <p>
1677) 
1678) Unfortunately, the way Panopticlick is designed <a
1679) href="https://blog.torproject.org/blog/effs-panopticlick-and-torbutton">makes
1680) it difficult</a> to evaluate defenses to browser fingerprinting, especially
1681) for browsers with a relatively small userbase such as Tor Browser. This is
1682) because any approach we take to reduce fingerprinting automatically makes our
1683) users more distinct from the previous users who submitted their fingerprint
1684) data to the EFF. Indeed, it is also impossible to ever expect that users of
1685) one browser will ever be able to blend in with users of another browser
1686) (Chrome users will always be distinguishable from Firefox users for example,
1687) based on feature set alone).
1688) 
1689)    </p>
1690)    <p>
1691) 
1692) To address this, we would like to have <a
Roger Dingledine fix a broken link (found by...

Roger Dingledine authored 9 years ago

1693) href="https://trac.torproject.org/projects/tor/ticket/6119">our own
Mike Perry Improve Panopticlick projec...

Mike Perry authored 10 years ago

1694) fingerprint test suite</a> to evaluate the fingerprintability of each browser
1695) feature for users running a specific Tor Browser version. There are also <a
1696) href="https://trac.torproject.org/projects/tor/query?keywords=~tbb-fingerprinting">additional
1697) fingerprinting tests</a> we can add beyond those deployed by Panopticlick.
1698)    </p>
1699)    <p>
1700) 
1701) For this project, the student would develop a website that users can
1702) voluntarily visit to test and record their Tor Browser fingerprint.  The user
1703) should get feedback on how she performed and the test results should be
1704) available in a machine readable format (e.g. JSON), broken down by Tor Browser
1705) version.  In a second step one could think about adding more sophisticated
1706) tests or supporting other browser vendors that might want to test the
1707) uniformity amongst their userbase as well. Of course, results from each
1708) browser would also need to be broken down by both browser implementation and
1709) version, so that results would only reflect the population of that specific
1710) implementation.
1711) 
Damian Johnson Adding Panopticlick project...

Damian Johnson authored 10 years ago

1712)     </p>
1713)     </li>
1714) 
Damian Johnson Adding 'Revamp GetTor' project

Damian Johnson authored 10 years ago

1715)     <a id="revamp_gettor"></a>
1716)     <li>
1717)     <b>Revamp GetTor</b>
1718)     <br>
1719)     Effort Level: <i>High</i>
1720)     <br>
1721)     Skill Level: <i>Medium</i>
1722)     <br>
Erinn Clark remove mrphs

Erinn Clark authored 9 years ago

1723)     Likely Mentors: <i>Sukhbir Singh (sukhe)</i>
Damian Johnson Adding 'Revamp GetTor' project

Damian Johnson authored 10 years ago

1724)     <p>
1725) GetTor is a program that serves Tor bundles and related components over SMTP.
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

1726) Users request the Tor Browser by sending an email to GetTor, which sends
1727) back Tor Browser as email attachments. In countries where the Tor Project
1728) website is blocked, GetTor is a convenient way for users to get access to Tor
1729) Browser.
Damian Johnson Adding 'Revamp GetTor' project

Damian Johnson authored 10 years ago

1730)     </p>
1731) 
1732)     <p>
1733) GetTor has been unmaintained for a while and needs a revamp. The main issue is
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

1734) that because the Tor Browser size exceeds 25 MB, sending it through
Damian Johnson Adding 'Revamp GetTor' project

Damian Johnson authored 10 years ago

1735) GetTor no longer works as most email providers don't support attachments
Matt Pagan Updated various information...

Matt Pagan authored 9 years ago

1736) exceeding 25 MB. To alleviate this issue, Tor Browsers are now uploaded on
Damian Johnson Adding 'Revamp GetTor' project

Damian Johnson authored 10 years ago

1737) cloud-based services such as Google Drive and Dropbox and links are sent
1738) out in the email body instead of attachments. This current setup is far from
1739) complete -- GetTor needs a lot of work to get it to a point where it can do
1740) smart things again and do them in the right way.
1741)     </p>
1742) 
1743)     <p>
1744) As part of this project, you should:
1745)     </p>
1746) 
1747)     <ul>
1748)       <li>Have some understanding of what GetTor does in general and the current state of its operation.</li>
1749)       <li>Come up with ideas on how to make it better.</li>
1750)       <li>Convince us if you would like to fix the existing code or want to rewrite GetTor from scratch.</li>
1751)     </ul>
1752) 
1753)     <p>
1754) In addition to the above points, applications should be familiar with Python.
1755) As part of the application process, study the <a
1756) href="https://gitweb.torproject.org/gettor.git">GetTor code</a> and submit a
1757) patch for returning the SHA1 checksum of the package instead of the text in
1758) sendSorrySize() in response.py. (since you cannot test the patch, as long as it
1759) is clear that you had some idea of what you were doing, it should be fine)
1760)     </p>
1761) 
1762)     <p>
Erinn Clark remove mrphs

Erinn Clark authored 9 years ago

1763) Note: Please do not submit an application without talking to the mentor: #sukhe on IRC. IRC is preferred but if for any reason you don't want/can't use it, please email the mentors.
Damian Johnson Adding 'Revamp GetTor' project

Damian Johnson authored 10 years ago

1764)     </p>
1765)     </li>
1766) 
Damian Johnson Adding Weather and Stegotor...

Damian Johnson authored 10 years ago

1767)     <a id="rewriteWeather"></a>
1768)     <li>
1769)     <b>Rewrite Tor Weather</b>
1770)     <br>
1771)     Effort Level: <i>Medium</i>
1772)     <br>
1773)     Skill Level: <i>Medium</i>
1774)     <br>
1775)     Likely Mentors: <i>Karsten (karsten)</i>
1776)     <p>
1777) <a href="https://weather.torproject.org/">Tor Weather</a> provides an
1778) email notification service to any users who want to monitor the status
1779) of a Tor node.  Its favorite feature is to notify relay operators when
1780) their relay has earned them a Tor t-shirt.  Tor Weather is written in
1781) Python/Django.
1782)     </p>
1783) 
1784)     <p>
1785) The Tor Weather codebase is pretty much unmaintained these days.  The
1786) first part of this project would be to simplify the code by fetching Tor
1787) network status data from <a
1788) href="https://onionoo.torproject.org/">Onionoo</a> rather than running a
1789) local tor client and keeping an own relay history database.  See the
1790) related <a
1791) href="https://trac.torproject.org/projects/tor/wiki/doc/weather-in-2014">community
1792) effort to rewrite Weather</a> that started in January 2014.  After that,
1793) there's a <a
1794) href="https://trac.torproject.org/projects/tor/query?status=!closed&component=Tor+Weather">long
1795) list of open tickets</a> to be resolved.
1796)     </p>
1797) 
1798)     <p>
1799) Ideally, the student would become the new Weather maintainer after the
1800) summer.  If that doesn't work out, the codebase should have become a lot
1801) smaller by end of summer, so that it becomes easier to find somebody
1802) else as new maintainer.
1803)     </p>
1804)     </li>
1805) 
1806)     <a id="improveStegotorus"></a>
1807)     <li>
1808)     <b>Improve Stegotorus</b>
1809)     <br>
1810)     Effort Level: <i>Medium</i>
1811)     <br>
1812)     Skill Level: <i>Medium</i>
1813)     <br>
1814)     Likely Mentors: <i>vmon</i>
1815)     <p>
1816) Stegotorus is a fork of obfsproxy which helps developers to write more intelligent pluggable transports which can hide easier from deep packet inspector (DPI) system.
1817)     </p>
1818) 
1819)     <p>
1820) For example, Stegotorus is equipped with a "chopper module" which takes care of following aspects:
1821)     </p>
1822) 
1823)     <ol>
1824)       <li>It randomize the packet size so it is harder for the DPI system to detect the traffic base on the distribution of the packet size.</li>
1825)       <li>It makes sure that it only handle as much (or as less) information as the transport module can handle.</li>
1826)       <li>Chopper is equipped with it is own acknowledge/retransmit protocol. If the censor trying to disturb the connection by dropping or disturbing some of packets, it can recover the data by sending them many times.</li>
1827)     </ol>
1828) 
1829)     <p>
1830) More importantly, Stegotorus is coming with its own HTTP transport module which obfuscates Tor or any other encrypted traffic in HTTP content such as Javascript code or images. HTTP transport module is also written in a way which new module developers can easily add new obfuscation modules for new contents or improve current obfuscation algorithms without the need of dealing with networking aspect of the problem.
1831)     </p>
1832) 
1833)     <p>
1834) Stegotorus is written in C++. you can find the latest code <a href="https://github.com/zackw/stegotorus/tree/tor-improve">here</a>.
1835)     </p>
1836) 
1837)     <p>
1838) In this regard, Stegotorus is offering one of the most complete and sophisticated platforms for writing stealthy pluggable transports.
1839)     </p>
1840) 
1841)     <p>
1842) If you know C++ and interested in Stegotorus and excited about battling censorship, there are many ways that you can contribute to Stegotorus. Here are few important tasks. Your proposal might contain a good number of them:
1843)     </p>
1844) 
1845)     <ol>
1846)       <li>Currently Stegotorus handshake is encrypted using the symmetric secret key of the Stegotorus bridge. However, we would like to implement a totally random handshake and considering that some transports suffer badly from "bandwidth shortage", our best choice currently is to implement <a href="http://elligator.cr.yp.to/">this algorithm</a>.</li>
1847)       <li>Stegotorus defense against active probing is to authenticate the header of the received packet. If the authentication fails Stegotorus turns into a transparent proxy. The capability of Stegotorus as a transparent proxy needs improvement and further testing.</li>
1848)       <li>Stegotorus has a new framework for writing Steg module. However some of the Steg modules (PDF, SWF and JS) are written in the old framework, we need to refactor their code in the new framework.</li>
1849)       <li>As writting new Steg modules in python is easier and safer, it is desirable to write an Steg module interface for Stegotorus which can accept and interact with Steg modules written in python/cython.</li>
1850)       <li>To make detection of anomalies in the traffic harder, Stegotorus hands a noise-to-signal ratio to each Steg modules. Steg modules' algorithms need to use more intelligent way of embedding to use this ratio.</li>
1851)       <li>Stegotorus has several parameters to tweak its behavior. Currently all these parameters are given in command line. We would like to have a config file to store these parameters as an alternative method.</li>
1852)       <li>The general security of the code needs to be reviewed and audited for buffer overflow, memory leak etc.</li>
1853)       <li>Steg modules for new file format for the HTTP transport are always welcome to reflect the actual traffic of the Internet.</li>
1854)       <li>Packaging Stegotorus for windows.</li>
1855)       <li>There is a parallel efforts to improve Stegotorus at SRI. We would like to merge the useful feature developed by SRI in our branch of Stegotorus.</li>
1856)       <li>Stegotorus needs to support SOCKS protocol to be able to receive the initial parameters from Tor through SOCKS handshake.</li>
1857)     </ol>
1858) 
1859)     <p>
1860) You can find a list of open issues concerning Stegotorus <a href="https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_information&status=needs_review&status=needs_revision&status=new&status=reopened&component=Stegotorus&order=priority">here</a>.
1861)     </p>
1862) 
1863)     <p>
1864) You also can think of lots of other awesome creative ways of improving Stegotorus and include those in your proposal.
1865)     </p>
1866)     </li>
1867) 
Damian Johnson Adding 'New BridgeDB Distri...

Damian Johnson authored 10 years ago

1868)     <a id="newBridgedbDistributor"></a>
1869)     <li>
1870)     <b>New BridgeDB Distributor</b>
1871)     <br>
1872)     Effort Level: <i>Medium</i>
1873)     <br>
1874)     Skill Level: <i>Medium to High</i>
1875)     <br>
1876)     Likely Mentors: <i>isis, sysrqb</i>
1877)     <p>
1878) BridgeDB is a Twisted Python system which runs a number of servers, in order
1879) to distribute Tor bridge relays to users in potentially censored regions. Each
1880) of BridgeDB's Distributors uses some unique channel to communicate bridge
1881) addresses to users, currently there is an <a href="https://bridges.torproject.org">
1882) HTTPS Distributor</a>, and an Email Distributor. This project would involve
1883) designing and creating a new Distributor for BridgeDB. Some ideas for new
1884) Distributors:
1885)     </p>
1886) 
1887)     <ul>
1888)       <li>A Twitter bot which interacts with Chinese and Farsi speaking Twitter users through PMs.</li>
1889)       <li>A distributor which uses XMPP+OTR to give bridges to users.</li>
1890)     </ul>
1891) 
1892)     <p>
1893) It's helpful if you already have some knowledge of Twisted. As part of your
1894) application, please submit a design for a Distributor, as well as supply a
1895) patch for a ticket which demonstrates knowledge of Twisted and Python ―
1896) preferably for BridgeDB, see the
1897) <a href="https://trac.torproject.org/projects/tor/query?status=!closed&keywords=~bridgedb-gsoc-application">
1898) 'bridgedb-gsoc-application' Trac tag</a> for some examples of good tickets to
1899) try, or contact isis or sysrqb on IRC to ask for ticket suggestions or advice.
1900)     </p>
1901)     </li>
1902) 
Damian Johnson Adding Tor and Orbot projec...

Damian Johnson authored 10 years ago

1903) <!--
1904)     <a id=""></a>
1905)     <li>
1906)     <b></b>
1907)     <br>
1908)     Effort Level: <i>Medium</i>
1909)     <br>
1910)     Skill Level: <i>Medium</i>
1911)     <br>
1912)     Likely Mentors: <i>Damian (atagar)</i>
1913)     <p>
1914) 
1915)     </p>
1916) 
1917)     <p>
1918) 
1919)     </p>
1920)     </li>
1921) -->
1922) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1923)     <li>
1924)     <b>Bring up new ideas!</b>
Sebastian Hahn We decided to go with HTML...

Sebastian Hahn authored 13 years ago

1925)     <br>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1926)     Don't like any of these? Look at the <a
Andrew Lewman why did anyone think the ro...

Andrew Lewman authored 13 years ago

1927)     href="/press/presskit/2008-12-19-roadmap-full.pdf">Tor development
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1928)     roadmap</a> for more ideas, or just try out Tor, Vidalia, and Torbutton,
1929)     and find out what you think needs fixing.
Sebastian Hahn Fix links that broke due to...

Sebastian Hahn authored 13 years ago

1930)     Some of the <a href="<spectree>proposals">current proposals</a>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1931)     might also be short on developers.
1932)     </li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1933) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1934)     </ol>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1935) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1936)     <a id="OtherCoding"></a>
1937)     <h2><a class="anchor" href="#OtherCoding">Other Coding and Design related ideas</a></h2>
1938)     <ol>
1939)     <li>Tor relays don't work well on Windows XP. On
1940)     Windows, Tor uses the standard <tt>select()</tt> system
1941)     call, which uses space in the non-page pool. This means
1942)     that a medium sized Tor relay will empty the non-page pool, <a
Karsten Loesing Update wiki links

Karsten Loesing authored 12 years ago

1943)     href="<wiki>doc/WindowsBufferProblems">causing
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1944)     havoc and system crashes</a>. We should probably be using overlapped IO
1945)     instead. One solution would be to teach <a
1946)     href="http://www.monkey.org/~provos/libevent/">libevent</a> how to use
1947)     overlapped IO rather than select() on Windows, and then adapt Tor to
1948)     the new libevent interface. Christian King made a
1949)     <a href="https://svn.torproject.org/svn/libevent-urz/trunk/">good
1950)     start</a> on this in the summer of 2007.</li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1951) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1952)     <li>We need to actually start building our <a href="<page
1953)     docs/documentation>#DesignDoc">blocking-resistance design</a>. This involves
1954)     fleshing out the design, modifying many different pieces of Tor, adapting
1955)     <a href="<page projects/vidalia>">Vidalia</a> so it supports the
1956)     new features, and planning for deployment.</li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1957) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1958)     <li>We need a flexible simulator framework for studying end-to-end
1959)     traffic confirmation attacks. Many researchers have whipped up ad hoc
1960)     simulators to support their intuition either that the attacks work
1961)     really well or that some defense works great. Can we build a simulator
1962)     that's clearly documented and open enough that everybody knows it's
1963)     giving a reasonable answer? This will spur a lot of new research.
1964)     See the entry <a href="#Research">below</a> on confirmation attacks for
1965)     details on the research side of this task &mdash; who knows, when it's
1966)     done maybe you can help write a paper or three also.</li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1967) 
Andrew Lewman format the paragraphs corre...

Andrew Lewman authored 13 years ago

1968)     <li>Tor 0.1.1.x and later include support for hardware crypto
1969)     accelerators via OpenSSL. It has been lightly tested and is
1970)     possibly very buggy.  We're looking for more rigorous testing,
Andrew Lewman apply fixes from rransom.

Andrew Lewman authored 13 years ago

1971)     performance analysis, and optimally, code fixes to OpenSSL and
Andrew Lewman format the paragraphs corre...

Andrew Lewman authored 13 years ago

1972)     Tor if needed.</li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1973) 
George Kadianakis Rephrase the volunteer entr...

George Kadianakis authored 11 years ago

1974)     <li>Write a <a
1975)     href="https://secure.wikimedia.org/wikipedia/en/wiki/Fuzz_testing">fuzzer</a>
1976)     for Tor to discover security vulnerabilities. Determine if there
1977)     are good fuzzing frameworks out there for what we want. Win fame by
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1978)     getting credit when we put out a new release because of you!</li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1979) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1980)     <li>Tor uses TCP for transport and TLS for link
1981)     encryption. This is nice and simple, but it means all cells
1982)     on a link are delayed when a single packet gets dropped, and
1983)     it means we can only reasonably support TCP streams. We have a <a
Roger Dingledine revise TransportIPnotTCP an...

Roger Dingledine authored 13 years ago

1984)     href="<page docs/faq>#TransportIPnotTCP">list
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1985)     of reasons why we haven't shifted to UDP transport</a>, but it would
1986)     be great to see that list get shorter. We also have a proposed <a
Sebastian Hahn Fix links that broke due to...

Sebastian Hahn authored 13 years ago

1987)     href="<specblob>proposals/100-tor-spec-udp.txt">specification
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1988)     for Tor and
1989)     UDP</a> &mdash; please let us know what's wrong with it.</li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1990) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1991)     <li>We're not that far from having IPv6 support for destination addresses
1992)     (at exit nodes). If you care strongly about IPv6, that's probably the
1993)     first place to start.</li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

1994) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

1995)     <li>We need a way to generate the website diagrams (for example, the "How
1996)     Tor Works" pictures on the <a href="<page about/overview>">overview page</a>
1997)     from source, so we can translate them as UTF-8 text rather than edit
1998)     them by hand with Gimp. We might want to
1999)     integrate this as an wml file so translations are easy and images are
2000)     generated in multiple languages whenever we build the website.</li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

2001) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2002)     <li>How can we make the various LiveCD/USB systems easier
2003)     to maintain, improve, and document?  One example is <a
Damian Johnson More changes requested by i...

Damian Johnson authored 13 years ago

2004)     href="https://tails.boum.org/">The Amnesic Incognito Live
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2005)     System</a>.
2006)     </li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

2007) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2008)     <li>
2009)     Another anti-censorship project is to try to make Tor
2010)     more scanning-resistant.  Right now, an adversary can identify <a
Sebastian Hahn Fix links that broke due to...

Sebastian Hahn authored 13 years ago

2011)     href="<specblob>proposals/125-bridges.txt">Tor bridges</a>
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2012)     just by trying to connect to them, following the Tor protocol,
2013)     and seeing if they respond.  To solve this, bridges could <a
2014)     href="<svnprojects>design-paper/blocking.html#tth_sEc9.3">act like
2015)     webservers</a> (HTTP or HTTPS) when contacted by port-scanning tools,
2016)     and not act like bridges until the user provides a bridge-specific key.
2017)     To start, check out Shane Pope's <a
2018)     href="http://dl.dropbox.com/u/37735/index.html">thesis and prototype</a>.
2019)     </li>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

2020) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2021)     </ol>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

2022) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2023)     <a id="Research"></a>
2024)     <h2><a class="anchor" href="#Research">Research</a></h2>
2025)     <ol>
2026)     <li>The "end-to-end traffic confirmation attack":
2027)     by watching traffic at Alice and at Bob, we can <a
2028)     href="http://freehaven.net/anonbib/#danezis:pet2004">compare
2029)     traffic signatures and become convinced that we're watching the same
2030)     stream</a>. So far Tor accepts this as a fact of life and assumes this
2031)     attack is trivial in all cases. First of all, is that actually true? How
2032)     much traffic of what sort of distribution is needed before the adversary
2033)     is confident he has won? Are there scenarios (e.g. not transmitting much)
2034)     that slow down the attack? Do some traffic padding or traffic shaping
2035)     schemes work better than others?</li>
2036)     <li>A related question is: Does running a relay/bridge provide additional
2037)     protection against these timing attacks? Can an external adversary that can't
2038)     see inside TLS links still recognize individual streams reliably?
2039)     Does the amount of traffic carried degrade this ability any? What if the
2040)     client-relay deliberately delayed upstream relayed traffic to create a queue
2041)     that could be used to mimic timings of client downstream traffic to make it
2042)     look like it was also relayed? This same queue could also be used for masking
2043)     timings in client upstream traffic with the techniques from <a
2044)     href="http://www.freehaven.net/anonbib/#ShWa-Timing06">adaptive padding</a>,
2045)     but without the need for additional traffic. Would such an interleaving of
2046)     client upstream traffic obscure timings for external adversaries? Would the
2047)     strategies need to be adjusted for asymmetric links? For example, on
2048)     asymmetric links, is it actually possible to differentiate client traffic from
2049)     natural bursts due to their asymmetric capacity? Or is it easier than
2050)     symmetric links for some other reason?</li>
2051)     <li>Repeat Murdoch and Danezis's <a
2052)     href="http://www.cl.cam.ac.uk/~sjm217/projects/anon/#torta">attack from
2053)     Oakland 05</a> on the current Tor network. See if you can learn why it
2054)     works well on some nodes and not well on others. (My theory is that the
2055)     fast nodes with spare capacity resist the attack better.) If that's true,
2056)     then experiment with the RelayBandwidthRate and RelayBandwidthBurst
2057)     options to run a relay that is used as a client while relaying the
2058)     attacker's traffic: as we crank down the RelayBandwidthRate, does the
2059)     attack get harder? What's the right ratio of RelayBandwidthRate to
2060)     actually capacity? Or is it a ratio at all? While we're at it, does a
2061)     much larger set of candidate relays increase the false positive rate
2062)     or other complexity for the attack? (The Tor network is now almost two
2063)     orders of magnitude larger than it was when they wrote their paper.) Be
2064)     sure to read <a href="http://freehaven.net/anonbib/#clog-the-queue">Don't
2065)     Clog the Queue</a> too.</li>
2066)     <li>The "routing zones attack": most of the literature thinks of
2067)     the network path between Alice and her entry node (and between the
2068)     exit node and Bob) as a single link on some graph. In practice,
2069)     though, the path traverses many autonomous systems (ASes), and <a
2070)     href="http://freehaven.net/anonbib/#feamster:wpes2004">it's not uncommon
2071)     that the same AS appears on both the entry path and the exit path</a>.
2072)     Unfortunately, to accurately predict whether a given Alice, entry,
2073)     exit, Bob quad will be dangerous, we need to download an entire Internet
2074)     routing zone and perform expensive operations on it. Are there practical
2075)     approximations, such as avoiding IP addresses in the same /8 network?</li>
2076)     <li>Other research questions regarding geographic diversity consider
2077)     the tradeoff between choosing an efficient circuit and choosing a random
2078)     circuit. Look at Stephen Rollyson's <a
2079)     href="http://swiki.cc.gatech.edu:8080/ugResearch/uploads/7/ImprovingTor.pdf">position
2080)     paper</a> on how to discard particularly slow choices without hurting
2081)     anonymity "too much". This line of reasoning needs more work and more
2082)     thinking, but it looks very promising.</li>
2083)     <li>Tor doesn't work very well when relays have asymmetric bandwidth
2084)     (e.g. cable or DSL). Because Tor has separate TCP connections between
2085)     each hop, if the incoming bytes are arriving just fine and the outgoing
2086)     bytes are all getting dropped on the floor, the TCP push-back mechanisms
2087)     don't really transmit this information back to the incoming streams.
2088)     Perhaps Tor should detect when it's dropping a lot of outgoing packets,
2089)     and rate-limit incoming streams to regulate this itself? I can imagine
2090)     a build-up and drop-off scheme where we pick a conservative rate-limit,
2091)     slowly increase it until we get lost packets, back off, repeat. We
2092)     need somebody who's good with networks to simulate this and help design
2093)     solutions; and/or we need to understand the extent of the performance
2094)     degradation, and use this as motivation to reconsider UDP transport.</li>
2095)     <li>A related topic is congestion control. Is our
2096)     current design sufficient once we have heavy use? Maybe
2097)     we should experiment with variable-sized windows rather
2098)     than fixed-size windows? That seemed to go well in an <a
Andrew Lewman correct link, fixes #6627.

Andrew Lewman authored 11 years ago

2099)     href="http://www.psc.edu/index.php/hpn-ssh/638">ssh
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2100)     throughput experiment</a>. We'll need to measure and tweak, and maybe
2101)     overhaul if the results are good.</li>
2102)     <li>Our censorship-resistance goals include preventing
2103)     an attacker who's looking at Tor traffic on the wire from <a
2104)     href="<svnprojects>design-paper/blocking.html#sec:network-fingerprint">distinguishing
2105)     it from normal SSL traffic</a>. Obviously we can't achieve perfect
2106)     steganography and still remain usable, but for a first step we'd like to
2107)     block any attacks that can win by observing only a few packets. One of
2108)     the remaining attacks we haven't examined much is that Tor cells are 512
2109)     bytes, so the traffic on the wire may well be a multiple of 512 bytes.
2110)     How much does the batching and overhead in TLS records blur this on the
2111)     wire? Do different buffer flushing strategies in Tor affect this? Could
2112)     a bit of padding help a lot, or is this an attack we must accept?</li>
2113)     <li>Tor circuits are built one hop at a time, so in theory we have the
2114)     ability to make some streams exit from the second hop, some from the
2115)     third, and so on. This seems nice because it breaks up the set of exiting
2116)     streams that a given relay can see. But if we want each stream to be safe,
2117)     the "shortest" path should be at least 3 hops long by our current logic, so
2118)     the rest will be even longer. We need to examine this performance / security
2119)     tradeoff.</li>
2120)     <li>It's not that hard to DoS Tor relays or directory authorities. Are client
2121)     puzzles the right answer? What other practical approaches are there? Bonus
2122)     if they're backward-compatible with the current Tor protocol.</li>
2123)     <li>Programs like <a
Andrew Lewman more torbutton references t...

Andrew Lewman authored 10 years ago

2124)     href="<page docs/torbutton/index>">Torbutton</a> aim to hide
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2125)     your browser's UserAgent string by replacing it with a uniform answer for
2126)     every Tor user. That way the attacker can't splinter Tor's anonymity set
2127)     by looking at that header. It tries to pick a string that is commonly used
2128)     by non-Tor users too, so it doesn't stand out. Question one: how badly
2129)     do we hurt ourselves by periodically updating the version of Firefox
2130)     that Torbutton claims to be? If we update it too often, we splinter the
2131)     anonymity sets ourselves. If we don't update it often enough, then all the
2132)     Tor users stand out because they claim to be running a quite old version
2133)     of Firefox. The answer here probably depends on the Firefox versions seen
2134)     in the wild. Question two: periodically people ask us to cycle through N
2135)     UserAgent strings rather than stick with one. Does this approach help,
2136)     hurt, or not matter? Consider: cookies and recognizing Torbutton users
2137)     by their rotating UserAgents; malicious websites who only attack certain
2138)     browsers; and whether the answers to question one impact this answer.
2139)     </li>
2140)     <li>How many bridge relays do you need to know to maintain
2141)     reachability? We should measure the churn in our bridges. If there is
2142)     lots of churn, are there ways to keep bridge users more likely to stay
2143)     connected?
2144)     </li>
2145)     </ol>
Roger Dingledine add a bunch more projects;...

Roger Dingledine authored 11 years ago

2146) 
Andrew Lewman first cut of the new, shiny...

Andrew Lewman authored 13 years ago

2147)     <p>
2148)     <a href="<page about/contact>">Let us know</a> if you've made progress on any
2149)     of these!
2150)     </p>
2151)   </div>
2152)   <!-- END MAINCOL -->
2153)   <div id = "sidecol">
2154) #include "side.wmi"
2155) #include "info.wmi"
2156)   </div>
2157)   <!-- END SIDECOL -->
2158) </div>
2159) <!-- END CONTENT -->