aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* gradle: remove unused settingsHEADmasterJason A. Donenfeld2026-03-171-12/+0
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20260315Jason A. Donenfeld2026-03-151-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: remove use of deprecated bundleOfJason A. Donenfeld2026-03-152-9/+8
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Updater: discourage copy and pastingJason A. Donenfeld2026-03-151-0/+6
| | | | | | | | | | | | | When other projects copy and paste all of WireGuard and then tweak it, some idiots leave the updater code in, resulting in useless requests going to my server. In some cases this has even resulted in a DoS because of further confusions. To cut down on this, hardcode the usual package name prefix, and abort with a really silly exception if it doesn't match. This will lead copy and pasters to this comment, which hopefully they read. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: uatch minSdk between tunnel and uiL.W.Reek2026-03-151-2/+1
| | | | | | Signed-off-by: L.W.Reek <syphyr@gmail.com> [Jason: remove else clause] Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* gradle: update to agp 9.1Jason A. Donenfeld2026-03-155-50/+10
| | | | | | | The legacy kapt thing is a bummer. We'll need to move to ksp at some point. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Application: include appid in user agentJason A. Donenfeld2026-03-101-1/+1
| | | | | | This will help make it more clear which app is doing what. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* res: remove untranslatable string from hindi translationJason A. Donenfeld2026-03-101-1/+0
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Updater: don't immediately retry if check failsJason A. Donenfeld2026-03-101-1/+7
| | | | | | | If something goes wrong, maybe it's best not to DoS the update server. Instead back off gradually and then go into the usual sleep loop. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20260102Jason A. Donenfeld2026-01-021-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: also bump the minsdk of this moduleJason A. Donenfeld2026-01-021-1/+1
| | | | | Fixes: 3b6ab660 ("ui: raise min SDK to 24") Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: newIncompleteFuture requires API 31Jason A. Donenfeld2026-01-021-1/+4
| | | | | Fixes: 3b6ab660 ("ui: raise min SDK to 24") Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20251231Jason A. Donenfeld2025-12-311-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Updater: don't compile in updater when it can't be usedJason A. Donenfeld2025-12-311-0/+9
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* LogViewerActivity: remove unnecessary ?.Jason A. Donenfeld2025-12-311-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: upgrade all dependenciesJason A. Donenfeld2025-12-311-5/+5
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: raise min SDK to 24Harsh Shandilya2025-10-2012-83/+15
| | | | | | | | The difference between the usage of 21 and 24 is not big enough to hold on to all the baggage from API 21 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tunnel: add isAlwaysOn and isLockdownEnabledBrandon T2025-10-203-0/+50
| | | | | | | Signed-off-by: Brandon T <JustBrandonT@gmail.com> [Harsh: fix build and Javadoc errors] Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: losslessly optimize launcher iconsAnthony Ryan2025-10-2011-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using Efficient-Comprression-Tool we can reduce image size by 37.59KB (27%) with no visual change. compressed │ uncompressed │ ──────────┬───────────┼───────────┬───────────┤ size │ diff │ size │ diff │ path ──────────┼───────────┼───────────┼───────────┼─────────────────────────────────────────────── 75.2 KiB │ +75.2 KiB │ 0 B │ 0 B │ + 15.8 KiB │ -6.7 KiB │ 15.7 KiB │ -6.7 KiB │ ∆ res/mipmap-xxxhdpi-v4/ic_launcher.png 20.4 KiB │ -6.3 KiB │ 20.3 KiB │ -6.3 KiB │ ∆ res/mipmap-xxxhdpi-v4/ic_launcher_round.png 8.6 KiB │ -6.2 KiB │ 8.4 KiB │ -6.2 KiB │ ∆ res/mipmap-xhdpi-v4/banner.png 11.6 KiB │ -4.3 KiB │ 11.5 KiB │ -4.3 KiB │ ∆ res/mipmap-xxhdpi-v4/ic_launcher.png 15.2 KiB │ -4 KiB │ 15.1 KiB │ -4 KiB │ ∆ res/mipmap-xxhdpi-v4/ic_launcher_round.png 6.2 KiB │ -2.6 KiB │ 6.1 KiB │ -2.6 KiB │ ∆ res/mipmap-xhdpi-v4/ic_launcher.png 7.9 KiB │ -2.5 KiB │ 7.8 KiB │ -2.5 KiB │ ∆ res/mipmap-xhdpi-v4/ic_launcher_round.png 5 KiB │ -1.7 KiB │ 4.9 KiB │ -1.7 KiB │ ∆ res/mipmap-hdpi-v4/ic_launcher.png 6 KiB │ -1.5 KiB │ 5.8 KiB │ -1.5 KiB │ ∆ res/mipmap-hdpi-v4/ic_launcher_round.png 2.7 KiB │ -1,002 B │ 2.5 KiB │ -996 B │ ∆ res/mipmap-mdpi-v4/ic_launcher.png 3.2 KiB │ -918 B │ 3.1 KiB │ -918 B │ ∆ res/mipmap-mdpi-v4/ic_launcher_round.png ──────────┼───────────┼───────────┼───────────┼─────────────────────────────────────────────── 178 KiB │ +37.6 KiB │ 101.1 KiB │ -37.6 KiB │ (total) [0]: https://github.com/JakeWharton/diffuse/ Signed-off-by: Anthony Ryan <anthonyryan1@gmail.com> [Harsh: comparing APKs with Diffuse[0] shows modest but non-zero size savings] Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* build: upgrade all dependenciesHarsh Shandilya2025-10-201-9/+9
| | | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* gradle: upgrade to 9.1.0Harsh Shandilya2025-10-203-10/+6
| | | | | Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build(tunnel): update publishing setup for OSSRH deprecationHarsh Shandilya2025-10-201-6/+20
| | | | | | | | The newly added zipReleasePublication task will generate a ZIP file at tunnel/build/distributions/tunnel-$VERSION-maven.zip that can be uploaded to https://central.sonatype.com/publishing. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20250531Jason A. Donenfeld2025-05-311-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* QrCodeFromFileScanner: more efficiently downscale images and release memoryJason A. Donenfeld2025-05-311-44/+16
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* QrCodeFromFileScanner: catch OOM errorsJason A. Donenfeld2025-05-311-1/+1
| | | | | | | OutOfMemoryError is an Error which is a Throwable, but it isn't an exception. Try to catch it for downscaling by catching all Throwables. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* gradle: bump dependenciesJason A. Donenfeld2025-05-311-3/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* QuickTileService: wait for tunnels to loadJason A. Donenfeld2025-05-281-0/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* QuickTileService: handle onClick in applicationScopeJason A. Donenfeld2025-05-281-25/+38
| | | | | | This helps with the case where the TunnelManager is still loading. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20250523Jason A. Donenfeld2025-05-231-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TvMainActivity: link to cx file explorerJason A. Donenfeld2025-05-231-1/+4
| | | | | | | | | | | | | | | | | | | Google requires us to link to a specific file manager. We can't just open the app store. They keep rejecting the app otherwise. Annoying. Also, due to Android TV bugs, we also can't link to a prefilled search query of "file manager". Instead we must link to an actual file manager. Unfortunately, none of the open source file manager apps both support the TV interface and can act as a file chooser. So instead we pick what looks like the only decent one that doesn't have any in app purchases. Ugh. I don't like doing this. It's not an endorsement. I don't know much about who makes these. But what choice do we have? So doing this for now. Maybe we'll find some better solution or apply to be a file manager ourselves in the future. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20250522Jason A. Donenfeld2025-05-221-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tools: bump to wireguard-go 0.0.20250522 for major regressionJason A. Donenfeld2025-05-222-5/+3
| | | | | | Things were broken on kernels [4.19, 5.12). Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* DonatePreferences: use toUri() extensionJason A. Donenfeld2025-05-211-1/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tools: align to 16kJason A. Donenfeld2025-05-211-0/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tools: bump wireguard-tools to 1.0.20250521Jason A. Donenfeld2025-05-211-0/+0
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20250519Jason A. Donenfeld2025-05-191-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* gradle: update to agp 8.10Jason A. Donenfeld2025-05-191-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* MainActivity: don't reuse id names across layoutsJason A. Donenfeld2025-05-192-3/+3
| | | | | | | This causes problems on foldables. Reported-by: Josh Dague <josh3736@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: add missing xml copyright and opening tagJason A. Donenfeld2025-05-1960-56/+234
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* global: update copyright noticesJason A. Donenfeld2025-05-1993-93/+93
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelCreatorActivity: use proper xml for layoutJason A. Donenfeld2025-05-192-15/+17
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20250516Jason A. Donenfeld2025-05-161-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* gradle: update agp to 8.9.3Jason A. Donenfeld2025-05-161-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TunnelToggleActivity: suppress errors from prepare() in lockdown modeJason A. Donenfeld2025-05-161-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exception java.lang.IllegalStateException: Unavailable in lockdown mode at android.os.Parcel.createExceptionOrNull (Parcel.java:3031) at android.os.Parcel.createException (Parcel.java:3007) at android.os.Parcel.readException (Parcel.java:2990) at android.os.Parcel.readException (Parcel.java:2932) at android.net.IVpnManager$Stub$Proxy.prepareVpn (IVpnManager.java:1064) at android.net.VpnService.prepare (VpnService.java:290) at com.wireguard.android.activity.TunnelToggleActivity$onCreate$1.invokeSuspend (TunnelToggleActivity.kt:44) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:8) at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith (DispatchedContinuation.kt:155) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable (Cancellable.kt:12) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default (Cancellable.kt:12) at kotlinx.coroutines.CoroutineStart.invoke (CoroutineStart.java:80) at kotlinx.coroutines.AbstractCoroutine.start (AbstractCoroutine.kt:80) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch (BuildersKt__Builders_common.kt:52) at kotlinx.coroutines.BuildersKt.launch (Builders.kt:52) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default (BuildersKt__Builders_common.kt:52) at kotlinx.coroutines.BuildersKt.launch$default (Builders.kt:52) at com.wireguard.android.activity.TunnelToggleActivity.onCreate (TunnelToggleActivity.kt:14) at android.app.Activity.performCreate (Activity.java:8591) at android.app.Activity.performCreate (Activity.java:8570) at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1384) at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:4150) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:4325) at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:101) at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2574) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loopOnce (Looper.java:226) at android.os.Looper.loop (Looper.java:313) at android.app.ActivityThread.main (ActivityThread.java:8762) at java.lang.reflect.Method.invoke at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:604) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067) Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: set fitsSystemWindows=true for EdgeToEdge on API 35+Jason A. Donenfeld2025-05-164-14/+12
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* TvMainActivity: use OpenDocument instead of GetContentJason A. Donenfeld2025-05-161-3/+3
| | | | | | This should make it possible to open files on Android TV 14. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* version: bump1.0.20250515Jason A. Donenfeld2025-05-151-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui: sync translationsJason A. Donenfeld2025-05-1523-216/+799
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: crowdin now requires authJason A. Donenfeld2025-05-151-1/+7
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* tools: bump wireguard-go version to latest releaseJason A. Donenfeld2025-05-152-9/+11
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>