Raising priority of my project idea

I should stop flagging everything that I work on as 'medium'. If some of these
other projects can be flagged as being a 'high' priority then I can flag mine
that way too. It's certianly high priority to me. ;)
This commit is contained in:
Damian Johnson 2012-03-05 16:10:18 +00:00
parent 186b0b619f
commit 2ed156a4a2

View File

@ -791,6 +791,63 @@ meetings around the world.</li>
href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/190-shared-secret-bridge-authorization.txt">190</a>.</p>
</li>
<a id="stemPathsupport"></a>
<li>
<b>Stem PathSupport Capabilities</b>
<br>
Priority: <i>High</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="orbot-userInterface"></a>
<li>
<b>Build a better user interface for Orbot</b>
@ -901,63 +958,6 @@ meetings around the world.</li>
Python using similar tools.</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="tailsServer"></a>
<li>
<b>Tails server: Self-hosted services behind Tails-powered Tor hidden services</b>