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 |