Detach shadowsocks module

This commit is contained in:
albexk 2023-11-15 21:56:26 +03:00
parent d77f3ecee8
commit 4e5f2f44b6
11 changed files with 46 additions and 31572 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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)
} }

View file

@ -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

View file

@ -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 {

View file

@ -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)

View file

@ -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()
} }
} }