Adding Orbot project ideas provided by Nathan.
Damian Johnson

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 &amp; 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 &quot;Tor
672
+    Browser&quot; 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 &quot;Tether
691
+    Wifi&quot; 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&quot; phone to 10&quot;
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 &amp; 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 &quot;very well&quot;, 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
+    &quot;Torification&quot; 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