switch obfsclient to obfs4 proxy
includes supporting SOCKS outbound proxy for VPN mode
This commit is contained in:
parent
0f0a36883d
commit
b278b66b62
|
@ -705,6 +705,12 @@ public class OrbotMainActivity extends Activity implements TorConstants, OnLongC
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Editor e = mPrefs.edit();
|
||||||
|
e.putString("pref_proxy_host", "localhost");
|
||||||
|
e.putInt("pref_proxy_port", 8118);
|
||||||
|
e.putString("prof_proxy_type","HTTP");
|
||||||
|
e.commit();
|
||||||
|
|
||||||
//use the built-in browser
|
//use the built-in browser
|
||||||
Intent intentBrowser = new Intent(this, Browser.class);
|
Intent intentBrowser = new Intent(this, Browser.class);
|
||||||
intentBrowser.setAction(Intent.ACTION_VIEW);
|
intentBrowser.setAction(Intent.ACTION_VIEW);
|
||||||
|
|
|
@ -94,7 +94,7 @@ public class TorResourceInstaller implements TorServiceConstants {
|
||||||
shell.add(new SimpleCommand(COMMAND_RM_FORCE + outFile.getAbsolutePath())).waitForFinish();
|
shell.add(new SimpleCommand(COMMAND_RM_FORCE + outFile.getAbsolutePath())).waitForFinish();
|
||||||
streamToFile(is,outFile, false, true);
|
streamToFile(is,outFile, false, true);
|
||||||
|
|
||||||
is = context.getResources().openRawResource(R.raw.obfsclient);
|
is = context.getResources().openRawResource(R.raw.obfs4proxy);
|
||||||
outFile = new File(installFolder, OBFSCLIENT_ASSET_KEY);
|
outFile = new File(installFolder, OBFSCLIENT_ASSET_KEY);
|
||||||
shell.add(new SimpleCommand(COMMAND_RM_FORCE + outFile.getAbsolutePath())).waitForFinish();
|
shell.add(new SimpleCommand(COMMAND_RM_FORCE + outFile.getAbsolutePath())).waitForFinish();
|
||||||
streamToFile(is,outFile, false, true);
|
streamToFile(is,outFile, false, true);
|
||||||
|
|
|
@ -806,7 +806,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
|
|
||||||
if (useBridges)
|
if (useBridges)
|
||||||
if (mUseVPN)
|
if (mUseVPN)
|
||||||
customEnv.add("TOR_PT_PROXY=http://127.0.0.1:9998");
|
customEnv.add("TOR_PT_PROXY=socks5://127.0.0.1:9999");
|
||||||
|
|
||||||
String baseDirectory = fileTor.getParent();
|
String baseDirectory = fileTor.getParent();
|
||||||
Shell shellUser = Shell.startShell(customEnv, baseDirectory);
|
Shell shellUser = Shell.startShell(customEnv, baseDirectory);
|
||||||
|
@ -2165,6 +2165,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
debug ("Using bridges");
|
debug ("Using bridges");
|
||||||
String bridgeCfgKey = "Bridge";
|
String bridgeCfgKey = "Bridge";
|
||||||
|
|
||||||
|
updateConfiguration("UseBridges", "1", false);
|
||||||
|
|
||||||
String bridgeList = prefs.getString(TorConstants.PREF_BRIDGES_LIST,null);
|
String bridgeList = prefs.getString(TorConstants.PREF_BRIDGES_LIST,null);
|
||||||
|
|
||||||
if (bridgeList != null && bridgeList.length() > 1) //longer then 1 = some real values here
|
if (bridgeList != null && bridgeList.length() > 1) //longer then 1 = some real values here
|
||||||
|
@ -2192,8 +2194,9 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
|
|
||||||
if (obfsBridges)
|
if (obfsBridges)
|
||||||
{
|
{
|
||||||
String bridgeConfig = "obfs2,obfs3,scramblesuit exec " + fileObfsclient.getCanonicalPath();
|
// String bridgeConfig = "obfs3,scramblesuit,obfs4 exec " + fileObfsclient.getCanonicalPath();
|
||||||
|
String bridgeConfig = "obfs3,obfs4 exec " + fileObfsclient.getCanonicalPath();
|
||||||
|
|
||||||
debug ("Using OBFUSCATED bridges: " + bridgeConfig);
|
debug ("Using OBFUSCATED bridges: " + bridgeConfig);
|
||||||
|
|
||||||
updateConfiguration("ClientTransportPlugin",bridgeConfig, false);
|
updateConfiguration("ClientTransportPlugin",bridgeConfig, false);
|
||||||
|
@ -2263,7 +2266,6 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
|
|
||||||
|
|
||||||
// updateConfiguration("UpdateBridgesFromAuthority", "0", false);
|
// updateConfiguration("UpdateBridgesFromAuthority", "0", false);
|
||||||
updateConfiguration("UseBridges", "1", false);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,17 +86,15 @@ public interface TorServiceConstants {
|
||||||
public static final String CMD_UPDATE = "update";
|
public static final String CMD_UPDATE = "update";
|
||||||
|
|
||||||
|
|
||||||
public static final String BINARY_TOR_VERSION = "0.2.5.10-openssl1.0.1i-PIE-bridgepatch";
|
public static final String BINARY_TOR_VERSION = "0.2.5.10-openssl1.0.1i-PIE-bridgepatch-obfs4proxy";
|
||||||
public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED";
|
public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED";
|
||||||
|
|
||||||
//obfsproxy
|
//obfsproxy
|
||||||
public static final String OBFSCLIENT_ASSET_KEY = "obfsclient";
|
public static final String OBFSCLIENT_ASSET_KEY = "obfs4proxy";
|
||||||
|
|
||||||
public static final String MEEK_ASSET_KEY = "meek-client";
|
public static final String MEEK_ASSET_KEY = "meek-client";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static final int MESSAGE_TRAFFIC_COUNT = 5;
|
public static final int MESSAGE_TRAFFIC_COUNT = 5;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
|
||||||
private ProxyServer mSocksProxyServer;
|
private ProxyServer mSocksProxyServer;
|
||||||
private Thread mThreadProxy;
|
private Thread mThreadProxy;
|
||||||
|
|
||||||
private HttpProxy mHttpProxyServer;
|
// private HttpProxy mHttpProxyServer;
|
||||||
|
|
||||||
private final static int VPN_MTU = 1500;
|
private final static int VPN_MTU = 1500;
|
||||||
|
|
||||||
|
@ -121,11 +121,12 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
|
||||||
|
|
||||||
mThreadProxy.start();
|
mThreadProxy.start();
|
||||||
|
|
||||||
|
/**
|
||||||
mHttpProxyServer = new HttpProxy(9998);
|
mHttpProxyServer = new HttpProxy(9998);
|
||||||
HttpProxy.setVpnService(OrbotVpnService.this);
|
HttpProxy.setVpnService(OrbotVpnService.this);
|
||||||
mHttpProxyServer.setDebug(5, System.out);
|
mHttpProxyServer.setDebug(5, System.out);
|
||||||
mHttpProxyServer.start();
|
mHttpProxyServer.start();
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,10 +143,11 @@ public class OrbotVpnService extends VpnService implements Handler.Callback {
|
||||||
mSocksProxyServer = null;
|
mSocksProxyServer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if (mHttpProxyServer != null)
|
if (mHttpProxyServer != null)
|
||||||
{
|
{
|
||||||
mHttpProxyServer.closeSocket();
|
mHttpProxyServer.closeSocket();
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (mInterface != null){
|
if (mInterface != null){
|
||||||
onRevoke();
|
onRevoke();
|
||||||
|
|
Loading…
Reference in New Issue