|
@@ -1,13 +1,16 @@
|
|
|
package com.vpn.fastestvpnservice.utils
|
|
|
|
|
|
+import android.content.ComponentName
|
|
|
import android.content.Context
|
|
|
import android.content.Intent
|
|
|
+import android.content.ServiceConnection
|
|
|
import android.net.ConnectivityManager
|
|
|
import android.net.NetworkCapabilities
|
|
|
import android.os.AsyncTask
|
|
|
+import android.os.IBinder
|
|
|
import android.util.Log
|
|
|
import androidx.activity.ComponentActivity
|
|
|
-import com.vpn.fastestvpnservice.application.App
|
|
|
+import de.blinkt.openvpn.core.App
|
|
|
import com.vpn.fastestvpnservice.constants.AppEnum
|
|
|
import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
|
|
|
import com.vpn.fastestvpnservice.viewmodels.HomeViewModel
|
|
@@ -19,7 +22,13 @@ import com.wireguard.config.InetEndpoint
|
|
|
import com.wireguard.config.InetNetwork
|
|
|
import com.wireguard.config.Interface
|
|
|
import com.wireguard.config.Peer
|
|
|
+import de.blinkt.openvpn.VpnProfile
|
|
|
+import de.blinkt.openvpn.core.ConfigParser
|
|
|
+import de.blinkt.openvpn.core.IOpenVPNServiceInternal
|
|
|
+import de.blinkt.openvpn.core.ProfileManager
|
|
|
import wireguard.WgTunnel
|
|
|
+import java.io.BufferedReader
|
|
|
+import java.io.InputStream
|
|
|
|
|
|
class VPNConnectionsUtil {
|
|
|
|
|
@@ -28,11 +37,33 @@ class VPNConnectionsUtil {
|
|
|
var basePreferenceHelper: BasePreferenceHelper
|
|
|
var homeViewModel: HomeViewModel
|
|
|
|
|
|
+ /* WireGuard */
|
|
|
var backend: Backend? = null
|
|
|
final var peerBuilder = Peer.Builder()
|
|
|
final var tunnel: Tunnel = WgTunnel()
|
|
|
lateinit var tunnelStatus: Tunnel.State
|
|
|
|
|
|
+ /*TCP, UDP*/
|
|
|
+ var mService: IOpenVPNServiceInternal? = null
|
|
|
+ var inputStream: InputStream? = null
|
|
|
+ var bufferedReader: BufferedReader? = null
|
|
|
+ var cp: ConfigParser? = null
|
|
|
+ var vp: VpnProfile? = null
|
|
|
+ var pm: ProfileManager? = null
|
|
|
+ var thread: Thread? = null
|
|
|
+
|
|
|
+ private val mConnection: ServiceConnection = object : ServiceConnection {
|
|
|
+ override fun onServiceConnected(className: ComponentName, service: IBinder) {
|
|
|
+ de.blinkt.openvpn.core.App.mService = IOpenVPNServiceInternal.Stub.asInterface(service)
|
|
|
+ Log.d("test_openvpn", "onServiceConnected: ${de.blinkt.openvpn.core.App.mService}")
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onServiceDisconnected(arg0: ComponentName) {
|
|
|
+ de.blinkt.openvpn.core.App.mService = null
|
|
|
+ Log.d("test_openvpn", "onServiceDisconnected: ${de.blinkt.openvpn.core.App.mService}")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
constructor(context: Context, activity: ComponentActivity, homeViewModel: HomeViewModel) {
|
|
|
this.context = context
|
|
|
this.activity = activity
|