From 80bf751141c85316c22a0d16c1e4d6fa0f473f44 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Sat, 2 Oct 2021 13:31:36 +0200 Subject: * refactor startTorProxy() * fix setting http proxy port correctly * snowflake+tor does currently only work when being connected to a wifi, not a cellular network. For now, we check if the device is connected to a wifi, before attempting to start tor --- .../java/de/blinkt/openvpn/core/NetworkUtils.java | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'app/src/main/java/de') diff --git a/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java b/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java index 78799a3a..cbb58f0f 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java +++ b/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java @@ -9,6 +9,9 @@ import android.content.Context; import android.net.*; import android.os.Build; import android.text.TextUtils; +import android.util.Log; + +import androidx.core.net.ConnectivityManagerCompat; import java.net.Inet4Address; import java.net.Inet6Address; @@ -16,6 +19,8 @@ import java.util.Vector; public class NetworkUtils { + private static final String TAG = NetworkUtils.class.getSimpleName(); + public static Vector getLocalNetworks(Context c, boolean ipv6) { Vector nets = new Vector<>(); ConnectivityManager conn = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE); @@ -76,4 +81,29 @@ public class NetworkUtils { return nets; } + public static boolean isConnectedToWifi(Context context) { + ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) { + NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); + Log.d(TAG, "isConnectedToWifi (<=LOLLIPOP_MR1): " + wifi.isConnected()); + return wifi.isConnected(); + } else if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.O_MR1) { + NetworkInfo[] netInfos = connManager.getAllNetworkInfo(); + for (NetworkInfo netInfo : netInfos) { + if (netInfo != null && netInfo.getType() == ConnectivityManager.TYPE_WIFI) { + Log.d(TAG, "isConnectedToWifi (<= Build.VERSION_CODES.O_MR1): " + netInfo.isConnected()); + return netInfo.isConnected(); + } + } + } else { + NetworkInfo netInfo = connManager.getActiveNetworkInfo(); + if(netInfo != null) { + NetworkCapabilities networkCapabilities = connManager.getNetworkCapabilities(connManager.getActiveNetwork()); + Log.d(TAG, "isConnectedToWifi (> Build.VERSION_CODES.O_MR1): " + networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)); + return networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI); + } + } + + return false; + } } \ No newline at end of file -- cgit v1.2.3 From eeafd2b56a7996b163072e57cec549b9769ccd0d Mon Sep 17 00:00:00 2001 From: cyBerta Date: Sat, 16 Oct 2021 12:00:23 +0200 Subject: don't recompile pattern in while loop --- app/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'app/src/main/java/de') diff --git a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java index fc77d9a5..9d307b02 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java +++ b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java @@ -140,6 +140,8 @@ public class OpenVPNThread implements Runnable { InputStream in = mProcess.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(in)); + // 1380308330.240114 18000002 Send to HTTP proxy: 'X-Online-Host: bla.blabla.com' + Pattern p = Pattern.compile("(\\d+).(\\d+) ([0-9a-f])+ (.*)"); while (true) { String logline = br.readLine(); if (logline == null) @@ -151,10 +153,6 @@ public class OpenVPNThread implements Runnable { if (logline.startsWith(BROKEN_PIE_SUPPORT) || logline.contains(BROKEN_PIE_SUPPORT2)) mBrokenPie = true; - - // 1380308330.240114 18000002 Send to HTTP proxy: 'X-Online-Host: bla.blabla.com' - - Pattern p = Pattern.compile("(\\d+).(\\d+) ([0-9a-f])+ (.*)"); Matcher m = p.matcher(logline); int logerror = 0; if (m.matches()) { -- cgit v1.2.3 From 0b80fad26c91e5aa0faf8bc0132184eeeb7883b0 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Mon, 8 Nov 2021 00:54:24 +0100 Subject: revert restriction to be connected to wifi in order to use snowflake/tor fallback --- .../java/de/blinkt/openvpn/core/NetworkUtils.java | 26 ---------------------- 1 file changed, 26 deletions(-) (limited to 'app/src/main/java/de') diff --git a/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java b/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java index cbb58f0f..a4f09806 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java +++ b/app/src/main/java/de/blinkt/openvpn/core/NetworkUtils.java @@ -80,30 +80,4 @@ public class NetworkUtils { } return nets; } - - public static boolean isConnectedToWifi(Context context) { - ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) { - NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); - Log.d(TAG, "isConnectedToWifi (<=LOLLIPOP_MR1): " + wifi.isConnected()); - return wifi.isConnected(); - } else if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.O_MR1) { - NetworkInfo[] netInfos = connManager.getAllNetworkInfo(); - for (NetworkInfo netInfo : netInfos) { - if (netInfo != null && netInfo.getType() == ConnectivityManager.TYPE_WIFI) { - Log.d(TAG, "isConnectedToWifi (<= Build.VERSION_CODES.O_MR1): " + netInfo.isConnected()); - return netInfo.isConnected(); - } - } - } else { - NetworkInfo netInfo = connManager.getActiveNetworkInfo(); - if(netInfo != null) { - NetworkCapabilities networkCapabilities = connManager.getNetworkCapabilities(connManager.getActiveNetwork()); - Log.d(TAG, "isConnectedToWifi (> Build.VERSION_CODES.O_MR1): " + networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)); - return networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI); - } - } - - return false; - } } \ No newline at end of file -- cgit v1.2.3