Damian Johnson commited on 2011-03-27 21:54:10
Zeige 1 geänderte Dateien mit 121 Einfügungen und 57 Löschungen.
... | ... |
@@ -402,7 +402,10 @@ meetings around the world.</li> |
402 | 402 |
|
403 | 403 |
<p> |
404 | 404 |
<b>Project Ideas:</b><br /> |
405 |
- <i><a href="#orbotDevelopment">More on Orbot & Android OS-specific development</a></i> |
|
405 |
+ <i><a href="#orbot-torbutton">TorButton for Mobile Firefox 4 or Custom Browser on Android</a></i><br /> |
|
406 |
+ <i><a href="#orbot-userInterface">Build a better user interface for Orbot</a></i><br /> |
|
407 |
+ <i><a href="#orbot-optimisation">Core Tor mobile optimisation</a></i><br /> |
|
408 |
+ <i><a href="#orbot-orlibAndOutreach">Orbot integration library and community outreach</a></i> |
|
406 | 409 |
</p> |
407 | 410 |
|
408 | 411 |
<a id="project-torbutton"></a> |
... | ... |
@@ -650,6 +653,53 @@ meetings around the world.</li> |
650 | 653 |
<p>For more information see <a href="https://tails.boum.org/todo/boot_menu/">https://tails.boum.org/todo/boot_menu/</a></p> |
651 | 654 |
</li> |
652 | 655 |
|
656 |
+ <a id="orbot-torbutton"></a> |
|
657 |
+ <li> |
|
658 |
+ <b>TorButton for Mobile Firefox 4 or Custom Browser on Android</b> |
|
659 |
+ <br> |
|
660 |
+ Priority: <i>High</i> |
|
661 |
+ <br> |
|
662 |
+ Effort Level: <i>High</i> |
|
663 |
+ <br> |
|
664 |
+ Skill Level: <i>High</i> |
|
665 |
+ <br> |
|
666 |
+ Likely Mentors: <i>Nathan (n8fr8), Jake, Mike Perry</i> |
|
667 |
+ <p>Initial work has been done on implementing a proxy-setting add-on for |
|
668 |
+ Firefox on Android (see <a |
|
669 |
+ href="https://github.com/guardianproject/ProxyMob">ProxyMob</a>), but a |
|
670 |
+ full port of TorButton needs to be done (dependent upon Firefox 4 port of |
|
671 |
+ TorButton). The other approach is to implement a custom "Tor |
|
672 |
+ Browser" based on Firefox or Webkit browser. See <a |
|
673 |
+ href="http://code.google.com/p/torora/wiki/Android">Torora</a> for progress |
|
674 |
+ on this so far.</p> |
|
675 |
+ </li> |
|
676 |
+ |
|
677 |
+ <a id="orbot-userInterface"></a> |
|
678 |
+ <li> |
|
679 |
+ <b>Build a better user interface for Orbot</b> |
|
680 |
+ <br> |
|
681 |
+ Priority: <i>High</i> |
|
682 |
+ <br> |
|
683 |
+ Effort Level: <i>Medium</i> |
|
684 |
+ <br> |
|
685 |
+ Skill Level: <i>Medium</i> |
|
686 |
+ <br> |
|
687 |
+ Likely Mentors: <i>Nathan (n8fr8), Jake</i> |
|
688 |
+ <p>Improved home screen to show confirmation of connection (via a TorCheck |
|
689 |
+ API call), better statistics about data transferred (up/down), number of |
|
690 |
+ circuits connected, quality of connection and so on. The "Tether |
|
691 |
+ Wifi" Android application is a good model to follow in how it shows a |
|
692 |
+ realtime count of bytes transferred as well as notifications when wifi |
|
693 |
+ clients connect. In addition, better handling of Tor system and error |
|
694 |
+ messages would also be very helpful, include use of standard Android |
|
695 |
+ operating systems notifications. The addition of a wizard or tutorial |
|
696 |
+ walkthrough for novice users to explain to them exactly what is and what is |
|
697 |
+ not anonymized or protected would greatly improve the likelihood they will |
|
698 |
+ use Orbot correctly. All of this should work on the range of screens and |
|
699 |
+ device types now offered for Android, from 2" phone to 10" |
|
700 |
+ Tablet.</p> |
|
701 |
+ </li> |
|
702 |
+ |
|
653 | 703 |
<a id="resistCensorship"></a> |
654 | 704 |
<li> |
655 | 705 |
<b>Improving Tor's ability to resist censorship</b> |
... | ... |
@@ -726,7 +776,7 @@ meetings around the world.</li> |
726 | 776 |
<br> |
727 | 777 |
Skill Level: <i>Medium</i> |
728 | 778 |
<br> |
729 |
- Likely Mentors: <i>Damian</i> |
|
779 |
+ Likely Mentors: <i>Damian (atagar)</i> |
|
730 | 780 |
<p><a href="<page projects/arm>">Arm</a> is a Tor command line status |
731 | 781 |
monitor on *nix environments (Linux, Mac, and BSD). It functions much like |
732 | 782 |
top does, giving a CLI overlay of Tor's bandwidth usage, connections, |
... | ... |
@@ -802,60 +852,6 @@ meetings around the world.</li> |
802 | 852 |
changes in performance on machines in different roles automatically.</p> |
803 | 853 |
</li> |
804 | 854 |
|
805 |
- <a id="orbotDevelopment"></a> |
|
806 |
- <li> |
|
807 |
- <b>More on Orbot & Android OS-specific development</b> |
|
808 |
- <br> |
|
809 |
- Priority: <i>Medium</i> |
|
810 |
- <br> |
|
811 |
- Effort Level: <i>High</i> |
|
812 |
- <br> |
|
813 |
- Skill Level: <i>Medium to High</i> |
|
814 |
- <br> |
|
815 |
- Likely Mentors: <i>Nathan, Jake</i> |
|
816 |
- <p><b>Android Java UI work:</b> Improved home screen to show better |
|
817 |
- statistics about data transferred (up/down), number of circuits |
|
818 |
- connected, quality of connection and so on. The "Tether Wifi" |
|
819 |
- Android application is a good model to follow in how it shows |
|
820 |
- a realtime count of bytes transferred as well as notifications |
|
821 |
- when wifi clients connect. In addition, better display/handling |
|
822 |
- of Tor system/error messages would also be very helpful. Finally, |
|
823 |
- the addition of a wizard or tutorial walkthrough for novice |
|
824 |
- users to explain to them exactly what is and what is not anonymized |
|
825 |
- or protected would greatly improve the likelihood they will use |
|
826 |
- Orbot correctly.</p> |
|
827 |
- |
|
828 |
- <p><b>Android Java OS/Core app work:</b> Better system-wide |
|
829 |
- indication, either via the notification bar, "Toast" pop-up dialogs |
|
830 |
- or some other indicator, that an application's traffic is indeed |
|
831 |
- moving through Orbot/Tor. For instance, right now you need to |
|
832 |
- first go to a torcheck web service to ensure your browser is |
|
833 |
- routing via Tor. Orbot should be able to notify you that circuits |
|
834 |
- are being opened, used, etc. The aforementioned data transfer |
|
835 |
- tracker might provide this type of awareness as well.</p> |
|
836 |
- |
|
837 |
- <p><b>Android Java Library/Community Outreach work:</b> We need |
|
838 |
- to package a simple library for use with third-party application |
|
839 |
- to easily enable them to support "Torification" on non-rooted |
|
840 |
- devices (i.e. w/o transparent proxying). This library should |
|
841 |
- include a wrapper for the Apache HTTPClient library, a utility |
|
842 |
- class for detecting the state of Orbot connectivity, and other |
|
843 |
- relevant/useful things an Android app might need to anonymize |
|
844 |
- itself. This work would include the creation of the library, |
|
845 |
- documentation, and sample code. Outreach or effort to implement |
|
846 |
- the library within other open-source apps would follow.</p> |
|
847 |
- |
|
848 |
- <p><b>Android OS/C/Linux work:</b> The port of Tor to Android |
|
849 |
- is basically a straight cross-compile to Linux ARM. There has |
|
850 |
- been no work done in looking the optimization of Tor within a |
|
851 |
- mobile hardware environment, on the ARM processor or other |
|
852 |
- Android hardware, or on mobile networks. It should be noted, |
|
853 |
- that even without optimization, Tor is handling the mobile |
|
854 |
- network environment very well, automatically detecting change |
|
855 |
- in IP addresses, reconnecting circuits, etc. across switching |
|
856 |
- from 2G to 3G to Wifi, and so forth.</p> |
|
857 |
- </li> |
|
858 |
- |
|
859 | 855 |
<a id="simulateSlowConnections"></a> |
860 | 856 |
<li> |
861 | 857 |
<b>Simulator for slow Internet connections</b> |
... | ... |
@@ -1070,6 +1066,74 @@ meetings around the world.</li> |
1070 | 1066 |
design/Photoshop fu, since we might want/need some shiny new icons too.</p> |
1071 | 1067 |
</li> |
1072 | 1068 |
|
1069 |
+ <a id="orbot-optimisation"></a> |
|
1070 |
+ <li> |
|
1071 |
+ <b>Core Tor mobile optimisation</b> |
|
1072 |
+ <br> |
|
1073 |
+ Priority: <i>Medium</i> |
|
1074 |
+ <br> |
|
1075 |
+ Effort Level: <i>Medium</i> |
|
1076 |
+ <br> |
|
1077 |
+ Skill Level: <i>High</i> |
|
1078 |
+ <br> |
|
1079 |
+ Likely Mentors: <i>Nathan (n8fr8), Jake</i> |
|
1080 |
+ <p> |
|
1081 |
+ The existing port of Tor to Android is basically a straight |
|
1082 |
+ cross-compile to Linux ARM. There has been no work done in looking at |
|
1083 |
+ possible optimizations of Tor within a mobile hardware environment or on |
|
1084 |
+ mobile networks. In addition, a number of additional Android OS APIs are |
|
1085 |
+ available (such as wireless network status) that could be taken |
|
1086 |
+ advantage of. |
|
1087 |
+ </p> |
|
1088 |
+ |
|
1089 |
+ <p> |
|
1090 |
+ It should be noted, that even without optimisation, Tor is handling the |
|
1091 |
+ mobile network environment very well, automatically detecting change in |
|
1092 |
+ IP addresses, opening circuits, etc, as the device switches from no |
|
1093 |
+ coverage to 2G, 3G or Wifi constantly as it changes position. However, |
|
1094 |
+ this observation of "very well", is just based on user |
|
1095 |
+ experience, and not any detailed study of what exactly is happening, and |
|
1096 |
+ what threats might exist because of this constantly changing network state. |
|
1097 |
+ </p> |
|
1098 |
+ |
|
1099 |
+ <p> |
|
1100 |
+ Finally, the build process needs to be moved to the Android NDK from the |
|
1101 |
+ custom GCC toolchain we are now using, and compatibility with Android |
|
1102 |
+ 2.3 and 3.x Honeycomb OS need to be verified. |
|
1103 |
+ </p> |
|
1104 |
+ |
|
1105 |
+ <p> |
|
1106 |
+ For more information see the <a |
|
1107 |
+ href="https://svn.torproject.org/svn/projects/android/trunk/Orbot/BUILD">Orbot |
|
1108 |
+ build documentation</a>. |
|
1109 |
+ </p> |
|
1110 |
+ </li> |
|
1111 |
+ |
|
1112 |
+ <a id="orbot-orlibAndOutreach"></a> |
|
1113 |
+ <li> |
|
1114 |
+ <b>Orbot integration library and community outreach</b> |
|
1115 |
+ <br> |
|
1116 |
+ Priority: <i>Medium</i> |
|
1117 |
+ <br> |
|
1118 |
+ Effort Level: <i>Low</i> |
|
1119 |
+ <br> |
|
1120 |
+ Skill Level: <i>Medium</i> |
|
1121 |
+ <br> |
|
1122 |
+ Likely Mentors: <i>Nathan (n8fr8)</i> |
|
1123 |
+ <p> |
|
1124 |
+ We need additional work on <a |
|
1125 |
+ href="https://github.com/guardianproject/orlib">ORLib</a>, our library for |
|
1126 |
+ use with third-party application to easily enable them to support |
|
1127 |
+ "Torification" on non-rooted devices (i.e. w/o transparent |
|
1128 |
+ proxying). This library includes a SOCKS client, a wrapper for the Apache |
|
1129 |
+ HTTPClient library, a utility class for detecting the state of Orbot |
|
1130 |
+ connectivity, and other relevant/useful things an Android app might need to |
|
1131 |
+ anonymize itself. This work would includes direct development of the |
|
1132 |
+ library, documentation, and sample code. Outreach or effort to implement |
|
1133 |
+ the library within other open-source apps is also needed. |
|
1134 |
+ </p> |
|
1135 |
+ </li> |
|
1136 |
+ |
|
1073 | 1137 |
<a id="vidaliaNetworkMap"></a> |
1074 | 1138 |
<li> |
1075 | 1139 |
<b>An Improved and More Usable Network Map in Vidalia</b> |
... | ... |
@@ -1120,7 +1184,7 @@ meetings around the world.</li> |
1120 | 1184 |
<br> |
1121 | 1185 |
Skill Level: <i>Medium</i> |
1122 | 1186 |
<br> |
1123 |
- Likely Mentors: <i>Damian</i> |
|
1187 |
+ Likely Mentors: <i>Damian (atagar)</i> |
|
1124 | 1188 |
<p> |
1125 | 1189 |
Arm has several unique features, some of the most interesting being its |
1126 | 1190 |
connection listing (correlating netstat results against the Tor consensus) |
1127 | 1191 |