[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [orbot/master] enable start/stop of Snowflake client
commit f675a7f126a9595f0525327a12e2feb6feea2b4d
Author: n8fr8 <nathan@xxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 8 20:37:52 2020 -0500
enable start/stop of Snowflake client
---
.../torproject/android/service/OrbotService.java | 32 +++++++++++++++++++---
1 file changed, 28 insertions(+), 4 deletions(-)
diff --git a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
index 04f4f053..b1b64aeb 100644
--- a/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
+++ b/orbotservice/src/main/java/org/torproject/android/service/OrbotService.java
@@ -307,9 +307,12 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
sendCallbackStatus(STATUS_STOPPING);
sendCallbackLogMessage(getString(R.string.status_shutting_down));
- if (useIPtProxy())
+ if (useIPtObfs4Proxy())
IPtProxy.stopObfs4Proxy();
+ if (useIPtSnowflakeProxy())
+ IPtProxy.stopSnowflake();
+
stopTorDaemon(true);
//stop the foreground priority and make sure to remove the persistant notification
@@ -326,12 +329,23 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
}
- private static boolean useIPtProxy ()
+ private static boolean useIPtObfs4Proxy ()
{
String bridgeList = Prefs.getBridgesList();
return bridgeList.contains("obfs3")|| bridgeList.contains("obfs4")||bridgeList.contains("meek");
}
+ private static boolean useIPtSnowflakeProxy ()
+ {
+ String bridgeList = Prefs.getBridgesList();
+ return bridgeList.contains("snowflake");
+ }
+
+ private void startSnowflakeProxy () {
+ IPtProxy.startSnowflake( "stun:stun.l.google.com:19302", "https://snowflake-broker.azureedge.net/",
+ "ajax.aspnetcdn.com", null, true, false, true, 3);
+ }
+
/**
* if someone stops during startup, we may have to wait for the conn port to be setup, so we can properly shutdown tor
* @throws Exception
@@ -1403,6 +1417,7 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
boolean obfs3Bridges = bridgeList.contains("obfs3");
boolean obfs4Bridges = bridgeList.contains("obfs4");
boolean meekBridges = bridgeList.contains("meek");
+ boolean snowflakeBridges = bridgeList.contains("snowflake");
//check if any PT bridges are needed
if (obfs3Bridges)
@@ -1414,7 +1429,10 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (meekBridges)
extraLines.append("ClientTransportPlugin meek_lite socks5 127.0.0.1:" + IPtProxy.MeekSocksPort).append('\n');
- if (bridgeList != null && bridgeList.length() > 5) //longer then 1 = some real values here
+ if (snowflakeBridges)
+ extraLines.append("ClientTransportPlugin snowflake socks5 127.0.0.1:" + IPtProxy.SnowflakeSocksPort).append('\n');
+
+ if (bridgeList != null && bridgeList.length() > 10) //longer then 1 = some real values here
{
String[] bridgeListLines = parseBridgesFromSettings(bridgeList);
int bridgeIdx = (int) Math.floor(Math.random() * ((double) bridgeListLines.length));
@@ -1429,6 +1447,8 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (meekBridges)
type = "meek_lite";
+ else if (snowflakeBridges)
+ type = "snowflake";
getBridges(type, extraLines);
@@ -1760,9 +1780,13 @@ public class OrbotService extends VpnService implements TorServiceConstants, Orb
if (!TextUtils.isEmpty(action)) {
if (action.equals(ACTION_START) || action.equals(ACTION_START_ON_BOOT)) {
- if (useIPtProxy())
+ if (useIPtObfs4Proxy())
IPtProxy.startObfs4Proxy("DEBUG", false, false);
+ if (useIPtSnowflakeProxy())
+ startSnowflakeProxy();
+
+
startTor();
replyWithStatus(mIntent);
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits