sean-moon / sandrop Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/sandrop
Automatically exported from code.google.com/p/sandrop
Bind to other networks other that localhost
Original issue reported on code.google.com by [email protected]
on 7 Feb 2012 at 9:38
response content should be show as parsed (images , unzip zipped response, ...)
Original issue reported on code.google.com by [email protected]
on 10 Jun 2012 at 5:21
Settings for on/off show hidden fields in preferences.
Original issue reported on code.google.com by [email protected]
on 26 Feb 2012 at 10:11
https process iptables is not stored in preferences properly and therefore not
activated at proxy start
Original issue reported on code.google.com by [email protected]
on 12 Jul 2012 at 8:27
Options:
- to export all or just content
- selection by type (images, css, html)
- creating zip and ask user where to put or activate other program with it
Original issue reported on code.google.com by [email protected]
on 23 Jun 2012 at 4:42
So far only one report on this.
v0.9.23
Jul 7, 2012 8:55:55 PM
1 reports/week
1 reports
java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:437)
at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:618)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:593)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:445)
at
android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:775)
at android.content.res.Resources.loadDrawable(Resources.java:1968)
at android.content.res.Resources.getDrawable(Resources.java:677)
at
android.app.ApplicationPackageManager.getDrawable(ApplicationPackageManager.java
:617)
at android.content.pm.PackageItemInfo.loadIcon(PackageItemInfo.java:151)
at org.sandroproxy.AppsDataSupport$AppUidEntry.getIcon(AppsDataSupport.java:175)
at
org.sandroproxy.AppsDataSupport$AppListAdapter.getView(AppsDataSupport.java:511)
at android.widget.AbsListView.obtainView(AbsListView.java:2403)
at android.widget.ListView.makeAndAddView(ListView.java:1781)
at android.widget.ListView.fillDown(ListView.java:679)
at android.widget.ListView.fillGap(ListView.java:643)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5697)
at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3354)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:3727)
at android.view.View.dispatchTouchEvent(View.java:5724)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1964)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1725)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(P
honeWindow.java:2071)
at
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow
.java:1405)
at android.app.Activity.dispatchTouchEvent(Activity.java:2426)
at
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneW
indow.java:2019)
at android.view.View.dispatchPointerEvent(View.java:5904)
at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3189)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2704)
at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:1034)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2713)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4514)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
at dalvik.system.NativeStart.main(Native Method)
Original issue reported on code.google.com by [email protected]
on 11 Jul 2012 at 6:14
Currently supported are basic and ntlm proxy. http and https
Original issue reported on code.google.com by [email protected]
on 15 Aug 2012 at 12:20
Attachments:
it is not okey that dataFile info is parsed in gui thread. fix it
Original issue reported on code.google.com by [email protected]
on 10 Jun 2012 at 5:06
private static TrustManager[] _trustAllCerts = new TrustManager[] {
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
_logger.fine("trust manager checkClientTrusted authType:" + authType);
if (certs != null){
for (int i = 0; i < certs.length; i++) {
_logger.fine("trust manager checkClientTrusted:" + certs[i]);
}
}
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
_logger.fine("trust manager checkClientTrusted authType:" + authType);
if (certs != null){
for (int i = 0; i < certs.length; i++) {
_logger.fine("trust manager checkClientTrusted:" + certs[i]);
}
}
}
}
};
Original issue reported on code.google.com by [email protected]
on 19 Jun 2012 at 9:22
log window should have copy/clear context actions
Original issue reported on code.google.com by [email protected]
on 19 Jun 2012 at 9:22
Use git repository from this site to host code
Original issue reported on code.google.com by [email protected]
on 7 Feb 2012 at 9:41
Implement interceptor plugin. Trigger should be bash scripting.
Script for request and response.
Original issue reported on code.google.com by [email protected]
on 13 Sep 2012 at 7:23
Folder for reqests/responses should be user setting
Original issue reported on code.google.com by [email protected]
on 7 Feb 2012 at 12:56
Request and response are put together as one item.
Headers can be show/hide with button. It affects all items.
Original issue reported on code.google.com by [email protected]
on 2 Aug 2012 at 5:17
add some cheking if data storage is available
error reports from users:
java.lang.NullPointerException
at org.sandrop.webscarab.plugin.proxy.Proxy.<init>(Proxy.java:155)
at org.sandroproxy.SandroProxyService$1.startProxy(SandroProxyService.java:56)
at org.sandroproxy.SandroProxyService$1.update(SandroProxyService.java:34)
at org.sandroproxy.MainActivity.onServiceConnected(MainActivity.java:101)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1068)
at
android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1085)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.support.v4.content.ModernAsyncTask$3.done(ModernAsyncTask.java:137)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.NullPointerException
at
org.sandroproxy.LoaderDataSupport$FileListLoader.loadInBackground(LoaderDataSupp
ort.java:347)
at
org.sandroproxy.LoaderDataSupport$FileListLoader.loadInBackground(LoaderDataSupp
ort.java:1)
at
android.support.v4.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.ja
va:240)
at
android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoad
er.java:51)
at
android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoad
er.java:40)
at android.support.v4.content.ModernAsyncTask$2.call(ModernAsyncTask.java:123)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
Original issue reported on code.google.com by [email protected]
on 17 Jun 2012 at 11:19
If http use chunked transfer unzip and image processing is not working okey.
http://en.wikipedia.org/wiki/Chunked_transfer_encoding
Original issue reported on code.google.com by [email protected]
on 23 Jun 2012 at 4:36
sync with changes in git://dawes.za.net/webscarab.git/
Original issue reported on code.google.com by [email protected]
on 21 Jul 2012 at 2:02
v1.0.38
Aug 31, 2012 1:06:46 PM
1 reports/week
1 reports
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
Caused by: java.lang.NullPointerException
at org.sandrop.webscarab.model.FrameworkModel.addUrl(FrameworkModel.java:349)
at
org.sandrop.webscarab.model.FrameworkModel.addConversation(FrameworkModel.java:1
75)
at org.sandrop.webscarab.plugin.Framework.addConversation(Framework.java:432)
at org.sandrop.webscarab.plugin.Framework.addConversation(Framework.java:445)
at
org.sandrop.webscarab.plugin.manualrequest.ManualRequest.fetchResponse(ManualReq
uest.java:100)
at org.sandroproxy.fragments.j.a(ManualRequestFragment.java:124)
at org.sandroproxy.fragments.j.doInBackground(ManualRequestFragment.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
... 4 more
Original issue reported on code.google.com by [email protected]
on 31 Aug 2012 at 3:37
package org.sandrop.webscarab.plugin.proxy;
import java.io.IOException;
import org.sandrop.webscarab.httpclient.HTTPClient;
import org.sandrop.webscarab.model.Preferences;
import org.sandrop.webscarab.model.Request;
import org.sandrop.webscarab.model.Response;
public class BrowserCache extends ProxyPlugin {
private boolean _enabled = false;
public BrowserCache() {
parseProperties();
}
public void parseProperties() {
String prop = "BrowserCache.enabled";
_enabled = Preferences.getPreferenceBoolean(prop, false);
}
public String getPluginName() {
return new String("Browser Cache");
}
public void setEnabled(boolean bool) {
_enabled = bool;
String prop = "BrowserCache.enabled";
Preferences.setPreference(prop,Boolean.toString(bool));
}
public boolean getEnabled() {
return _enabled;
}
public HTTPClient getProxyPlugin(HTTPClient in) {
return new Plugin(in);
}
private class Plugin implements HTTPClient {
private HTTPClient _in;
public Plugin(HTTPClient in) {
_in = in;
}
public Response fetchResponse(Request request) throws IOException {
if (_enabled) {
// we could be smarter about this, and keep a record of the pages that we
// have seen so far, and only remove headers for those that we have not?
request.deleteHeader("ETag");
request.deleteHeader("If-Modified-Since");
request.deleteHeader("If-None-Match");
}
return _in.fetchResponse(request);
}
}
}
Original issue reported on code.google.com by [email protected]
on 4 Jul 2012 at 6:22
fix that are sort ascending to number
124-request
124-response
123-request
123-response
Original issue reported on code.google.com by [email protected]
on 10 Jun 2012 at 5:04
Additional tab for selecting which processes should be redirected to
transparent proxy.
It creates additional entry in iptables redirection chain based on application
uid.
Original issue reported on code.google.com by [email protected]
on 30 Jun 2012 at 9:19
add sdk's for analytics and ads
Original issue reported on code.google.com by [email protected]
on 10 Jun 2012 at 4:55
Mobile providers have proxy settings that
should be used to forward data from SandroProxy.
Currently works only on wifi where is no additional proxies.
Original issue reported on code.google.com by [email protected]
on 9 Feb 2012 at 12:48
Content is send unzipped, but content-length is from zipped stream.
Change that zipped stream is send to client so content-length will be valid.
Original issue reported on code.google.com by [email protected]
on 26 Aug 2012 at 11:03
TrustManager can be trustAllManager or android OS trustManagers
private static TrustManager[] _trustAllCerts = new TrustManager[] {
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
_logger.fine("trust manager checkClientTrusted authType:" + authType);
if (certs != null){
for (int i = 0; i < certs.length; i++) {
_logger.fine("trust manager checkClientTrusted:" + certs[i]);
}
}
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
_logger.fine("trust manager checkClientTrusted authType:" + authType);
if (certs != null){
for (int i = 0; i < certs.length; i++) {
_logger.fine("trust manager checkClientTrusted:" + certs[i]);
}
}
}
}
};
if (!pref.getBoolean(PreferenceUtils.ssTrustAllManager, false)){
_logger.info("using ssl os trust managers");
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init((KeyStore) null);
trustManagers = tmf.getTrustManagers();
}else{
_logger.info("warrning: using ssl trust all manager!!!");
}
Original issue reported on code.google.com by [email protected]
on 26 Oct 2012 at 1:50
somehow cache previous log entries
Original issue reported on code.google.com by [email protected]
on 10 Jun 2012 at 5:20
Transparent ssl hostname should be setting in preferences.
If not set, default is used.
Original issue reported on code.google.com by [email protected]
on 2 Aug 2012 at 4:33
Attachments:
Implement to act as simple web server, providing access to captured data.
Original issue reported on code.google.com by [email protected]
on 9 Aug 2012 at 3:13
framework for master/details gui
started with data tab
Original issue reported on code.google.com by [email protected]
on 2 Aug 2012 at 4:38
Attachments:
When android decide to shutdown service
sandroproxy should clean iptables and unbind from listening sockets.
When request to startup again is triggered,
it should be bind to ports again
and iptables should be set according to preference settings.
Original issue reported on code.google.com by [email protected]
on 3 Jul 2012 at 3:20
v0.9.25
Jul 16, 2012 10:44:20 AM
1 reports/week
1 reports
android.content.ActivityNotFoundException: Unable to find explicit activity
class {com.android.contacts/com.android.internal.app.ResolverActivity}; have
you declared this activity in your AndroidManifest.xml?
at
android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
at android.app.Activity.startActivityForResult(Activity.java:2833)
at
android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivi
ty.java:683)
at android.support.v4.app.Fragment.startActivity(Fragment.java:783)
at org.sandroproxy.m.onContextItemSelected(AppsDataSupport.java:656)
Original issue reported on code.google.com by [email protected]
on 16 Jul 2012 at 9:56
Try with this one as it looks interesting.
http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.ht
ml
Original issue reported on code.google.com by [email protected]
on 5 Jul 2012 at 7:34
remove proxy start from main thread
Original issue reported on code.google.com by [email protected]
on 12 Jul 2012 at 8:24
v0.9.23
Jul 12, 2012 4:53:59 PM
1 reports/week
1 reports
java.lang.NullPointerException
at
org.sandroproxy.utils.preferences.PreferenceUtils.IsDirWritable(PreferenceUtils.
java:35)
at
org.sandroproxy.utils.preferences.PreferenceUtils.getDataStorageDir(PreferenceUt
ils.java:27)
at
org.sandroproxy.LoaderDataSupport$FileListFragment.onActivityCreated(LoaderDataS
upport.java:581)
at
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:891)
at
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080
)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:622)
at
android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.ja
va:1416)
at
android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentMa
nager.java:431)
at org.sandroproxy.FragmentTabs$TabManager.onTabChanged(FragmentTabs.java:180)
at android.widget.TabHost.invokeOnTabChangeListener(TabHost.java:359)
at android.widget.TabHost.setCurrentTab(TabHost.java:344)
at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:132)
at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:458)
at android.view.View.performClick(View.java:2532)
at android.view.View$PerformClick.run(View.java:9293)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4277)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Original issue reported on code.google.com by [email protected]
on 12 Jul 2012 at 5:35
dev remark:
-just be sure to unzipped before store
-suggest file name/type according to response http headers
Original issue reported on code.google.com by [email protected]
on 14 Jun 2012 at 6:04
So it is possible to start for example adobe reader on pdf files.
Original issue reported on code.google.com by [email protected]
on 26 Jun 2012 at 5:25
Make log persist on display changes.
Original issue reported on code.google.com by [email protected]
on 26 Feb 2012 at 1:38
It would be nice that Content-Length is calculated from POST data.
Original issue reported on code.google.com by [email protected]
on 9 Aug 2012 at 2:35
data tab :request url should be used as action (intent) to another applications
-> browser
Original issue reported on code.google.com by [email protected]
on 10 Jun 2012 at 5:23
Enable reverse proxy as an option how to intercept traffic
Original issue reported on code.google.com by [email protected]
on 23 Jun 2012 at 8:28
change parser of address:port because ipv6 is not so simple string
Original issue reported on code.google.com by [email protected]
on 19 Jun 2012 at 8:29
New tab for request/responses with details view from file stored data
Original issue reported on code.google.com by [email protected]
on 8 Feb 2012 at 7:51
There should be some sorting, filters to show just selected data.
Images, css, html, ...
Original issue reported on code.google.com by [email protected]
on 23 Jun 2012 at 4:38
v1.1.45
Oct 26, 2012 7:03:03 PM
1 reports/week
1 reports
java.lang.NullPointerException
at org.sandrop.webscarab.plugin.Framework.startPlugins(Framework.java:288)
at org.sandrop.webscarab.plugin.Framework.start(Framework.java:344)
at org.sandroproxy.e.a.c(FrameworkWrapper.java:52)
at org.sandroproxy.SandroProxyService.a(SandroProxyService.java:47)
at org.sandroproxy.ch.run(SandroProxyService.java:140)
Original issue reported on code.google.com by [email protected]
on 26 Oct 2012 at 7:22
CA certificate should be user setting
Original issue reported on code.google.com by [email protected]
on 7 Feb 2012 at 9:39
Socket binding throws exception without message. Fix error handling
Original issue reported on code.google.com by [email protected]
on 25 Feb 2012 at 5:24
My phone is rooted, and so has 'su' program, but sandrop don't detect it
because of its root detection method.
I had to link /system/app/Superuser.apk to the actual file that is for me :
com.noshufou.android.su.apk
Original issue reported on code.google.com by [email protected]
on 11 Jul 2012 at 1:10
Create some checking cutting of to big log messages to display
Original issue reported on code.google.com by [email protected]
on 25 Feb 2012 at 5:26
Create new tab for manual requests.
Also there should be context action to create new manual request from logged
request/response data.
Original issue reported on code.google.com by [email protected]
on 15 Jul 2012 at 9:16
Some switch on/off in settings.
Original issue reported on code.google.com by [email protected]
on 23 Jun 2012 at 1:24
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.