From 85f8b24b8e501b4fe94323f6278b52ba780d75cd Mon Sep 17 00:00:00 2001 From: Zane Schepke Date: Sat, 6 Apr 2024 10:33:21 -0400 Subject: [PATCH] fix: improve auto-tunnel reliability Improved service manager stop service command to improve reliability Closes #148 Added assets required by Google Play for AndroidTV to fix Google Play release Added apk fingerprint hash to release to allow verification of apk signature via apksigner Improve tile sync when tiles are first added Bump versions --- .github/workflows/pre-release.yml | 24 ++++++++++++++++++ .github/workflows/release.yml | 24 ++++++++++++++++++ app/src/main/AndroidManifest.xml | 2 +- .../service/foreground/ForegroundService.kt | 4 +-- .../service/foreground/ServiceManager.kt | 14 +++------- .../service/foreground/ServiceState.kt | 6 ----- .../WireGuardConnectivityWatcherService.kt | 9 +++++-- .../foreground/WireGuardTunnelService.kt | 9 +++++-- .../service/tile/AutoTunnelControlTile.kt | 5 ++++ .../service/tile/TunnelControlTile.kt | 10 +++++++- app/src/main/res/drawable-xhdpi/ic_banner.png | Bin 0 -> 4294 bytes app/src/main/res/drawable-xhdpi/icon.png | Bin 0 -> 39338 bytes .../main/res/mipmap-anydpi-v26/ic_channel.xml | 5 ++++ app/src/main/res/mipmap-xhdpi/ic_channel.png | Bin 0 -> 8552 bytes .../mipmap-xhdpi/ic_channel_foreground.png | Bin 0 -> 27035 bytes .../main/res/values/ic_channel_background.xml | 4 +++ buildSrc/src/main/kotlin/Constants.kt | 4 +-- .../android/en-US/changelogs/34100.txt | 5 ++++ gradle/libs.versions.toml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 20 files changed, 101 insertions(+), 28 deletions(-) delete mode 100644 app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/ServiceState.kt create mode 100644 app/src/main/res/drawable-xhdpi/ic_banner.png create mode 100644 app/src/main/res/drawable-xhdpi/icon.png create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_channel.xml create mode 100644 app/src/main/res/mipmap-xhdpi/ic_channel.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_channel_foreground.png create mode 100644 app/src/main/res/values/ic_channel_background.xml create mode 100644 fastlane/metadata/android/en-US/changelogs/34100.txt diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 4d23ca32..733d1844 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -89,6 +89,30 @@ jobs: draft: false prerelease: true files: ${{ github.workspace }}/${{ steps.apk-path.outputs.path }} + + - name: Install apksigner + run: | + sudo apt-get update + sudo apt-get install -y apksigner + + - name: Get checksum + id: checksum + run: echo "checksum=$(apksigner verify -print-certs ${{ steps.apk-path.outputs.path }} | grep -Po "(?<=SHA-256 digest:) .*")" | awk '{$1=$1};1' >> $GITHUB_OUTPUT + + - name: Append checksum + id: append_checksum + uses: softprops/action-gh-release@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + body: > +
SHA256 Checksum:
```${{ steps.checksum.outputs.checksum }}``` + tag_name: ${{ github.ref_name }} + name: ${{ github.ref_name }} + draft: false + prerelease: true + append_body: true + - name: Deploy with fastlane uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3eec328a..7137c1a5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -95,6 +95,30 @@ jobs: draft: false prerelease: false files: ${{ github.workspace }}/${{ steps.apk-path.outputs.path }} + + - name: Install apksigner + run: | + sudo apt-get update + sudo apt-get install -y apksigner + + - name: Get checksum + id: checksum + run: echo "checksum=$(apksigner verify -print-certs ${{ steps.apk-path.outputs.path }} | grep -Po "(?<=SHA-256 digest:) .*")" | awk '{$1=$1};1' >> $GITHUB_OUTPUT + + - name: Append checksum + id: append_checksum + uses: softprops/action-gh-release@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + body: > +
SHA256 Checksum:
```${{ steps.checksum.outputs.checksum }}``` + tag_name: ${{ github.ref_name }} + name: ${{ github.ref_name }} + draft: false + prerelease: false + append_body: true + - name: Deploy with fastlane uses: ruby/setup-ruby@v1 with: diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 58fea87d..04618c54 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -52,7 +52,7 @@ startService(intent.extras) - Action.STOP.name -> stopService(intent.extras) Constants.ALWAYS_ON_VPN_ACTION -> { Timber.i("Always-on VPN starting service") startService(intent.extras) @@ -45,6 +44,7 @@ open class ForegroundService : LifecycleService() { override fun onDestroy() { super.onDestroy() Timber.d("The service has been destroyed") + stopService() } protected open fun startService(extras: Bundle?) { @@ -53,7 +53,7 @@ open class ForegroundService : LifecycleService() { isServiceStarted = true } - protected open fun stopService(extras: Bundle?) { + protected open fun stopService() { Timber.d("Stopping ${this.javaClass.simpleName}") try { stopForeground(STOP_FOREGROUND_REMOVE) diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/ServiceManager.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/ServiceManager.kt index 5bf77001..0d240fe9 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/ServiceManager.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/ServiceManager.kt @@ -23,15 +23,9 @@ class ServiceManager(private val appDataRepository: AppDataRepository) { intent.component?.javaClass try { when (action) { - Action.START_FOREGROUND -> { - context.startForegroundService(intent) - } - - Action.START -> { - context.startService(intent) - } - - Action.STOP -> context.startService(intent) + Action.START_FOREGROUND -> context.startForegroundService(intent) + Action.START -> context.startService(intent) + Action.STOP -> context.stopService(intent) } } catch (e: Exception) { Timber.e(e.message) @@ -54,7 +48,7 @@ class ServiceManager(private val appDataRepository: AppDataRepository) { suspend fun stopVpnService(context: Context, isManualStop: Boolean = false) { if (isManualStop) onManualStop() - Timber.d("Stopping vpn service action") + Timber.i("Stopping vpn service") actionOnService( Action.STOP, context, diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/ServiceState.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/ServiceState.kt deleted file mode 100644 index 3cddee8a..00000000 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/ServiceState.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.zaneschepke.wireguardautotunnel.service.foreground - -enum class ServiceState { - STARTED, - STOPPED, -} diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/WireGuardConnectivityWatcherService.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/WireGuardConnectivityWatcherService.kt index 90cc3a01..ddcee0bf 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/WireGuardConnectivityWatcherService.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/WireGuardConnectivityWatcherService.kt @@ -74,6 +74,11 @@ class WireGuardConnectivityWatcherService : ForegroundService() { } } + override fun onDestroy() { + super.onDestroy() + stopService() + } + override fun startService(extras: Bundle?) { super.startService(extras) try { @@ -86,8 +91,8 @@ class WireGuardConnectivityWatcherService : ForegroundService() { } } - override fun stopService(extras: Bundle?) { - super.stopService(extras) + override fun stopService() { + super.stopService() wakeLock?.let { if (it.isHeld) { it.release() diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/WireGuardTunnelService.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/WireGuardTunnelService.kt index 3dd987f4..5f9dc630 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/WireGuardTunnelService.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/foreground/WireGuardTunnelService.kt @@ -49,6 +49,11 @@ class WireGuardTunnelService : ForegroundService() { } } + override fun onDestroy() { + super.onDestroy() + + } + override fun startService(extras: Bundle?) { super.startService(extras) cancelJob() @@ -117,8 +122,8 @@ class WireGuardTunnelService : ForegroundService() { ) } - override fun stopService(extras: Bundle?) { - super.stopService(extras) + override fun stopService() { + super.stopService() lifecycleScope.launch(Dispatchers.IO) { vpnService.stopTunnel() didShowConnected = false diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/tile/AutoTunnelControlTile.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/tile/AutoTunnelControlTile.kt index a25c866b..969c0af7 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/tile/AutoTunnelControlTile.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/tile/AutoTunnelControlTile.kt @@ -53,6 +53,11 @@ class AutoTunnelControlTile : TileService() { } } + override fun onTileAdded() { + super.onTileAdded() + onStartListening() + } + override fun onDestroy() { super.onDestroy() scope.cancel() diff --git a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/tile/TunnelControlTile.kt b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/tile/TunnelControlTile.kt index 8109ad7d..c62e4231 100644 --- a/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/tile/TunnelControlTile.kt +++ b/app/src/main/java/com/zaneschepke/wireguardautotunnel/service/tile/TunnelControlTile.kt @@ -69,13 +69,21 @@ class TunnelControlTile : TileService() { scope.cancel() } + override fun onTileAdded() { + super.onTileAdded() + onStartListening() + } + override fun onClick() { super.onClick() unlockAndRun { scope.launch { try { if (vpnService.getState() == Tunnel.State.UP) { - serviceManager.stopVpnService(this@TunnelControlTile, isManualStop = true) + serviceManager.stopVpnService( + this@TunnelControlTile, + isManualStop = true, + ) } else { serviceManager.startVpnServiceForeground( this@TunnelControlTile, manualStartConfig?.id, isManualStart = true, diff --git a/app/src/main/res/drawable-xhdpi/ic_banner.png b/app/src/main/res/drawable-xhdpi/ic_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..691291a948360a036bda851bea0bacdcc0fb856c GIT binary patch literal 4294 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 U#?Hs>?I!?R>+4nx7ya-42eX$ri2wiq literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/icon.png b/app/src/main/res/drawable-xhdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d8e99564658add3373147cb1504f3eb1e9776f GIT binary patch literal 39338 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 UitnrlZu;iLF&ndYM?E6{2jO2F=>Px# literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_channel.xml b/app/src/main/res/mipmap-anydpi-v26/ic_channel.xml new file mode 100644 index 00000000..c5ef2b74 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_channel.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/ic_channel.png b/app/src/main/res/mipmap-xhdpi/ic_channel.png new file mode 100644 index 0000000000000000000000000000000000000000..9f9bd29649a32a3632dea9b03bf1e2a6342453a7 GIT binary patch literal 8552 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 + + #1D1A20 + \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Constants.kt b/buildSrc/src/main/kotlin/Constants.kt index 3ba8f1fc..6d3d4f44 100644 --- a/buildSrc/src/main/kotlin/Constants.kt +++ b/buildSrc/src/main/kotlin/Constants.kt @@ -1,7 +1,7 @@ object Constants { - const val VERSION_NAME = "3.4.0" + const val VERSION_NAME = "3.4.1" const val JVM_TARGET = "17" - const val VERSION_CODE = 34000 + const val VERSION_CODE = 34100 const val TARGET_SDK = 34 const val MIN_SDK = 26 const val APP_ID = "com.zaneschepke.wireguardautotunnel" diff --git a/fastlane/metadata/android/en-US/changelogs/34100.txt b/fastlane/metadata/android/en-US/changelogs/34100.txt new file mode 100644 index 00000000..d940104b --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/34100.txt @@ -0,0 +1,5 @@ +What's new: +- Improved auto tunnel reliability +- Improved tile sync +- Added AndroidTV assets +- Added apk fingerprint diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6dffeea5..3aee43f0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -20,7 +20,7 @@ pinLockCompose = "1.0.3" roomVersion = "2.6.1" timber = "5.0.1" tunnel = "1.0.20230706" -androidGradlePlugin = "8.3.1" +androidGradlePlugin = "8.4.0-rc01" kotlin = "1.9.23" ksp = "1.9.23-1.0.19" composeBom = "2024.03.00" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8be2d760..9079e93c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ #Wed Oct 11 22:39:21 EDT 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip distributionSha256Sum=3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME