[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] r25478: {website} Stem PathSupport project idea Adding a project that I'd real (website/trunk/getinvolved/en)
Author: atagar
Date: 2012-02-26 22:01:45 +0000 (Sun, 26 Feb 2012)
New Revision: 25478
Modified:
website/trunk/getinvolved/en/volunteer.wml
Log:
Stem PathSupport project idea
Adding a project that I'd really like to mentor this GSoC: a stem port for
TorCtl's PathSupport module. Hopefully this idea will get a few interested
students...
Modified: website/trunk/getinvolved/en/volunteer.wml
===================================================================
--- website/trunk/getinvolved/en/volunteer.wml 2012-02-25 21:04:13 UTC (rev 25477)
+++ website/trunk/getinvolved/en/volunteer.wml 2012-02-26 22:01:45 UTC (rev 25478)
@@ -524,6 +524,11 @@
testing, documentation, and API. This project is not yet feature complete.
</p>
+ <p>
+ <b>Project Ideas:</b><br />
+ <i><a href="#stemPathsupport">Stem PathSupport Capabilities</a></i>
+ </p>
+
<a id="project-metrics"></a>
<h3><a href="https://metrics.torproject.org/">Metrics</a> (code: <a
href="https://gitweb.torproject.org/metrics-db.git">db</a>, <a
@@ -820,6 +825,63 @@
robustness.</p>
</li>
+ <a id="stemPathsupport"></a>
+ <li>
+ <b>Stem PathSupport Capabilities</b>
+ <br>
+ Priority: <i>Medium</i>
+ <br>
+ Effort Level: <i>High</i>
+ <br>
+ Skill Level: <i>Medium</i>
+ <br>
+ Likely Mentors: <i>Damian (atagar)</i>
+ <p><a
+ href="https://trac.torproject.org/projects/tor/wiki/doc/stem">Stem</a> is a
+ python controller library for tor. Like it's predecessor, <a
+ href="#project-torctl">TorCtl</a>, it uses tor's <a
+ href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/control-spec.txt">control
+ protocol</a> to help developers program against the tor process, enabling
+ them to build things similar to <a href="#project-vidalia">Vidalia</a> and
+ <a href="#project-arm">arm</a>.</p>
+
+ <p>While TorCtl provided a fine first draft for this sort of functionality,
+ it has not proved to be extensible nor maintainable. Stem is a rewrite of
+ TorCtl with a heavy focus on testing, documentation, and providing a
+ developer friendly API.</p>
+
+ <p>At the moment stem is still very much incomplete, missing several pieces
+ of functionality that TorCtl provides. This is a project to fix that by
+ porting TorCtl's <a
+ href="https://gitweb.torproject.org/pytorctl.git/blob/HEAD:/PathSupport.py">PathSupport
+ module</a> to stem, writing tests for it, and migrate a couple clients to
+ use it.</p>
+
+ <p>PathSupport provides applications with programmatic control over how
+ tor's circuits are built, for instance letting you exit from particular
+ relays. This is used by projects like <a href="#project-torbel">TorBEL</a>,
+ <a href="#project-torflow">the Bandwidth Scanners, and SoaT</a>.</p>
+
+ <p>This project can be broken into three parts...</p>
+
+ <ol style="list-style-type: decimal">
+ <li><p>Look at PathSupport's clients to figure out how it is used and
+ come up with the API that we will use for stem. Note that the goal if
+ this project is <b>not</b> to simply copy PathSupport, but to make it
+ better. This task would ideally be done as part of writing the GSoC
+ application.</p></li>
+ <li><p>Implement the PathSupport counterpart for stem. This should be
+ done in an incremental fashion, writing the feature, tests, and going
+ through a code review before moving on. I'll be pretty anal about making
+ it as good as we can during these code reviews so plan for this to take a
+ while. ;)</p></li>
+ <li><p>The real test of the API that you've developed will come when we
+ use it in some real applications. Try to migrate a TorCtl client or two
+ to stem, filling in functionality that we're missing and improving our
+ API as we discover issues. A particularly good client to start with would
+ be TorBEL.</p></li>
+ </ol>
+
<a id="geoIPUpgrade"></a>
<li>
<b>Improve our GeoIP file format</b>
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits