Raising priority of my project idea
Damian Johnson

Damian Johnson commited on 2012-03-05 17:10:18
Zeige 1 geänderte Dateien mit 57 Einfügungen und 57 Löschungen.


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. ;)


... ...
@@ -791,6 +791,63 @@ meetings around the world.</li>
791 791
     href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/190-shared-secret-bridge-authorization.txt">190</a>.</p>
792 792
     </li>
793 793
     
794
+    <a id="stemPathsupport"></a>
795
+    <li>
796
+    <b>Stem PathSupport Capabilities</b>
797
+    <br>
798
+    Priority: <i>High</i>
799
+    <br>
800
+    Effort Level: <i>High</i>
801
+    <br>
802
+    Skill Level: <i>Medium</i>
803
+    <br>
804
+    Likely Mentors: <i>Damian (atagar)</i>
805
+    <p><a
806
+    href="https://trac.torproject.org/projects/tor/wiki/doc/stem">Stem</a> is a
807
+    python controller library for tor. Like it's predecessor, <a
808
+    href="#project-torctl">TorCtl</a>, it uses tor's <a
809
+    href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/control-spec.txt">control
810
+    protocol</a> to help developers program against the tor process, enabling
811
+    them to build things similar to <a href="#project-vidalia">Vidalia</a> and
812
+    <a href="#project-arm">arm</a>.</p>
813
+    
814
+    <p>While TorCtl provided a fine first draft for this sort of functionality,
815
+    it has not proved to be extensible nor maintainable. Stem is a rewrite of
816
+    TorCtl with a heavy focus on testing, documentation, and providing a
817
+    developer friendly API.</p>
818
+    
819
+    <p>At the moment stem is still very much incomplete, missing several pieces
820
+    of functionality that TorCtl provides. This is a project to fix that by
821
+    porting TorCtl's <a
822
+    href="https://gitweb.torproject.org/pytorctl.git/blob/HEAD:/PathSupport.py">PathSupport
823
+    module</a> to stem, writing tests for it, and migrate a couple clients to
824
+    use it.</p>
825
+    
826
+    <p>PathSupport provides applications with programmatic control over how
827
+    tor's circuits are built, for instance letting you exit from particular
828
+    relays. This is used by projects like <a href="#project-torbel">TorBEL</a>,
829
+    <a href="#project-torflow">the Bandwidth Scanners, and SoaT</a>.</p>
830
+    
831
+    <p>This project can be broken into three parts...</p>
832
+    
833
+    <ol style="list-style-type: decimal">
834
+      <li><p>Look at PathSupport's clients to figure out how it is used and
835
+      come up with the API that we will use for stem. Note that the goal if
836
+      this project is <b>not</b> to simply copy PathSupport, but to make it
837
+      better. This task would ideally be done as part of writing the GSoC
838
+      application.</p></li>
839
+      <li><p>Implement the PathSupport counterpart for stem. This should be
840
+      done in an incremental fashion, writing the feature, tests, and going
841
+      through a code review before moving on. I'll be pretty anal about making
842
+      it as good as we can during these code reviews so plan for this to take a
843
+      while. ;)</p></li>
844
+      <li><p>The real test of the API that you've developed will come when we
845
+      use it in some real applications. Try to migrate a TorCtl client or two
846
+      to stem, filling in functionality that we're missing and improving our
847
+      API as we discover issues. A particularly good client to start with would
848
+      be TorBEL.</p></li>
849
+    </ol>
850
+    
794 851
     <a id="orbot-userInterface"></a>
795 852
     <li>
796 853
     <b>Build a better user interface for Orbot</b>
... ...
@@ -901,63 +958,6 @@ meetings around the world.</li>
901 958
     Python using similar tools.</p>
902 959
     </li>
903 960
     
904
-    <a id="stemPathsupport"></a>
905
-    <li>
906
-    <b>Stem PathSupport Capabilities</b>
907
-    <br>
908
-    Priority: <i>Medium</i>
909
-    <br>
910
-    Effort Level: <i>High</i>
911
-    <br>
912
-    Skill Level: <i>Medium</i>
913
-    <br>
914
-    Likely Mentors: <i>Damian (atagar)</i>
915
-    <p><a
916
-    href="https://trac.torproject.org/projects/tor/wiki/doc/stem">Stem</a> is a
917
-    python controller library for tor. Like it's predecessor, <a
918
-    href="#project-torctl">TorCtl</a>, it uses tor's <a
919
-    href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/control-spec.txt">control
920
-    protocol</a> to help developers program against the tor process, enabling
921
-    them to build things similar to <a href="#project-vidalia">Vidalia</a> and
922
-    <a href="#project-arm">arm</a>.</p>
923
-    
924
-    <p>While TorCtl provided a fine first draft for this sort of functionality,
925
-    it has not proved to be extensible nor maintainable. Stem is a rewrite of
926
-    TorCtl with a heavy focus on testing, documentation, and providing a
927
-    developer friendly API.</p>
928
-    
929
-    <p>At the moment stem is still very much incomplete, missing several pieces
930
-    of functionality that TorCtl provides. This is a project to fix that by
931
-    porting TorCtl's <a
932
-    href="https://gitweb.torproject.org/pytorctl.git/blob/HEAD:/PathSupport.py">PathSupport
933
-    module</a> to stem, writing tests for it, and migrate a couple clients to
934
-    use it.</p>
935
-    
936
-    <p>PathSupport provides applications with programmatic control over how
937
-    tor's circuits are built, for instance letting you exit from particular
938
-    relays. This is used by projects like <a href="#project-torbel">TorBEL</a>,
939
-    <a href="#project-torflow">the Bandwidth Scanners, and SoaT</a>.</p>
940
-    
941
-    <p>This project can be broken into three parts...</p>
942
-    
943
-    <ol style="list-style-type: decimal">
944
-      <li><p>Look at PathSupport's clients to figure out how it is used and
945
-      come up with the API that we will use for stem. Note that the goal if
946
-      this project is <b>not</b> to simply copy PathSupport, but to make it
947
-      better. This task would ideally be done as part of writing the GSoC
948
-      application.</p></li>
949
-      <li><p>Implement the PathSupport counterpart for stem. This should be
950
-      done in an incremental fashion, writing the feature, tests, and going
951
-      through a code review before moving on. I'll be pretty anal about making
952
-      it as good as we can during these code reviews so plan for this to take a
953
-      while. ;)</p></li>
954
-      <li><p>The real test of the API that you've developed will come when we
955
-      use it in some real applications. Try to migrate a TorCtl client or two
956
-      to stem, filling in functionality that we're missing and improving our
957
-      API as we discover issues. A particularly good client to start with would
958
-      be TorBEL.</p></li>
959
-    </ol>
960
-    
961 961
     <a id="tailsServer"></a>
962 962
     <li>
963 963
     <b>Tails server: Self-hosted services behind Tails-powered Tor hidden services</b>
964 964