91 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
 | 
						|
.
 | 
						|
└── 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
 | 
						|
                        
 | 
						|
            
 | 
						|
            ├── OrbotMainActivity.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
 | 
						|
                                
 | 
						|
            
 | 
						|
            
 |