Dropping commented out project ideas
Damian Johnson

Damian Johnson commited on 2013-03-18 23:50:47
Zeige 1 geänderte Dateien mit 0 Einfügungen und 841 Löschungen.


Why are we still bundling dozens of commented out tasks with the page? If we
want to add these back in later then we should... well, add them back in later.
That's what SCMs are for (even if svn sucks at it). :P

This is slowing down page loads, and most ideas are getting to be pretty old
anyway.


... ...
@@ -412,14 +412,6 @@ meetings around the world.</li>
412 412
     privacy and security issues in mainline version.
413 413
     </p>
414 414
 
415
-    <!--
416
-    <p>
417
-    <b>Project Ideas:</b><br />
418
-    <i><a href="#auditTBB">Audit Tor Browser Bundles for data leaks</a></i><br />
419
-    <i><a href="#usabilityTesting">Usability testing of Tor</a></i>
420
-    </p>
421
-    -->
422
-
423 415
     <a id="project-torbutton"></a>
424 416
     <h3><a href="<page torbutton/index>">Torbutton</a> (<a
425 417
     href="https://gitweb.torproject.org/torbutton.git">code</a>, <a
... ...
@@ -459,14 +451,6 @@ meetings around the world.</li>
459 451
     lead with pushing the project forward.
460 452
     </p>
461 453
 
462
-    <!--
463
-    <p>
464
-    <b>Project Ideas:</b><br />
465
-    <i><a href="#vidaliaStatusEventInterface">Tor Controller Status Event Interface for Vidalia</a></i><br />
466
-    <i><a href="#vidalia-hidden-service-panel">Torrc plugin and improved hidden service configuration panel</a></i>
467
-    </p>
468
-    -->
469
-
470 454
     <a id="project-arm"></a>
471 455
     <h3><a href="http://www.atagar.com/arm/">Arm</a> (<a
472 456
     href="https://gitweb.torproject.org/arm.git">code</a>, <a
... ...
@@ -481,14 +465,6 @@ meetings around the world.</li>
481 465
     a bit more.
482 466
     </p>
483 467
 
484
-    <!--
485
-    <p>
486
-    <b>Project Ideas:</b><br />
487
-    <i><a href="#armClientMode">Client Mode Use Cases for Arm</a></i><br />
488
-    <i><a href="#armGui">GUI for Arm</a></i>
489
-    </p>
490
-    -->
491
-
492 468
     <a id="project-orbot"></a>
493 469
     <h3><a href="https://guardianproject.info/apps/orbot/">Orbot</a> (<a
494 470
     href="https://gitweb.torproject.org/orbot.git">code</a>, <a
... ...
@@ -500,15 +476,6 @@ meetings around the world.</li>
500 476
     development up through Fall 2010, after which things have been quiet.
501 477
     </p>
502 478
 
503
-    <!--
504
-    <p>
505
-    <b>Project Ideas:</b><br />
506
-    <i><a href="#orbot-torbutton">TorButton for Mobile Firefox 4 or Custom Browser on Android</a></i><br />
507
-    <i><a href="#orbot-userInterface">Build a better user interface for Orbot</a></i><br />
508
-    <i><a href="#orbot-optimisation">Core Tor mobile optimisation</a></i>
509
-    </p>
510
-    -->
511
-
512 479
     <a id="project-tails"></a>
513 480
     <h3><a href="https://tails.boum.org/">The Amnesic Incognito Live System</a> (<a
514 481
     href="http://git.immerda.ch/?p=amnesia.git;a=summary">code</a>, <a
... ...
@@ -523,16 +490,6 @@ meetings around the world.</li>
523 490
     and still under very active development.
524 491
     </p>
525 492
 
526
-    <!--
527
-    <p>
528
-    <b>Project Ideas:</b><br />
529
-    <i><a href="#tailsHiddenServicePetnames">Petname system for Tor hidden
530
-    services</a></i><br />
531
-    <i><a href="#tailsServer">Tails server: Self-hosted services behind
532
-    Tails-powered Tor hidden services</a></i>
533
-    </p>
534
-    -->
535
-
536 493
     <a id="project-torramdisk"></a>
537 494
     <h3><a href="http://opensource.dyc.edu/tor-ramdisk">Tor-ramdisk</a> (<a
538 495
     href="http://opensource.dyc.edu/gitweb/?p=tor-ramdisk.git;a=summary">code</a>, <a
... ...
@@ -567,13 +524,6 @@ meetings around the world.</li>
567 524
     otherwise feature complete.
568 525
     </p>
569 526
 
570
-    <!--
571
-    <p>
572
-    <b>Project Ideas:</b><br />
573
-    <i><a href="#torsocksForOSX">Make torsocks/dsocks work on OS X</a></i>
574
-    </p>
575
-    -->
576
-
577 527
     <a id="project-torbirdy"></a>
578 528
     <h3>TorBirdy (<a
579 529
     href="https://github.com/ioerror/torbirdy">code</a>, <a
... ...
@@ -597,15 +547,6 @@ meetings around the world.</li>
597 547
     block Tor. This has both a C and python implementation.
598 548
     </p>
599 549
 
600
-    <!--
601
-    <p>
602
-    <b>Project Ideas:</b><br />
603
-    <i><a href="#obfsproxy-new-transports">New and innovative pluggable transports</a></i><br />
604
-    <i><a href="#obfsproxy-scanning-measures">Defensive bridge active scanning measures</a></i><br />
605
-    <i><a href="#obfsproxy-fuzzer">Fuzzer for the Tor protocol</a></i>
606
-    </p>
607
-    -->
608
-
609 550
     <a id="project-flash-proxy"></a>
610 551
     <h3><a href="https://crypto.stanford.edu/flashproxy/">Flash Proxy</a> (<a
611 552
     href="https://gitweb.torproject.org/flashproxy.git">code</a>, <a
... ...
@@ -900,33 +841,6 @@ meetings around the world.</li>
900 841
 
901 842
     <ol>
902 843
 
903
-    <!--
904
-    <a id="auditTBB"></a>
905
-    <li>
906
-    <b>Audit Tor Browser Bundles for data leaks</b>
907
-    <br>
908
-    Effort Level: <i>High</i>
909
-    <br>
910
-    Skill Level: <i>Medium</i>
911
-    <br>
912
-    Likely Mentors: <i>Jacob</i>
913
-    <p>The Tor Browser Bundle incorporates Tor, Firefox, Polipo, and the Vidalia
914
-    user interface (and optionally the <a href="http://pidgin.im/">Pidgin</a>
915
-    Instant Messaging client). Components are pre-configured to operate in a
916
-    secure way, and it has very few dependencies on the installed operating
917
-    system. It has therefore become one of the most easy to use, and popular,
918
-    ways to use Tor on Windows.</p>
919
-    <p>This project is to identify all of the traces left behind by
920
-    using a Tor Browser Bundle on Windows, Mac OS X, or Linux.  Developing
921
-    ways to stop, counter, or remove these traces is a final step.</p>
922
-    <p>Students should be familiar with operating system analysis,
923
-    application development on one or preferably all of Windows, Linux,
924
-    and Mac OS X, and be comfortable with C/C++ and shell scripting.</p>
925
-    <p>Since the core of this project is researching and auditing TBB this is
926
-    not likely to be a good GSoC project.</p>
927
-    </li>
928
-    -->
929
-
930 844
     <a id="txtorcon-stemIntegration"></a>
931 845
     <li>
932 846
     <b>Txtorcon/Stem Integration</b>
... ...
@@ -949,216 +863,6 @@ meetings around the world.</li>
949 863
     bonus points if it's Twisted.</p>
950 864
     </li>
951 865
 
952
-    <!--
953
-    <a id="orbot-userInterface"></a>
954
-    <li>
955
-    <b>Build a better user interface for Orbot</b>
956
-    <br>
957
-    Effort Level: <i>Medium</i>
958
-    <br>
959
-    Skill Level: <i>Medium</i>
960
-    <br>
961
-    Likely Mentors: <i>Jake</i>
962
-    <p>Improved home screen to show confirmation of connection (via a TorCheck
963
-    API call), better statistics about data transferred (up/down), number of
964
-    circuits connected, quality of connection and so on. The &quot;Tether
965
-    Wifi&quot; Android application is a good model to follow in how it shows a
966
-    realtime count of bytes transferred as well as notifications when wifi
967
-    clients connect. In addition, better handling of Tor system and error
968
-    messages would also be very helpful, include use of standard Android
969
-    operating systems notifications. The addition of a wizard or tutorial
970
-    walkthrough for novice users to explain to them exactly what is and what is
971
-    not anonymized or protected would greatly improve the likelihood they will
972
-    use Orbot correctly. All of this should work on the range of screens and
973
-    device types now offered for Android, from 2&quot; phone to 10&quot;
974
-    Tablet.</p>
975
-    </li>
976
-    -->
977
-
978
-    <!--
979
-    <a id="armClientMode"></a>
980
-    <li>
981
-    <b>Client Mode Use Cases for Arm</b>
982
-    <br>
983
-    Effort Level: <i>High</i>
984
-    <br>
985
-    Skill Level: <i>Medium</i>
986
-    <br>
987
-    Likely Mentors: <i>Damian (atagar)</i>
988
-    <p><a href="<page projects/arm>">Arm</a> is a Tor command line status
989
-    monitor on *nix environments (Linux, Mac, and BSD). It functions much like
990
-    top does, giving a CLI overlay of Tor's bandwidth usage, connections,
991
-    configuration, log, etc. Thus far its design has been geared for Tor relay
992
-    operators. However, this doesn't need to be the case. This project would be
993
-    to expand and simplify arm to make it useful for Tor's client users
994
-    too.</p>
995
-
996
-    <p>This would include UI design, experimenting, and a lot of python
997
-    hacking. Here's some ideas for client functionality arm could provide:</p>
998
-
999
-    <ul>
1000
-      <li>A panel for client connections, showing each hop of the user's
1001
-      circuits with the ISP, country, and jurisdiction where those relays
1002
-      reside. Other interesting information would be the circuit's latency, how
1003
-      long its been around, and its possible exit ports. Some of this will be
1004
-      pretty tricky and require some experimentation to figure out what
1005
-      information can be fetched safely (for instance, scraping rdns and whois
1006
-      lookups could give hints about a relay's ISP, but we'd need to do it on
1007
-      all Tor relays to avoid leaking our connections to the resolver).</li>
1008
-
1009
-      <li>Options to let the user request new circuits (the &quot;New
1010
-      Identity&quot; feature in Vidalia), select the exit country, etc.</li>
1011
-
1012
-      <li>A panel showing Internet application and if their connections are
1013
-      being routed through Tor or not (giving a warning if there's leaks).</li>
1014
-
1015
-      <li>The status of the bridges we're configured to use (ie, are they up?).
1016
-      This would include adding control port functionality to Tor for <a
1017
-      href="https://trac.torproject.org/projects/tor/ticket/2068">ticket
1018
-      2068</a>.</li>
1019
-
1020
-      <li>A one click option to set Tor to be a client, relay, or bridge. The
1021
-      goal would be to make it trivial for users to voluntarily contribute to
1022
-      the Tor network.</li>
1023
-
1024
-      <li>Menus as an alternative to hotkeys to make the interface more
1025
-      intuitive and usable for beginners (<a
1026
-      href="http://gnosis.cx/publish/programming/charming_python_6.html">example</a>).</li>
1027
-
1028
-      <li>Look at Vidalia and TorK for ideas and solicit input from the Tor community.</li>
1029
-    </ul>
1030
-
1031
-    <p>
1032
-    More information is available in the following sections of arm's dev notes: <a href="https://trac.torproject.org/projects/tor/wiki/doc/arm#ConnectionListingExpansion">Connection Listing Expansion</a>, <a href="https://trac.torproject.org/projects/tor/wiki/doc/arm#CircuitDetails">Circuit Details</a>, and <a href="https://trac.torproject.org/projects/tor/wiki/doc/arm#ClientModeUseCases">Client Mode Use Cases</a>
1033
-    </p>
1034
-    </li>
1035
-    -->
1036
-
1037
-    <!--
1038
-    <a id="orbot-optimisation"></a>
1039
-    <li>
1040
-    <b>Core Tor mobile optimisation</b>
1041
-    <br>
1042
-    Effort Level: <i>Medium</i>
1043
-    <br>
1044
-    Skill Level: <i>High</i>
1045
-    <br>
1046
-    Likely Mentors: <i>Jake</i>
1047
-    <p>
1048
-    The existing port of Tor to Android is basically a straight
1049
-    cross-compile to Linux ARM. There has been no work done in looking at
1050
-    possible optimizations of Tor within a mobile hardware environment or on
1051
-    mobile networks. In addition, a number of additional Android OS APIs are
1052
-    available (such as wireless network status) that could be taken
1053
-    advantage of.
1054
-    </p>
1055
-
1056
-    <p>
1057
-    It should be noted, that even without optimisation, Tor is handling the
1058
-    mobile network environment very well, automatically detecting change in
1059
-    IP addresses, opening circuits, etc, as the device switches from no
1060
-    coverage to 2G, 3G or Wifi constantly as it changes position. However,
1061
-    this observation of &quot;very well&quot;, is just based on user
1062
-    experience, and not any detailed study of what exactly is happening, and
1063
-    what threats might exist because of this constantly changing network state.
1064
-    </p>
1065
-
1066
-    <p>
1067
-    Finally, the build process needs to be moved to the Android NDK from the
1068
-    custom GCC toolchain we are now using, and compatibility with Android
1069
-    2.3 and 3.x Honeycomb OS need to be verified.
1070
-    </p>
1071
-
1072
-    <p>
1073
-    For more information see the <a
1074
-    href="https://svn.torproject.org/svn/projects/android/trunk/Orbot/BUILD">Orbot
1075
-    build documentation</a>.
1076
-    </p>
1077
-    </li>
1078
-    -->
1079
-
1080
-    <!--
1081
-    <a id="obfsproxy-scanning-measures"></a>
1082
-    <li>
1083
-    <b>Defensive bridge active scanning measures</b>
1084
-    <br>
1085
-    Effort Level: <i>High</i>
1086
-    <br>
1087
-    Skill Level: <i>High</i>
1088
-    <br>
1089
-    Likely Mentors: <i>asn</i>
1090
-    <p>Involves providing good answers to <a
1091
-    href="https://lists.torproject.org/pipermail/tor-dev/2011-November/003073.html">this
1092
-    thread</a> as well as concrete implementation plans for it.</p>
1093
-
1094
-    <p>This also involves implementing proposals <a
1095
-    href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/189-authorize-cell.txt">189</a>
1096
-    and <a
1097
-    href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/190-shared-secret-bridge-authorization.txt">190</a>.</p>
1098
-    </li>
1099
-    -->
1100
-
1101
-    <!--
1102
-    <a id="firewallProbeTool"></a>
1103
-    <li>
1104
-    <b>Develop a fully automatic firewall-probing system</b>
1105
-    <br>
1106
-    Effort Level: <i>Medium to High</i>
1107
-    <br>
1108
-    Skill Level: <i>High</i>
1109
-    <br>
1110
-    Likely Mentors: <i>Robert Ransom, Jacob</i>
1111
-    <p>We would like to have a fully automatic firewall-probing system for
1112
-    blocking systems with no long-term state (i.e. firewalls that can
1113
-    examine each connection, but do not change their behaviour for future
1114
-    connections based on the traffic they have seen).</p>
1115
-    <p>Ideally, volunteers would only need to set up one or more test servers,
1116
-    and run the probe client program on a publicly accessible computer
1117
-    behind the firewall.</p>
1118
-    <p>The test tool should:</p>
1119
-    <ul>
1120
-    <li>generate packet captures on both ends (and send them out to the
1121
-        extent possible),</li>
1122
-    <li>cycle through all the SSL configurations we might want to test
1123
-        through a censorship device, and</li>
1124
-    <li>also test some other protocols to see whether they are allowed
1125
-        through the firewall (IMAP and other mail protocols, BitTorrent,
1126
-        DTLS, etc.).</li>
1127
-    </ul>
1128
-    </li>
1129
-    -->
1130
-
1131
-    <!--
1132
-    <a id="obfsproxy-fuzzer"></a>
1133
-    <li>
1134
-    <b>Fuzzer for the Tor protocol</b>
1135
-    <br>
1136
-    Effort Level: <i>Medium to High</i>
1137
-    <br>
1138
-    Skill Level: <i>High</i>
1139
-    <br>
1140
-    Likely Mentors: <i>asn</i>
1141
-    <p>Involves researching good and smart ways to fuzz stateful network
1142
-    protocols, and also implementing the fuzzer.</p>
1143
-
1144
-    <p>We are mostly looking for a fuzzer that fuzzes the Tor protocol
1145
-    itself, and not the Tor directory protocol.</p>
1146
-
1147
-    <p>Bonus points if it's extremely modular. Relevant research:</p>
1148
-
1149
-    <ul>
1150
-      <li>PROTOS - Security Testing of Protocol Implementations</li>
1151
-      <li>INTERSTATE: A Stateful Protocol Fuzzer for SIP</li>
1152
-      <li>Detecting Communication Protocol Security Flaws by Formal Fuzz
1153
-      Testing and Machine Learning</li>
1154
-      <li>SNOOZE: Toward a Stateful NetwOrk prOtocol fuzZE</li>
1155
-      <li>Michal Zalewski's &quot;bugger&quot;</li>
1156
-      <li>Also look at the concepts of &quot;model checking&quot; and
1157
-      &quot;symbolic execution&quot; to get inspired.</li>
1158
-    </ul>
1159
-    </li>
1160
-    -->
1161
-
1162 866
     <a id="httpsImpersonation"></a>
1163 867
     <li>
1164 868
     <b>HTTPS Server Impersonation</b>
... ...
@@ -1178,168 +882,6 @@ meetings around the world.</li>
1178 882
     </p>
1179 883
     </li>
1180 884
 
1181
-    <!--
1182
-    <a id="geoIPUpgrade"></a>
1183
-    <li>
1184
-    <b>Improve our GeoIP file format</b>
1185
-    <br>
1186
-    Effort Level: <i>Medium</i>
1187
-    <br>
1188
-    Skill Level: <i>Medium to High</i>
1189
-    <br>
1190
-    Likely Mentors: <i>Robert Ransom</i>
1191
-    <p>Currently, Tor bridges and relays read an entire IP-&gt;country database
1192
-    into memory from a text file during startup.  We would like to
1193
-    distribute this database and store it on disk in a much more compact
1194
-    form, and perform IP-&gt;country lookups on it in its on-disk format if
1195
-    possible.</p>
1196
-    <p>We have <a href='https://trac.torproject.org/projects/tor/ticket/2506'>a
1197
-    sketch of a design</a> for a moderately optimized format for IPv4 GeoIP
1198
-    data; this project will involve both implementing the IPv4 format and
1199
-    designing and implementing a format for IPv6 GeoIP data.</p>
1200
-    <p>Since the core of this project is researching IPv6 GeoIP data and
1201
-    designing the IPv6 format, this is not likely to be a good GSoC
1202
-    project.</p>
1203
-    </li>
1204
-    -->
1205
-
1206
-    <!--
1207
-    <a id="unitTesting"></a>
1208
-    <li>
1209
-    <b>Improve our unit testing process</b>
1210
-    <br>
1211
-    Effort Level: <i>Medium</i>
1212
-    <br>
1213
-    Skill Level: <i>Medium</i>
1214
-    <br>
1215
-    Likely Mentors: <i>Nick, Erinn</i>
1216
-    <p>Tor needs to be tested far more thoroughly. This is a
1217
-    multi-part effort. To start with, our unit test coverage should
1218
-    rise substantially, especially in the areas outside the utility
1219
-    functions. This will require significant refactoring of some parts
1220
-    of Tor, in order to dissociate as much logic as possible from
1221
-    globals.</p>
1222
-    <p>Additionally, we need to automate our performance testing. We've got
1223
-    buildbot to automate our regular integration and compile testing already
1224
-    (though we need somebody to set it up on Windows),
1225
-    but we need to get our network simulation tests (as built in <a
1226
-    href="https://svn.torproject.org/svn/torflow/trunk/README">TorFlow</a>)
1227
-    updated for more recent versions of Tor, and designed to launch a test
1228
-    network either on a single machine, or across several, so we can test
1229
-    changes in performance on machines in different roles automatically.</p>
1230
-    </li>
1231
-    -->
1232
-
1233
-    <!--
1234
-    <a id="vidaliaNetworkMap"></a>
1235
-    <li>
1236
-    <b>Improved and More Usable Network Map in Vidalia</b>
1237
-    <br>
1238
-    Effort Level: <i>Medium</i>
1239
-    <br>
1240
-    Skill Level: <i>Medium</i>
1241
-    <br>
1242
-    Likely Mentors: <i>Tomás</i>
1243
-    <p>
1244
-    One of Vidalia's existing features is a network map that shows the user
1245
-    the approximate geographic location of relays in the Tor network and
1246
-    plots the paths the user's traffic takes as it is tunneled through the
1247
-    Tor network. The map is currently not very interactive and has rather
1248
-    poor graphics. Instead, we implemented KDE's Marble widget such
1249
-    that it gives us a better quality map and enables improved interactivity,
1250
-    such as allowing the user to click on individual relays or circuits to
1251
-    display additional information. We want to add the ability
1252
-    for users to click on a particular relay or a country containing one or
1253
-    more Tor exit relays and say, "I want my connections to exit
1254
-    from here."
1255
-    </p>
1256
-
1257
-    <p>
1258
-    This project will first involve getting familiar with Vidalia
1259
-    and the Marble widget's API. One will then integrate the widget
1260
-    into Vidalia and customize Marble to be better suited for our application,
1261
-    such as making circuits clickable, storing cached map data in Vidalia's
1262
-    own data directory, and customizing some of the widget's dialogs.
1263
-    </p>
1264
-
1265
-    <p>
1266
-    A person undertaking this project should have good C++ development
1267
-    experience. Previous experience with Qt and CMake is helpful, but not
1268
-    required.
1269
-    </p>
1270
-    </li>
1271
-    -->
1272
-
1273
-    <!--
1274
-    <a id="resistCensorship"></a>
1275
-    <li>
1276
-    <b>Improving Tor's ability to resist censorship</b>
1277
-    <br>
1278
-    Effort Level: <i>Medium to High</i>
1279
-    <br>
1280
-    Skill Level: <i>High</i>
1281
-    <br>
1282
-    Likely Mentors: <i>Jake, Thomas</i>
1283
-    <p>The Tor 0.2.1.x series makes <a
1284
-    href="<svnprojects>design-paper/blocking.html">significant
1285
-    improvements</a> in resisting national and organizational censorship.
1286
-    But Tor still needs better mechanisms for some parts of its
1287
-    anti-censorship design.</p>
1288
-    <p>One huge category of work is adding features to our <a
1289
-    href="https://gitweb.torproject.org/bridgedb.git?a=tree">BridgeDB</a>
1290
-    service (Python). Tor aims to give out <a href="<page docs/bridges>">bridge
1291
-    relay addresses</a> to users that can't reach the Tor network
1292
-    directly, but there's an arms race between algorithms for distributing
1293
-    addresses and algorithms for gathering and blocking them. See <a
1294
-    href="<blog>bridge-distribution-strategies">our
1295
-    blog post on the topic</a> as an overview, and then look at <a
1296
-    href="https://lists.torproject.org/pipermail/tor-dev/2009-December/000666.html">Roger's
1297
-    or-dev post</a> from December 2009 for more recent thoughts &mdash; lots of
1298
-    design work remains.</p>
1299
-    <p>If you want to get more into the guts of Tor itself (C), a more minor problem
1300
-    we should address is that current Tors can only listen on a single
1301
-    address/port combination at a time. There's
1302
-    <a href="<specblob>proposals/118-multiple-orports.txt">a
1303
-    proposal to address this limitation</a> and allow clients to connect
1304
-    to any given Tor on multiple addresses and ports, but it needs more
1305
-    work.</p>
1306
-    <p>This project could involve a lot of research and design. One of the big
1307
-    challenges will be identifying and crafting approaches that can still
1308
-    resist an adversary even after the adversary knows the design, and
1309
-    then trading off censorship resistance with usability and
1310
-    robustness.</p>
1311
-    </li>
1312
-    -->
1313
-
1314
-    <!--
1315
-    <a id="user-space-transport"></a>
1316
-    <li>
1317
-    <b>Integrating Tor with user-space transport protocol libraries</b>
1318
-    <br>
1319
-    Effort Level: <i>High</i>
1320
-    <br>
1321
-    Skill Level: <i>High</i>
1322
-    <br>
1323
-    Likely Mentors: <i>Steven</i>
1324
-    <p>Tor currently sends data over TCP links between nodes. <a
1325
-    href="http://static.usenix.org/events/sec09/tech/full_papers/reardon.pdf">Prior
1326
-    research</a> has indicated that this may not be optimal, and instead the
1327
-    role that TCP plays (congestion control and reliability) should be moved
1328
-    into Tor itself. This would allow a number of desirable changes, such as
1329
-    preventing errors on one circuit delaying another, and giving Tor control
1330
-    and visibility of congestion control.</p>
1331
-    <p>There are <a
1332
-    href="http://www.cl.cam.ac.uk/~sjm217/papers/tor11datagramcomparison.pdf">many
1333
-    ways to do this</a>, each with their own tradeoffs and difficulty of
1334
-    implementation. This project will be to select one (or more) option and
1335
-    implement it in Tor. The primary goal will be to test this modified version
1336
-    of Tor in simulation, but if it turns out to work well, it could be
1337
-    deployed in the live Tor network.</p>
1338
-    <p>Excellent C programming skills are needed, and knowledge of Tor
1339
-    internals are highly desirable.</p>
1340
-    </li>
1341
-    -->
1342
-
1343 885
     <a id="chutneyExpansion"></a>
1344 886
     <li>
1345 887
     <b>Make Chutney Do More, More Reliably</b>
... ...
@@ -1363,132 +905,6 @@ meetings around the world.</li>
1363 905
     </p>
1364 906
     </li>
1365 907
 
1366
-    <!--
1367
-    <a id="torsocksForOSX"></a>
1368
-    <li>
1369
-    <b>Make torsocks/dsocks work on OS X</b>
1370
-    <br>
1371
-    Effort Level: <i>Medium</i>
1372
-    <br>
1373
-    Skill Level: <i>Medium</i>
1374
-    <br>
1375
-    Likely Mentors: <i>Robert Hogan</i>
1376
-    <p>
1377
-    <a href="https://code.google.com/p/torsocks/">Torsocks</a> and <a
1378
-    href="https://code.google.com/p/dsocks/">dsocks</a> are wrappers that will
1379
-    run applications, intercept their outgoing network connections, and push
1380
-    those connections through Tor. The goal is to handle applications that
1381
-    don't support proxies (or don't supporting them well). To get it right,
1382
-    they need to intercept many system calls. The syscalls you need to
1383
-    intercept on Linux differ dramatically from those on BSD. So Torsocks
1384
-    works fine on Linux, dsocks works ok on BSD (though it may be less
1385
-    maintained and thus might miss more syscalls), and nothing works well
1386
-    on both. First, we should patch dsocks to use Tor's <i>mapaddress</i>
1387
-    commands from the controller interface, so we don't waste a whole
1388
-    round-trip inside Tor doing the resolve before connecting. Second,
1389
-    we should make our <i>torify</i> script detect which of torsocks or
1390
-    dsocks is installed, and call them appropriately. This probably means
1391
-    unifying their interfaces, and might involve sharing code between them
1392
-    or discarding one entirely.
1393
-    </p>
1394
-    </li>
1395
-    -->
1396
-
1397
-    <!--
1398
-    <a id="obfsproxy-new-transports"></a>
1399
-    <li>
1400
-    <b>New and innovative pluggable transports</b>
1401
-    <br>
1402
-    Effort Level: <i>High</i>
1403
-    <br>
1404
-    Skill Level: <i>High</i>
1405
-    <br>
1406
-    Likely Mentors: <i>asn, Steven</i>
1407
-    <p>Not-very-smart transports like ROT13 and base64 are nice but not super
1408
-    interesting. Other ideas like bittorrent transports might be relevant,
1409
-    but you will have to provide security proofs on why they are harder to
1410
-    detect and block than other less-sophisticated transports.</p>
1411
-
1412
-    <p>The whole point of this project, though, is to come up with new
1413
-    transports that we haven't already thought of. Be creative.</p>
1414
-
1415
-    <p>Bonus points if your idea is interesting and still implementable
1416
-    through the summer period.</p>
1417
-
1418
-    <p>More bonus points if it's implemented on top of obfsproxy, or if your
1419
-    implementation has a pluggable transport interface on top of it (as
1420
-    specified <a href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/180-pluggable-transport.txt">here</a>).</p>
1421
-    </li>
1422
-    -->
1423
-
1424
-    <!--
1425
-    <a id="orbot-orlibAndOutreach"></a>
1426
-    <li>
1427
-    <b>Orbot integration library and community outreach</b>
1428
-    <br>
1429
-    Effort Level: <i>Low</i>
1430
-    <br>
1431
-    Skill Level: <i>Medium</i>
1432
-    <br>
1433
-    Likely Mentors: <i>Nathan (n8fr8)</i>
1434
-    <p>
1435
-    We need additional work on <a
1436
-    href="https://github.com/guardianproject/orlib">ORLib</a>, our library for
1437
-    use with third-party application to easily enable them to support
1438
-    &quot;Torification&quot; on non-rooted devices (i.e. w/o transparent
1439
-    proxying). This library includes a SOCKS client, a wrapper for the Apache
1440
-    HTTPClient library, a utility class for detecting the state of Orbot
1441
-    connectivity, and other relevant/useful things an Android app might need to
1442
-    anonymize itself. This work would includes direct development of the
1443
-    library, documentation, and sample code. Outreach or effort to implement
1444
-    the library within other open-source apps is also needed.
1445
-    </p>
1446
-    </li>
1447
-    -->
1448
-
1449
-    <!--
1450
-    <a id="tailsHiddenServicePetnames"></a>
1451
-    <li>
1452
-    <b>Petname system for Tor hidden services</b>
1453
-    <br>
1454
-    Effort Level: <i>High</i>
1455
-    <br>
1456
-    Skill Level: <i>High</i>
1457
-    <br>
1458
-    Likely Mentors: <i>ague</i>
1459
-    <p>Tor provides hidden services. These services are only reachable through
1460
-    Tor itself, and provide greater anonymity both for the providers of the
1461
-    service and for its users.</p>
1462
-    <p>One current downside of Tor hidden services is that they are addressed
1463
-    using 80-bit base32-encoded addresses such as "v2cbb2l4lsnpio4q.onion".
1464
-    These addresses are hard to remember; this makes them hard to use
1465
-    within amnesic environment like Tails.</p>
1466
-    <p>The project is to implement a petname system for Tor hidden services:
1467
-    a way for users or providers of Tor hidden services to add a simple
1468
-    'nickname' to a central database. Users could then query this central
1469
-    database to retrieve a full hidden service address by giving
1470
-    a nickname.</p>
1471
-    <p>Adding petnames to the database could be done using a web interface or
1472
-    automated fetch like those described in the <a
1473
-    href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/ideas/xxx-onion-nyms.txt">&quot;.onion
1474
-    nym system&quot; proposal</a>.</p>
1475
-    <p>Querying the database could be done using a web interface, a REST API and
1476
-    a DNS interface.</p>
1477
-    <p>In order not to grow indefinitely, the software should make regular tests to
1478
-    see if hidden services are still reachable and, depending on the last time
1479
-    a nickname was accessed, cleanup the database as necessary.</p>
1480
-    <p>The software should allow a distributed, fault-tolerant setup.
1481
-    All nodes should have a synchronized copy of the database, should be
1482
-    ready to answer queries and should coordinate the tests for hidden
1483
-    service availability.</p>
1484
-    <p>The resulting codebase must be easy to deploy: it should not be hard to
1485
-    setup new databases.</p>
1486
-    <p>It is expected that the volunteer will be using Behaviour Driven
1487
-    Development methods. Either in Ruby using Cucumber and RSpec, or in
1488
-    Python using similar tools.</p>
1489
-    </li>
1490
-    -->
1491
-
1492 908
     <a id="limitCapabilities"></a>
1493 909
     <li>
1494 910
     <b>Run With Limited Capabilities</b>
... ...
@@ -1570,42 +986,6 @@ meetings around the world.</li>
1570 986
     data.</p>
1571 987
     </li>
1572 988
 
1573
-    <!--
1574
-    <a id="simulateSlowConnections"></a>
1575
-    <li>
1576
-    <b>Simulator for slow Internet connections</b>
1577
-    <br>
1578
-    Effort Level: <i>Medium</i>
1579
-    <br>
1580
-    Skill Level: <i>Medium</i>
1581
-    <br>
1582
-    Likely Mentors: <i>Nick</i>
1583
-    <p>
1584
-    Many users of Tor have poor-quality Internet connections, giving low
1585
-    bandwidth, high latency, and high packet loss/re-ordering. User
1586
-    experience is that Tor reacts badly to these conditions, but it is
1587
-    difficult to improve the situation without being able to repeat the
1588
-    problems in the lab.
1589
-    </p>
1590
-
1591
-    <p>
1592
-    This project would be to build a simulation environment which
1593
-    replicates the poor connectivity so that the effect on Tor performance
1594
-    can be measured. Other components would be a testing utility to
1595
-    establish what are the properties of connections available, and to
1596
-    measure the effect of performance-improving modifications to Tor.
1597
-    </p>
1598
-
1599
-    <p>
1600
-    The tools used would be up to the student, but dummynet (for FreeBSD)
1601
-    and nistnet (for Linux) are two potential components on which this
1602
-    project could be built. Students should be experienced with network
1603
-    programming/debugging and TCP/IP, and preferably familiar with C and a
1604
-    scripting language.
1605
-    </p>
1606
-    </li>
1607
-    -->
1608
-
1609 989
     <a id="stemUsability"></a>
1610 990
     <li>
1611 991
     <b>Stem Usability and Porting</b>
... ...
@@ -1681,93 +1061,6 @@ meetings around the world.</li>
1681 1061
     <b>As part of your application for this project please write some code to expand stem's tests.</b> Bonus points if it impelments one of your suggestions for better testing Tor!
1682 1062
     </p>
1683 1063
 
1684
-    <!--
1685
-    <a id="tailsServer"></a>
1686
-    <li>
1687
-    <b>Tails server: Self-hosted services behind Tails-powered Tor hidden services</b>
1688
-    <br>
1689
-    Effort Level: <i>High</i>
1690
-    <br>
1691
-    Skill Level: <i>Medium, but wide-scoped</i>
1692
-    <br>
1693
-    Likely Mentors: <i>intrigeri, anonym</i>
1694
-    <p>Let's talk about group collaboration, communication and data sharing
1695
-    infrastructure, such as chat servers, wikis, or file repositories.</p>
1696
-    <p>Hosting such data and infrastructure <b>in the cloud</b> generally
1697
-    implies to trust the service providers not to disclose content, usage or
1698
-    users location information to third-parties. Hence, there are many threat
1699
-    models in which cloud hosting is not suitable.</p>
1700
-    <p>Tor partly answers the <b>users location</b> part; this is great, but
1701
-    <b>content</b> is left unprotected.</p>
1702
-    <p>There are two main ways to protect such content: either to encrypt it
1703
-    client-side (<b>security by design</b>), or to avoid putting it into
1704
-    untrusted hands in the first place.</p>
1705
-    <p>Cloud solutions that offer security by design are rare and generally
1706
-    not mature yet. The <b>Tails server</b> project is about exploring the
1707
-    other side of the alternative: avoiding to put private data into
1708
-    untrusted hands in the first place.</p>
1709
-    <p>This is made possible thanks to Tor hidden services, that allow users
1710
-    to offer location-hidden services, and make self-hosting possible in
1711
-    many threat models. Self-hosting has its own lot of problems, however,
1712
-    particularly in contexts where the physical security of the hosting
1713
-    place is not assured. Combining Tor hidden services with Tails'
1714
-    amnesia property and limited support for persistent encrypted data
1715
-    allows to protect content, to a great degree, even in such contexts.</p>
1716
-    <p>In short, setting up a new Tails server would be done by:</p>
1717
-
1718
-    <ol style="list-style-type: decimal">
1719
-      <li>Alice plugs a USB stick into a running desktop Tails system.</li>
1720
-      <li>Alice uses a GUI to easily configure the needed services.</li>
1721
-      <li>Alice unplugs the USB stick, that now contains encrypted services
1722
-      configuration and data storage space.</li>
1723
-      <li>Alice plugs that USB stick (and possibly a Tails Live CD) into the
1724
-      old laptop that was dedicated to run Tails server.</li>
1725
-      <li>Once booted, Alice enters the encryption passphrase either
1726
-      directly using the keyboard or through a web interface listening on the
1727
-      local network.</li>
1728
-      <li>Then, Bob can use the configured services once he gets a hold on
1729
-      the hidden service address. (The <b>petname system for Tor hidden
1730
-      services</b> project would be very complementary to this one, by the
1731
-      way.)</li>
1732
-    </ol>
1733
-
1734
-    <p>Tails server should content itself with hardware that is a bit old
1735
-    (such as a PIII-450 laptop with 256MB of RAM) and/or half broken (e.g.
1736
-    non-functional hard-disk, screen or keyboard).</p>
1737
-    <p>The challenges behind this project are:</p>
1738
-
1739
-    <ul>
1740
-      <li>Design and write the services configuration GUI [keywords: edit
1741
-      configuration files, upgrade between major Debian versions,
1742
-      debconf].</li>
1743
-      <li>How to create the hidden service key? [keywords: Vidalia, control
1744
-      protocol].</li>
1745
-      <li>Adapt the Tails boot process to allow switching to &quot;server
1746
-      mode&quot; when appropriate.</li>
1747
-      <li>Add support, to the Tails persistence setup process, for asking an
1748
-      encryption passphrase without X, and possibly with a broken keyboard
1749
-      and/or screen [keywords: local network, SSL/TLS?, certificate?].</li>
1750
-    </ul>
1751
-
1752
-    <p>This project can easily grow quite large, so the first task would
1753
-    probably be to clarify what it would need to get an initial (minimal
1754
-    but working) implementation ready to be shipped to users.</p>
1755
-    <p>This project does not require to be an expert in one specific field,
1756
-    but it requires to be experienced and at ease with a large scope of
1757
-    software development tools, processes, and operating system knowledge.</p>
1758
-    <p>Undertaking this project requires in-depth knowledge of Debian-like
1759
-    systems (self-test: do the "dpkg conffile" and "debconf preseeding"
1760
-    words sound new to your ear?); the Debian Live persistence system
1761
-    being written in shell, being at ease with robust shell scripting is
1762
-    a must; to end with, at least two pieces of software need to be
1763
-    written from scratch (a GUI and a webapp): the preferred languages for
1764
-    these tasks would be Python and Perl. Using Behaviour Driven
1765
-    Development methods to convey expectations and acceptance criteria
1766
-    would be most welcome.</p>
1767
-    <p>For more information see https://tails.boum.org/todo/server_edition/</p>
1768
-    </li>
1769
-    -->
1770
-
1771 1064
     <a id="torCleanup"></a>
1772 1065
     <li>
1773 1066
     <b>Tor Codebase Cleanup</b>
... ...
@@ -1804,140 +1097,6 @@ meetings around the world.</li>
1804 1097
     </p>
1805 1098
     </li>
1806 1099
 
1807
-    <!--
1808
-    <a id="vidaliaStatusEventInterface"></a>
1809
-    <li>
1810
-    <b>Tor Controller Status Event Interface for Vidalia</b>
1811
-    <br>
1812
-    Effort Level: <i>Medium</i>
1813
-    <br>
1814
-    Skill Level: <i>Low to Medium</i>
1815
-    <br>
1816
-    Likely Mentors: <i>Tomás</i>
1817
-    <p>There are a number of status changes inside Tor of which the user may need
1818
-    to be informed. For example, if the user is trying to set up his Tor as a
1819
-    relay and Tor decides that its ports are not reachable from outside
1820
-    the user's network, we should alert the user. Currently, all the user
1821
-    gets is a couple of log messages in Vidalia's 'message log' window, which they
1822
-    likely never see since they don't receive a notification that something
1823
-    has gone wrong. Even if the user does actually look at the message log,
1824
-    most of the messages make little sense to the novice user.</p>
1825
-    <p>Tor has the ability to inform Vidalia of many such status
1826
-    changes, and we recently implemented support for a couple of these
1827
-    events. Still, there are many more status events which the user should
1828
-    be informed of, and we need a better UI for actually displaying them
1829
-    to the user.</p>
1830
-    <p>The goal of this project then is to design and implement a UI for
1831
-    displaying Tor status events to the user. For example, we might put a
1832
-    little badge on Vidalia's tray icon that alerts the user to new status
1833
-    events they should look at. Double-clicking the icon could bring up a
1834
-    dialog that summarizes recent status events in simple terms and maybe
1835
-    suggests a remedy for any negative events if they can be corrected by
1836
-    the user. Of course, this is just an example and one is free to
1837
-    suggest another approach.</p>
1838
-    <p>A person undertaking this project should have good UI design and layout
1839
-    skills and some C++ development experience. Previous experience with Qt and
1840
-    Qt's Designer will be very helpful, but are not required. Some
1841
-    English writing ability will also be useful, since this project will
1842
-    likely involve writing small amounts of help documentation that should
1843
-    be understandable by non-technical users. Bonus points for some graphic
1844
-    design/Photoshop fu, since we might want/need some shiny new icons too.</p>
1845
-    </li>
1846
-    -->
1847
-
1848
-    <!--
1849
-    <a id="orbot-torbutton"></a>
1850
-    <li>
1851
-    <b>TorButton for Mobile Firefox 4 or Custom Browser on Android</b>
1852
-    <br>
1853
-    Effort Level: <i>High</i>
1854
-    <br>
1855
-    Skill Level: <i>High</i>
1856
-    <br>
1857
-    Likely Mentors: <i>Jake</i>
1858
-    <p>Initial work has been done on implementing a proxy-setting add-on for
1859
-    Firefox on Android (see <a
1860
-    href="https://github.com/guardianproject/ProxyMob">ProxyMob</a>), but a
1861
-    full port of TorButton needs to be done (dependent upon Firefox 4 port of
1862
-    TorButton). The other approach is to implement a custom &quot;Tor
1863
-    Browser&quot; based on Firefox or Webkit browser. See <a
1864
-    href="http://code.google.com/p/torora/wiki/Android">Torora</a> for progress
1865
-    on this so far.</p>
1866
-    </li>
1867
-    -->
1868
-
1869
-    <!--
1870
-    <a id="vidalia-hidden-service-panel"></a>
1871
-    <li>
1872
-    <b>Torrc plugin and improved hidden service configuration panel</b>
1873
-    <br>
1874
-    Effort Level: <i>Medium</i>
1875
-    <br>
1876
-    Skill Level: <i>Medium</i>
1877
-    <br>
1878
-    Likely Mentors: <i>Tomás</i>
1879
-    <p>Vidalia's configuration handling has changed in the alpha branch. Now
1880
-    every Tor option is saved in the torrc file. With that change, the
1881
-    Hidden Service configuration panel was removed due to its specificity
1882
-    and its multiple bugs.</p>
1883
-
1884
-    <p>The idea would be to provide the new Torrc class' functionality to the
1885
-    Plugin Engine and with that, create a better Hidden Service
1886
-    configuration panel as a plugin.</p>
1887
-
1888
-    <p>A person undertaking this project should have good UI design, layout
1889
-    skills and some C++ development experience. Previous experience with Qt
1890
-    and Qt's Designer will be very helpful, but are not required. Javascript
1891
-    knowledge is a plus, but it shouldn't be a problem if the person
1892
-    complies with the previous requirements.</p>
1893
-    </li>
1894
-    -->
1895
-
1896
-    <!--
1897
-    <a id="usabilityTesting"></a>
1898
-    <li>
1899
-    <b>Usability testing of Tor</b>
1900
-    <br>
1901
-    Effort Level: <i>Medium</i>
1902
-    <br>
1903
-    Skill Level: <i>Low to Medium</i>
1904
-    <br>
1905
-    Likely Mentors: <i>Andrew</i>
1906
-    <p>
1907
-    Especially the browser bundle, ideally amongst our target demographic.
1908
-    That would help a lot in knowing what needs to be done in terms of bug
1909
-    fixes or new features. We get this informally at the moment, but a more
1910
-    structured process would be better.
1911
-    </p>
1912
-
1913
-    <p>
1914
-    Please note that since this isn't a coding project, it isn't suitable for
1915
-    Google Summer of Code.
1916
-    </p>
1917
-    </li>
1918
-    -->
1919
-
1920
-    <!--
1921
-    <a id="docUpdate"></a>
1922
-    <li>
1923
-    <b>Website and video documentation update</b>
1924
-    <br>
1925
-    Effort Level: <i>Medium</i>
1926
-    <br>
1927
-    Skill Level: <i>Medium</i>
1928
-    <br>
1929
-    Likely Mentors: <i>Runa, Karen</i>
1930
-    <p>
1931
-    Identify outdated and/or weak pages on torproject.org and re-write the
1932
-    documentation to appeal to a less technical, more goal-oriented
1933
-    audience. Create a number of 3-5 minute videos with graphically
1934
-    portray the written documentation. See
1935
-    <a href="https://trac.torproject.org/projects/tor/query?component=Website&status=new">the
1936
-    website tickets</a> for more information and a starting point.
1937
-    </p>
1938
-    </li>
1939
-    -->
1940
-
1941 1100
     <li>
1942 1101
     <b>Bring up new ideas!</b>
1943 1102
     <br>
1944 1103