mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-23 02:00:20 +07:00
Detach shadowsocks module
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,17 +0,0 @@
|
|||||||
[proxy_all]
|
|
||||||
|
|
||||||
[bypass_list]
|
|
||||||
0.0.0.0/8
|
|
||||||
10.0.0.0/8
|
|
||||||
100.64.0.0/10
|
|
||||||
127.0.0.0/8
|
|
||||||
169.254.0.0/16
|
|
||||||
172.16.0.0/12
|
|
||||||
192.0.0.0/29
|
|
||||||
192.0.2.0/24
|
|
||||||
192.88.99.0/24
|
|
||||||
192.168.0.0/16
|
|
||||||
198.18.0.0/15
|
|
||||||
198.51.100.0/24
|
|
||||||
203.0.113.0/24
|
|
||||||
224.0.0.0/3
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -86,7 +86,6 @@ dependencies {
|
|||||||
implementation(libs.kotlinx.coroutines)
|
implementation(libs.kotlinx.coroutines)
|
||||||
implementation(libs.bundles.androidx.camera)
|
implementation(libs.bundles.androidx.camera)
|
||||||
implementation(libs.google.mlkit)
|
implementation(libs.google.mlkit)
|
||||||
implementation(project(":shadowsocks"))
|
|
||||||
// todo: remove after finish refactoring
|
// todo: remove after finish refactoring
|
||||||
implementation(libs.androidx.constraintlayout)
|
implementation(libs.androidx.constraintlayout)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,8 +33,6 @@ plugins {
|
|||||||
rootProject.name = "AmneziaVPN"
|
rootProject.name = "AmneziaVPN"
|
||||||
rootProject.buildFileName = "build.gradle.kts"
|
rootProject.buildFileName = "build.gradle.kts"
|
||||||
|
|
||||||
include(":shadowsocks")
|
|
||||||
|
|
||||||
// get values from gradle or local properties
|
// get values from gradle or local properties
|
||||||
val androidBuildToolsVersion: String by gradleProperties
|
val androidBuildToolsVersion: String by gradleProperties
|
||||||
val androidCompileSdkVersion: String by gradleProperties
|
val androidCompileSdkVersion: String by gradleProperties
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import android.content.Intent
|
|||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Parcel
|
import android.os.Parcel
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import org.amnezia.vpn.shadowsocks.core.R
|
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
|
|
||||||
object NotificationUtil {
|
object NotificationUtil {
|
||||||
|
|||||||
@@ -24,19 +24,19 @@ import com.wireguard.android.backend.GoBackend
|
|||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.amnezia.vpn.shadowsocks.core.Core
|
// import org.amnezia.vpn.shadowsocks.core.Core
|
||||||
import org.amnezia.vpn.shadowsocks.core.R
|
// import org.amnezia.vpn.shadowsocks.core.R
|
||||||
import org.amnezia.vpn.shadowsocks.core.VpnRequestActivity
|
// import org.amnezia.vpn.shadowsocks.core.VpnRequestActivity
|
||||||
import org.amnezia.vpn.shadowsocks.core.acl.Acl
|
// import org.amnezia.vpn.shadowsocks.core.acl.Acl
|
||||||
import org.amnezia.vpn.shadowsocks.core.bg.*
|
// import org.amnezia.vpn.shadowsocks.core.bg.*
|
||||||
import org.amnezia.vpn.shadowsocks.core.database.Profile
|
// import org.amnezia.vpn.shadowsocks.core.database.Profile
|
||||||
import org.amnezia.vpn.shadowsocks.core.database.ProfileManager
|
// import org.amnezia.vpn.shadowsocks.core.database.ProfileManager
|
||||||
import org.amnezia.vpn.shadowsocks.core.net.ConcurrentLocalSocketListener
|
// import org.amnezia.vpn.shadowsocks.core.net.ConcurrentLocalSocketListener
|
||||||
import org.amnezia.vpn.shadowsocks.core.net.DefaultNetworkListener
|
// import org.amnezia.vpn.shadowsocks.core.net.DefaultNetworkListener
|
||||||
import org.amnezia.vpn.shadowsocks.core.net.Subnet
|
// import org.amnezia.vpn.shadowsocks.core.net.Subnet
|
||||||
import org.amnezia.vpn.shadowsocks.core.preference.DataStore
|
// import org.amnezia.vpn.shadowsocks.core.preference.DataStore
|
||||||
import org.amnezia.vpn.shadowsocks.core.utils.Key.modeVpn
|
// import org.amnezia.vpn.shadowsocks.core.utils.Key.modeVpn
|
||||||
import org.amnezia.vpn.shadowsocks.core.utils.printLog
|
// import org.amnezia.vpn.shadowsocks.core.utils.printLog
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
import java.io.Closeable
|
import java.io.Closeable
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -46,16 +46,16 @@ import java.lang.Exception
|
|||||||
import android.net.VpnService as BaseVpnService
|
import android.net.VpnService as BaseVpnService
|
||||||
|
|
||||||
|
|
||||||
class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
class VPNService : BaseVpnService()/* , LocalDnsService.Interface */ {
|
||||||
|
|
||||||
override val data = BaseService.Data(this)
|
// override val data = BaseService.Data(this)
|
||||||
|
|
||||||
override val tag: String get() = "VPNService"
|
/* override */ val tag: String get() = "VPNService"
|
||||||
// override fun createNotification(profileName: String): ServiceNotification =
|
// override fun createNotification(profileName: String): ServiceNotification =
|
||||||
// ServiceNotification(this, profileName, "service-vpn")
|
// ServiceNotification(this, profileName, "service-vpn")
|
||||||
|
|
||||||
private var conn: ParcelFileDescriptor? = null
|
private var conn: ParcelFileDescriptor? = null
|
||||||
private var worker: ProtectWorker? = null
|
// private var worker: ProtectWorker? = null
|
||||||
private var active = false
|
private var active = false
|
||||||
private var metered = false
|
private var metered = false
|
||||||
private var mNetworkState = NetworkState(this)
|
private var mNetworkState = NetworkState(this)
|
||||||
@@ -77,7 +77,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
var runnable: Runnable = object : Runnable {
|
var runnable: Runnable = object : Runnable {
|
||||||
override fun run() {
|
override fun run() {
|
||||||
if (mProtocol.equals("shadowsocks", true)) {
|
if (mProtocol.equals("shadowsocks", true)) {
|
||||||
Log.e(tag, "run: -----------------: ${data.state}")
|
/* Log.e(tag, "run: -----------------: ${data.state}")
|
||||||
when (data.state) {
|
when (data.state) {
|
||||||
BaseService.State.Connected -> {
|
BaseService.State.Connected -> {
|
||||||
currentTunnelHandle = 1
|
currentTunnelHandle = 1
|
||||||
@@ -90,7 +90,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
else -> {
|
else -> {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
handler.postDelayed(this, 1000L) //wait 4 sec and run again
|
handler.postDelayed(this, 1000L) //wait 4 sec and run again
|
||||||
}
|
}
|
||||||
@@ -181,11 +181,11 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
|
|
||||||
when (mProtocol) {
|
when (mProtocol) {
|
||||||
"shadowsocks" -> {
|
"shadowsocks" -> {
|
||||||
when (intent.action) {
|
/* when (intent.action) {
|
||||||
SERVICE_INTERFACE -> super<BaseVpnService>.onBind(intent)
|
SERVICE_INTERFACE -> super<BaseVpnService>.onBind(intent)
|
||||||
else -> super<LocalDnsService.Interface>.onBind(intent)
|
else -> super<LocalDnsService.Interface>.onBind(intent)
|
||||||
}
|
}
|
||||||
startTest()
|
startTest() */
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
init()
|
init()
|
||||||
@@ -231,7 +231,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
startOpenVpn()
|
startOpenVpn()
|
||||||
mNetworkState.bindNetworkListener()
|
mNetworkState.bindNetworkListener()
|
||||||
}
|
}
|
||||||
if (mProtocol.equals("shadowsocks", true)) {
|
/* if (mProtocol.equals("shadowsocks", true)) {
|
||||||
if (DataStore.serviceMode == modeVpn) {
|
if (DataStore.serviceMode == modeVpn) {
|
||||||
if (prepare(this) != null) {
|
if (prepare(this) != null) {
|
||||||
startActivity(
|
startActivity(
|
||||||
@@ -248,7 +248,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
stopRunner()
|
stopRunner()
|
||||||
}
|
} */
|
||||||
return START_REDELIVER_INTENT
|
return START_REDELIVER_INTENT
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -385,10 +385,10 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
"awg" -> {
|
"awg" -> {
|
||||||
startWireGuard("awg")
|
startWireGuard("awg")
|
||||||
}
|
}
|
||||||
"shadowsocks" -> {
|
/* "shadowsocks" -> {
|
||||||
startShadowsocks()
|
startShadowsocks()
|
||||||
startTest()
|
startTest()
|
||||||
}
|
} */
|
||||||
else -> {
|
else -> {
|
||||||
Log.e(tag, "No protocol")
|
Log.e(tag, "No protocol")
|
||||||
return 0
|
return 0
|
||||||
@@ -469,10 +469,10 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
ovpnTurnOff()
|
ovpnTurnOff()
|
||||||
mNetworkState.unBindNetworkListener()
|
mNetworkState.unBindNetworkListener()
|
||||||
}
|
}
|
||||||
"shadowsocks" -> {
|
/* "shadowsocks" -> {
|
||||||
stopRunner(false)
|
stopRunner(false)
|
||||||
stopTest()
|
stopTest()
|
||||||
}
|
} */
|
||||||
else -> {
|
else -> {
|
||||||
Log.e(tag, "No protocol")
|
Log.e(tag, "No protocol")
|
||||||
}
|
}
|
||||||
@@ -679,7 +679,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
return mConfig!!
|
return mConfig!!
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun startShadowsocks() {
|
/* private fun startShadowsocks() {
|
||||||
Log.e(tag, "startShadowsocks method enters")
|
Log.e(tag, "startShadowsocks method enters")
|
||||||
if (mConfig != null) {
|
if (mConfig != null) {
|
||||||
try {
|
try {
|
||||||
@@ -768,7 +768,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
} else {
|
} else {
|
||||||
Log.e(tag, "Invalid config file!!")
|
Log.e(tag, "Invalid config file!!")
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
private fun startOpenVpn() {
|
private fun startOpenVpn() {
|
||||||
if (isUp || mOpenVPNThreadv3 != null) {
|
if (isUp || mOpenVPNThreadv3 != null) {
|
||||||
@@ -821,7 +821,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
.apply()
|
.apply()
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun startProcesses() {
|
/* override suspend fun startProcesses() {
|
||||||
worker = ProtectWorker().apply { start() }
|
worker = ProtectWorker().apply { start() }
|
||||||
try {
|
try {
|
||||||
Log.i(tag, "startProcesses: ------------------1")
|
Log.i(tag, "startProcesses: ------------------1")
|
||||||
@@ -832,9 +832,9 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
override fun killProcesses(scope: CoroutineScope) {
|
/* override fun killProcesses(scope: CoroutineScope) {
|
||||||
super.killProcesses(scope)
|
super.killProcesses(scope)
|
||||||
active = false
|
active = false
|
||||||
scope.launch { DefaultNetworkListener.stop(this) }
|
scope.launch { DefaultNetworkListener.stop(this) }
|
||||||
@@ -842,9 +842,9 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
worker = null
|
worker = null
|
||||||
conn?.close()
|
conn?.close()
|
||||||
conn = null
|
conn = null
|
||||||
}
|
} */
|
||||||
|
|
||||||
private suspend fun startVpn(): FileDescriptor {
|
/* private suspend fun startVpn(): FileDescriptor {
|
||||||
val profile = data.proxy!!.profile
|
val profile = data.proxy!!.profile
|
||||||
Log.i(tag, "startVpn: -----------------------1")
|
Log.i(tag, "startVpn: -----------------------1")
|
||||||
val builder = Builder()
|
val builder = Builder()
|
||||||
@@ -925,9 +925,9 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
})
|
})
|
||||||
Log.i(tag, "startVpn: -----------------------13")
|
Log.i(tag, "startVpn: -----------------------13")
|
||||||
return conn.fileDescriptor
|
return conn.fileDescriptor
|
||||||
}
|
} */
|
||||||
|
|
||||||
private suspend fun sendFd(fd: FileDescriptor) {
|
/* private suspend fun sendFd(fd: FileDescriptor) {
|
||||||
var tries = 0
|
var tries = 0
|
||||||
val path = File(Core.deviceStorage.noBackupFilesDir, "sock_path").absolutePath
|
val path = File(Core.deviceStorage.noBackupFilesDir, "sock_path").absolutePath
|
||||||
while (true) try {
|
while (true) try {
|
||||||
@@ -947,10 +947,10 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
if (tries > 5) throw e
|
if (tries > 5) throw e
|
||||||
tries += 1
|
tries += 1
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
|
|
||||||
private inner class ProtectWorker : ConcurrentLocalSocketListener(
|
/* private inner class ProtectWorker : ConcurrentLocalSocketListener(
|
||||||
"ShadowsocksVpnThread",
|
"ShadowsocksVpnThread",
|
||||||
File(Core.deviceStorage.noBackupFilesDir, "protect_path")
|
File(Core.deviceStorage.noBackupFilesDir, "protect_path")
|
||||||
) {
|
) {
|
||||||
@@ -970,11 +970,11 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
|
|||||||
}) 0 else 1)
|
}) 0 else 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
inner class NullConnectionException : NullPointerException() {
|
/* inner class NullConnectionException : NullPointerException() {
|
||||||
override fun getLocalizedMessage() = getString(R.string.reboot_required)
|
override fun getLocalizedMessage() = getString(R.string.reboot_required)
|
||||||
}
|
} */
|
||||||
|
|
||||||
class CloseableFd(val fd: FileDescriptor) : Closeable {
|
class CloseableFd(val fd: FileDescriptor) : Closeable {
|
||||||
override fun close() = Os.close(fd)
|
override fun close() = Os.close(fd)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package org.amnezia.vpn.qt
|
package org.amnezia.vpn.qt
|
||||||
|
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import org.amnezia.vpn.shadowsocks.core.Core
|
// import org.amnezia.vpn.shadowsocks.core.Core
|
||||||
import org.amnezia.vpn.shadowsocks.core.VpnManager
|
// import org.amnezia.vpn.shadowsocks.core.VpnManager
|
||||||
import org.qtproject.qt.android.bindings.QtActivity
|
import org.qtproject.qt.android.bindings.QtActivity
|
||||||
import org.qtproject.qt.android.bindings.QtApplication
|
import org.qtproject.qt.android.bindings.QtApplication
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
@@ -11,12 +11,12 @@ class AmneziaApp: org.qtproject.qt.android.bindings.QtApplication() {
|
|||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
Core.init(this, QtActivity::class)
|
/* Core.init(this, QtActivity::class)
|
||||||
VpnManager.getInstance().init(this)
|
VpnManager.getInstance().init(this) */
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onConfigurationChanged(newConfig: Configuration) {
|
override fun onConfigurationChanged(newConfig: Configuration) {
|
||||||
super.onConfigurationChanged(newConfig)
|
super.onConfigurationChanged(newConfig)
|
||||||
Core.updateNotificationChannels()
|
// Core.updateNotificationChannels()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user