[tor-commits] [orbot/master] added docs folder and readme's

n8fr8 at torproject.org n8fr8 at torproject.org
Thu Jun 21 03:59:35 UTC 2012


commit 842f84e788c6641362a047c2cd34cbc7060336b4
Author: n8fr8 <nathan at freitas.net>
Date:   Wed May 9 23:08:00 2012 -0400

    added docs folder and readme's
---
 docs/GSoC.txt    |   45 +++++++++++++++++++++++++++
 docs/WALKTHROUGH |   90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 135 insertions(+), 0 deletions(-)

diff --git a/docs/GSoC.txt b/docs/GSoC.txt
new file mode 100644
index 0000000..d1d851e
--- /dev/null
+++ b/docs/GSoC.txt
@@ -0,0 +1,45 @@
+GSoC Plan 
+=========
+
+A tl;dr version 
+---------------
+I will be improving the Orbot UI/UX, and adding several features such as data statistics and also
+implementing the TorCheck API. I plan on extending the ORLib library and also creating an ORLib enabled 
+app as a sort of primer for other third party apps to follow
+
+The full version
+----------------
+
+Orbot UI/UX
+===========
+At the moment, the Orbot UI/UX is clustered and not very intuitive. I plan on improving the existing 
+elements of the UI and also add a variety of new features such as
+
+* A new Set – up Wizard ( which checks for iptables )
+* Changes to the preferences ( should be made to follow the Android guidelines)
+
+Orbot Core app work
+===================
+At the moment, Orbot displays a successful connection without actually checking the connection. This is a 
+pressing issue, because the user is not notified if the set-up has failed, unless he/she manually checks 
+the torcheck web service. This should be made automatic by making using of the TorCheck API. Also, Orbot 
+should be configured to show more information about the data being transmitted such as -
+
+* Amount of data transferred
+* Quality of the connection
+* Number of circuits connected
+
+ORLib
+=====
+Currently, ORLib is very minimal at the moment, both in term of features and support/documentation. ORLib 
+is very critical to the use of Orbot as it provides transparent proxying on non-rooted devices ( A major 
+chunk of android phones are un-rooted). I intend to -
+
+* Improve the existing library by adding additional features
+    * Check for existing of Orbot
+    * Check status of connection to Tor
+    * Provide option to start Orbot via intent
+* Request hidden service by port, and get return hidden service .onion address
+* Create an ORLib enabled “Twitter, Status.net or other micro blogging Client” – A sort of primer for 
+  third-party apps
+* Improve the documentation
diff --git a/docs/WALKTHROUGH b/docs/WALKTHROUGH
new file mode 100644
index 0000000..c3107e6
--- /dev/null
+++ b/docs/WALKTHROUGH
@@ -0,0 +1,90 @@
+
+.
+└── org
+    └── torproject
+        └── android
+            ├── AppManager.java
+                    //this is what helps us track the app-by-app torification
+                    //and gets the app name, icon, etc for display - we have some problems here
+                    //in normalizing the icon on the list label
+                    //some of this code came originally from DroidWall project (yay open source)
+                    
+            ├── boot
+            │   └── OnbootBroadcastReceiver.java 
+                        //i think this is a dup now and should be removed
+            
+            ├── HiddenServiceManager.java
+                        //empty! but at some point i thought it would be good to aggregate HS functions here
+            
+            ├── OnBootReceiver.java
+                        //this is the class registered in AndroidManifest.xml to handle Onboot events
+                        //to start Orbot/Tor when the device boots if the user has elected to do so - what kind of permissions does this require?
+                        //                 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
+                        // BTW, this shows up as a fairly unintrusive type perm request now in Android / in older versions (1.6 and earlier)
+                        // it was reported "as read / monitor phone state" and paranoid Tor-types didn't like the idea of it
+                        // in 1.6+ it has a much better UX in terms of having a more granular permisions around boot since it is a very
+                        // common request - ah , that's awesome, i think i remember seeing sth of this sorts when i was going through the guardianproject mailing list. iirc this is something ioerror wanted
+                        
+            
+            ├── Orbot.java
+                    //our wonderful main activity!
+            
+            ├── ProcessSettingsAsyncTask.java
+                    //this was just added in 1.0.5.x, but it was meant to help stop the UI blocking while processing settings and prefs
+                    //it uses the AsyncTask feature of Android, which seems to work pretty well
+                    //for this type of non-time critical function you just want to happen in the background at some point soon-ish
+            
+            ├── SettingsPreferences.java
+                    // Settings activity that loads the res/xml/preferences.xml resource up 
+                    // has some custom event handlng, onActivityResult callback result code's as well
+                    // basically meant to tell Orbot activity if critical settings have been modified and whether
+                    // those new settings should be applied (like iptables/transproxy changes)
+                    
+            ├── TorConstants.java
+                    // globals! well, constants! but yeah, just a place to put values we use a lot
+            
+            ├── TorifiedApp.java
+                    // object to store a single app's metadata for display in UI and for transproxy process
+            
+            ├── Utils.java
+                    // random methods that can be useful, a.k.a. another place to put stuff
+            
+            ├── WizardActivity.java
+                    // our original attempt at wizard activity that didn't get far
+            
+            └── WizardHelper.java
+                    // the helper class that manages the dialog based wizard
+            
+            ├── service //okay the Service subpackage!
+            
+            │   ├── Api.java
+                    //this is more code taken from DroidWall, that needs to be cleaned up and paired down to just what we need it for
+                    //this is related to 1.0.5.x changes with how we bundle and install our C binaries (tor, privoxy and iptables)
+            
+            │   ├── ITorService.aidl
+                    // the android remote interface definition file; 
+                    // this is the remote interface which the Orbot activity gets a reference to
+                    // and that in the TorService is instantiated as the "binder"
+            
+            │   ├── ITorServiceCallback.aidl
+                    // this is the callback interface that the Orbot activity instantiates, and passes
+                    // to the ITorService; reverse of ITorService in a sense
+            
+            │   ├── TorBinaryInstaller.java
+                    // this handles installation of binaries; uses Api.java; // tied into Wizard as well
+            
+            │   ├── TorServiceConstants.java
+                    // reusable constants for just the Service package
+            
+            │   ├── TorService.java
+                    // the main might powerful service class; Orbot and TorService are the front and backends of this whole app
+                    // should run as a remote service, but the manifest doesn't seem to indicate that at the moment
+             
+            │   ├── TorServiceUtils.java
+                    //utility methods for the service; specificaly check for root and tools for finding processID of background binaries
+            
+            │   └── TorTransProxy.java
+            // all the code for iptables transproxying management
+                                
+            
+            





More information about the tor-commits mailing list