added docs folder and readme's
This commit is contained in:
		
							parent
							
								
									da061f40e3
								
							
						
					
					
						commit
						842f84e788
					
				|  | @ -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 | ||||
|  | @ -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 | ||||
|                                  | ||||
|              | ||||
|              | ||||
		Loading…
	
		Reference in New Issue