Use Android prebuilt openvpn libs

This commit is contained in:
Mykola Baibuz
2023-06-16 17:00:44 -04:00
parent 8a8dd47f8b
commit 8423666bbb
6 changed files with 25 additions and 17 deletions
+6 -6
View File
@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
QT_VERSION: 6.4.2 QT_VERSION: 6.5.0
QIF_VERSION: 4.5 QIF_VERSION: 4.5
steps: steps:
@@ -65,7 +65,7 @@ jobs:
runs-on: windows-latest runs-on: windows-latest
env: env:
QT_VERSION: 6.4.2 QT_VERSION: 6.5.0
QIF_VERSION: 4.5 QIF_VERSION: 4.5
BUILD_ARCH: 64 BUILD_ARCH: 64
@@ -130,7 +130,7 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
env: env:
QT_VERSION: 6.4.2 QT_VERSION: 6.5.0
steps: steps:
- name: 'Setup xcode' - name: 'Setup xcode'
@@ -208,7 +208,7 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
env: env:
QT_VERSION: 6.4.2 QT_VERSION: 6.5.0
QIF_VERSION: 4.5 QIF_VERSION: 4.5
steps: steps:
@@ -268,10 +268,10 @@ jobs:
strategy: strategy:
matrix: matrix:
arch: ['android_x86_64', 'android_x86'] #, 'android_armv7', 'android_arm64_v8a'] arch: ['android_x86_64'] #, 'android_x86'] #, 'android_armv7', 'android_arm64_v8a']
env: env:
QT_VERSION: 6.4.2 QT_VERSION: 6.5.0
steps: steps:
- name: 'Install desktop Qt' - name: 'Install desktop Qt'
+7
View File
@@ -517,7 +517,14 @@ if(ANDROID)
${CMAKE_CURRENT_LIST_DIR}/android/lib/wireguard/${abi}/libwg.so ${CMAKE_CURRENT_LIST_DIR}/android/lib/wireguard/${abi}/libwg.so
${CMAKE_CURRENT_LIST_DIR}/android/lib/wireguard/${abi}/libwg-go.so ${CMAKE_CURRENT_LIST_DIR}/android/lib/wireguard/${abi}/libwg-go.so
${CMAKE_CURRENT_LIST_DIR}/android/lib/wireguard/${abi}/libwg-quick.so ${CMAKE_CURRENT_LIST_DIR}/android/lib/wireguard/${abi}/libwg-quick.so
${CMAKE_CURRENT_LIST_DIR}/android/lib/openvpn/${abi}/libck-ovpn-plugin.so
${CMAKE_CURRENT_LIST_DIR}/android/lib/openvpn/${abi}/libopenvpn.so
${CMAKE_CURRENT_LIST_DIR}/android/lib/openvpn/${abi}/libovpn3.so
${CMAKE_CURRENT_LIST_DIR}/android/lib/openvpn/${abi}/libovpnexec.so
${CMAKE_CURRENT_LIST_DIR}/android/lib/openvpn/${abi}/libovpnutil.so
${CMAKE_CURRENT_LIST_DIR}/android/lib/openvpn/${abi}/librsapss.so
) )
endforeach() endforeach()
endif() endif()
+6 -6
View File
@@ -179,12 +179,12 @@ android {
// } // }
// } // }
externalNativeBuild { // externalNativeBuild {
cmake { // cmake {
version cmakeMinVersion // version cmakeMinVersion
path "${projectDir}/cpp/CMakeLists.txt" // path "${projectDir}/cpp/CMakeLists.txt"
} // }
} // }
} }
+1
View File
@@ -0,0 +1 @@
../../3rd-prebuilt/3rd-prebuilt/openvpn/android
@@ -136,8 +136,8 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
@JvmStatic @JvmStatic
private external fun wgTurnOn(ifName: String, tunFd: Int, settings: String): Int private external fun wgTurnOn(ifName: String, tunFd: Int, settings: String): Int
@JvmStatic // @JvmStatic
private external fun wgVersion(): String? // private external fun wgVersion(): String?
} }
private var mBinder: VPNServiceBinder = VPNServiceBinder(this) private var mBinder: VPNServiceBinder = VPNServiceBinder(this)
@@ -162,7 +162,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
SharedLibraryLoader.loadSharedLibrary(this, "wg-go") SharedLibraryLoader.loadSharedLibrary(this, "wg-go")
SharedLibraryLoader.loadSharedLibrary(this, "ovpn3") SharedLibraryLoader.loadSharedLibrary(this, "ovpn3")
Log.i(tag, "Loaded libs") Log.i(tag, "Loaded libs")
Log.e(tag, "Wireguard Version ${wgVersion()}") // Log.e(tag, "Wireguard Version ${wgVersion()}")
mOpenVPNThreadv3 = OpenVPNThreadv3(this) mOpenVPNThreadv3 = OpenVPNThreadv3(this)
mAlreadyInitialised = true mAlreadyInitialised = true
} }
@@ -726,7 +726,7 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface {
builder.setSession("Amnezia") builder.setSession("Amnezia")
builder.establish().use { tun -> builder.establish().use { tun ->
if (tun == null) return if (tun == null) return
Log.i(tag, "Go backend " + wgVersion()) // Log.i(tag, "Go backend " + wgVersion())
currentTunnelHandle = wgTurnOn("Amnezia", tun.detachFd(), wgConfig) currentTunnelHandle = wgTurnOn("Amnezia", tun.detachFd(), wgConfig)
} }
if (currentTunnelHandle < 0) { if (currentTunnelHandle < 0) {