Closed baltpeter closed 1 year ago
Now with fully automated WireGuard setup in ensureDevice()
! \o/
I have so far only tested this on a physical Android 13 device.
@zner0L I've made the changes you requested (can't re-request review because you didn't submit a new one).
This PR brings support for fully automating traffic collection on Android. For that, it adds the following functions on the platform API object:
installCertificateAuthority()
andremoveCertificateAuthority()
to install or remove a certificate authority as a trusted system CA on the device. (https://github.com/tweaselORG/meta/issues/18#issuecomment-1437057934)setProxy()
to either set/disable the global proxy settings or enabled/disable a WireGuard tunnel depending on whether the newly introducedwireguard
capability is used. WireGuard is automatically installed and configured on the device if enabled. (#25, https://github.com/tweaselORG/meta/issues/19, #38)In addition, it adds the following unrelated functions that were necessary to implement the above:
setAppBackgroundBatteryUsage()
to configure an app's battery optimization settings, and thus whether it is allowed to run in the background. (#34)stopApp()
to, you guessed it, (force-)stop an app. (#36)isAppInstalled()
to check whether an app is already installed on the device. (#40)None of these features are implemented for iOS yet. That will be my next step, some reverse-engineering has already happened for that.