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 |