summaryrefslogtreecommitdiffhomepage
path: root/app/src/main/java
AgeCommit message (Collapse)Author
2019-12-20Introduce TunnelToggleActivityHarsh Shandilya
On Android 10, apps cannot start services when they're in the background. This means that starting VpnService from within QuickTileService when the app is not active ends badly. To mitigate this situation, we introduce a proxy activity of sorts that will handle starting VpnService for us. The activity is completely transparent and invisible, and does only four things: - Toggle the tunnel state - Request the Tile bound by QuickTileService to refresh its state - Handle any error that might have been thrown during toggle - Call finishAffinity() and go away Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2019-12-20Use RequiresApi instead of TargetApiJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-11-27QuickTileService: require phone be unlockedJason A. Donenfeld
Reported-by: Simon <simon@laro.se> Reported-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-11-20Implement statisticsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-22ModuleLoader: sync file before renamingJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-21ToolsInstaller: write to temporary file, fsync, renameJason A. Donenfeld
Reported-by: Andre Christanto <christantoandre@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-18InetAddresses: cleanup and implement final fallbackJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-18Application: put user agent in log to help debuggingJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-18Suppress depreciation warningsJason A. Donenfeld
We know what we're doing here, and it's not nice. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-16Google doesn't want to enable others to support free open source softwareJason A. Donenfeld
Revert "preferences: add donation link" This reverts commit e5455f579aec48abb30ba68b0248b02d79303126. The app was removed from the Play Store for violating their payments policy. Upon filing an appeal, I was told that they do not allow donations to projects like WireGuard. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-14Download modules after verifying signify signatureJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-13Revert "Fix activity leak on Android Q"Jason A. Donenfeld
This reverts commit 489518000971914b2608da43e2146690dcc02cb9. October has arrived. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-13ToolsInstaller: extract from apk instead of relying on native extractionJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-13SharedLibraryLoader: separate out extractionJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-13SharedLibraryLoader: prioritize ABI orderingJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-13SharedLibraryLoader: iterate through all apks for bundlesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-12Activity: make dark/night theme follow system on QJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-12Application: use preferences from compat libsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-12export: use content resolver on android Q+Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-10-12preferences: add donation linkJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-09-30Migrate to Android 10Harsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2019-09-30InetAddresses: prepare for Android 10's real method supportJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-09-27FragmentUtils: Directly cast context as SettingsActivityHarsh Shandilya
ContextThemeWrapper#getContext seems to be an instance of ContextImpl now which is not public API and also not what we want. Directly cast context as SettingsActivity which seems to work exactly how we need this to. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2019-09-27Fix activity leak on Android QHarsh Shandilya
This workaround was discussed at https://twitter.com/Piwai/status/1169274622614704129 after Google had closed the issuetracker with a WONTFIX at https://issuetracker.google.com/issues/139738913. The situation has since changed with Google promising a fix on October's ASB but since we can't really know, patch this ourselves for the timebeing. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2019-03-19InetEndpoint: properly match IPv6 addressesJason A. Donenfeld
The old one didn't account for trailing digits. Reported-by: Brandon Jackson <bjackson@napshome.net> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-16WgQuickBackend: pass result to error stringJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-17ToolsInstaller: fix typo on cleanupJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-14ToolsInstaller: Require Magisk 18Jason A. Donenfeld
People installing magisk modules are people capable of updating Magisk. No need to leave around old compat cruft. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-14ToolsInstaller: Use chcon over restoreconHarsh Shandilya
restorecon probes file_contexts to get the context to be applied to the file. /sbin/.magisk does not exist in file_contexts for obvious reasons so restorecon always fails. Use chcon directly with the system_file context to allow contexts to be applied. Suggested-by: Chris Renshaw <osm0sis@outlook.com> Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2019-01-07Update copyrightJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-01-07PeerProxy: Only add IPv4 DNS servers when excluding private IPsSamuel Holland
Reported-By: Christophe-Marie Duquesne <chmd@chmd.fr> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-18Migrate to AndroidXHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-12-15InetEndpoint: disallow huge portsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-15Clean up error messagesSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-15Provide semantically meaningful exceptions for translationSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-11Fix locale usageJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-11Throw illegalargumentexception instead of nullpointerexception for builder ↵Jason A. Donenfeld
errors Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-11Unwrap the correct exceptionZachary Wander
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-11Localize exception messagesZachary Wander
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-11Lowercase endpoint in exception messageJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-10Do not allow for an empty port in endpointJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-10Export actual configuration for zipsJason A. Donenfeld
Reported-by: John Greenwood <ijohnyyh@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-09Use English lower casingJason A. Donenfeld
In Turkish, I becomes ı instead of i, which is a problem when matching things like "AllowedIPs". Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-08Do not close zip input streamJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-08Remove ACRAJason A. Donenfeld
This was requested by developers who never wound up using it. It's not really worth keeping around, since the play console gives us most of what we need anyway. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-08Remodel the ModelSamuel Holland
- The configuration and crypto model is now entirely independent of Android classes other than Nullable and TextUtils. - Model classes are immutable and use builders that enforce the appropriate optional/required attributes. - The Android config proxies (for Parcelable and databinding) are moved to the Android side of the codebase, and are designed to be safe for two-way databinding. This allows proper observability in TunnelDetailFragment. - Various robustness fixes and documentation updates to helper classes. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-11Auto-format the source directoriesSamuel Holland
Blame Jason for writing Java in vim. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-01Fix small errorJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-01Peer: prefer v4 endpoints to v6Jason A. Donenfeld
This works around DNS64 XLAT changeovers. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-06global: update copyright headersJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>