100 Commits
Author SHA1 Message Date
Zane Schepke 0dbf07c38a chore: release 5.7.5 2026-09-26 09:44:57 -04:00
Zane Schepke 6829d1e1ff refactor: bump core socket opts and tunnel healthy ack race 2026-09-26 07:25:00 -04:00
Zane Schepke 207ec7fca4 fix: in-app updater to use download manager when available
Uses Android's DownloadManager for the in-app updater to allow for background downloads and better Android integration/UX.
2026-09-26 03:22:22 -04:00
Zane Schepke 6d99959eec fix: auto tunnel partial tunnel teardown and sync
Fix moves auto tunnel reconcile logic to be shared with desktop in core. It now shares the same lock as tunnel coordinator to prevent conflicts with manual actions and prevent partial tunnel teardowns on new auto tunnel events.
2026-09-26 01:52:01 -04:00
Zane Schepke 5043b26b36 chore: release 5.7.4 2026-09-23 06:08:35 -04:00
Zane Schepke 2a5c49ff78 fix: bump core to fix 32-bit Android tunnel failures (especially Android TV) 2026-09-23 06:06:24 -04:00
Zane Schepke 0629b4d6df fix: bump core for amnezia padding fix and tunnel dns network handle race
Fixes a regression in amneziawg packet padding

#1480
2026-09-20 19:22:26 -04:00
Zane Schepke 5328c319e7 chore: release 5.7.3 2026-09-18 14:02:57 -04:00
Zane Schepke e8862e2ed9 fix: auto tunnel recovery on system kill, network identity stabilization
Fixes a bug where toggling notification while auto tunnel is running could cause a restart storm.

Fixes network identity stabilization issues for auto tunnel.

closes #1465
2026-09-18 13:56:29 -04:00
Zane Schepke dbd44a788f fix: underlay detection on samsung, stop on no network, and DoT tunnel DNS
Samsungs are not added as "problematic" devices as they can lie about underlying network state and fail to fire the proper callbacks while a VPN is active. Added to the problematic brands list so fallback to legacy detection temporarily to fix this issue.

closes #1477

Fixes a bug in network monitoring where we were reading stale state for determining when to disable on no network, especially with airplane mode toggles, which was causing tunnel flapping with auto tunnel.

closes #1469

Adds bitcoin lightning donation option.

Moves the location permission warning to the auto tunnel screen for more visibility in legacy and default detection modes.

Now shows proxy server addresses in the active tunnel details/statistics section.

Core bump also fixes timeouts and issues with DoT encrypted tunnel DNS.

closes #1460
2026-09-18 01:48:32 -04:00
Zane Schepke 4ab4e44ee8 fix: bump core to 1.6.0 for tunnel dns fixes 2026-09-10 19:40:43 -04:00
Zane Schepke cffdf465e2 refactor: move dns validator to core 2026-09-10 03:27:45 -04:00
Zane Schepke 251783921b fix: sanitize tunnel names for export that break file export 2026-09-08 00:51:05 -04:00
Zane Schepke 52b9fa312f fix: auto tunnel stop on captive portal flapping
Android can report false captive portal cleared/completed state on flaky networks which can cause tunnel flapping with the stop on captive portal feature. To prevent this, we now debounce captive portal clears waiting for a short duration of stable cleared state before reevaluating the auto tunnel action.
2026-09-07 22:52:54 -04:00
Zane Schepke 7b59fbb39a chore: release 5.7.2 2026-09-07 19:58:03 -04:00
Zane Schepke d445758331 fix: bump core for tunnel dns race and DoT fixes
closes #1460
2026-09-07 19:52:36 -04:00
Zane Schepke 5b9dc43f44 fix: core custom tunnel dns memory leak 2026-09-06 04:41:47 -04:00
Zane Schepke 1c4fa40c04 chore: release 5.7.0 2026-09-05 00:43:07 -04:00
Zane Schepke 19685b5123 fix: stop on no network bug
Fixes a bug where airplane mode detection was not properly clearing and coordinated with the active underlay network caching.

Fixes a bug where our stop on no internet job was getting reset by other states.

closes #1455
2026-09-04 05:21:09 -04:00
Zane Schepke 0d6f378d37 refactor: move auto tunnel engine and config reconcilers to core 2026-09-04 04:06:09 -04:00
Zane Schepke 8e872b5841 docs: update feature list for Amnezia 3.1 and DNS features 2026-08-31 17:03:54 -04:00
Zane Schepke 931fbb9d6d fix: bump core for tunnel split dns policy bugfix
closes #1384
2026-08-31 16:42:05 -04:00
Zane Schepke 1fe713a907 docs: add core build directions 2026-08-31 16:37:50 -04:00
Zane Schepke 93ef071a1e ci: fix format check for PRs 2026-08-31 15:40:25 -04:00
Zane Schepke 629036cb75 fix: bssid aware network key 2026-08-31 14:25:10 -04:00
Zane Schepke 06c6e8cf73 chore(deps): bump orbit, aboutlibraries, agp
closes #1449
closes #1447
2026-08-31 12:54:42 -04:00
Zane Schepke 02b602457a build: remove old eu string 2026-08-26 22:59:11 -04:00
Zane Schepke 83cc0cabbd chore: release 5.6.0 2026-08-26 17:35:01 -04:00
Zane Schepke 0f386c352e chore(deps): bump aboutlibraries
closes #1429
2026-08-26 16:25:29 -04:00
Zane Schepke 1e95c8fef3 fix: amnezia 3.1 properties, parsing ipc
closes #1428
2026-08-26 14:14:23 -04:00
Zane Schepke ce8e58af1c feat: amneziawg 3.1 support
closes #1428
2026-08-26 04:22:08 -04:00
Zane Schepke 0bef3d78a9 chore: README badge colors 2026-08-24 04:55:16 -04:00
Zane Schepke 8bebd49bd2 chore: update README 2026-08-24 04:47:46 -04:00
Zane Schepke 661a6ed0b5 chore: release 5.5.0 2026-08-24 03:47:42 -04:00
Zane Schepke 0309017ee3 refactor: notify on active tunnel feature toggles 2026-08-24 03:40:55 -04:00
Zane Schepke c7bd0b4f66 feat: seamless recovery tuning
Seamless recovery can now be tuned two various delay intervals by users.

Fixes:

This core version fixes a bug where valid Amnezia packet signatures would fail parser validation.

Fixes a bug where IPv6 endpoint recovery would not fire in situations where network is a valid candidate for upgrade but tunnel was repaired by IPv4 fallback. IPv6 now always tries once and only once on networks that support IPv6 if the peer endpoints are currently IPv4.

Fixes DNS resolution bug for IPv6 only endpoints.

Uses the new core logging level configuration.

Fixes a bug where stats and live config state was not updating properly with tunnel monitoring interval.
2026-08-24 02:43:50 -04:00
Zane Schepke 8dc51ab83e fix: bump core, fix suffixes description
closes #1422
closes #1384
closes #1334
2026-08-22 05:38:45 -04:00
Zane Schepke ecafc05c50 chore: bump gradle, agp 2026-08-21 23:20:10 -04:00
zaneschepke e03b054774 chore: release 5.4.0 2026-08-19 00:48:04 -04:00
zaneschepke 30ea850c44 chore: update readme amnezia support version 2026-08-19 00:06:29 -04:00
zaneschepke a534819c06 refactor: foreign dns naming to transit dns 2026-08-18 23:18:57 -04:00
zaneschepke 5db1fc1a7a ci: add nightly dispatch for fdroid repo 2026-08-18 05:52:16 -04:00
zaneschepke 70924980db feat: daily app update check and notification for standalone app flavor 2026-08-18 02:35:18 -04:00
zaneschepke cddd5149f0 fix: file name import bug and Android TV import error messaging
Fixes and index out of bounds bug on file name import and improved Android TV error messaging on file import edge cases.

closes #1148
2026-08-18 01:15:45 -04:00
zaneschepke 6486cd60fb fix: tile refresh crash in work profile for some android devices
closes #1269
2026-08-18 00:46:30 -04:00
zaneschepke 64b8f33de5 feat: add user configurable foreign dns and dns suffix policy options
closes #1401
closes #1384
2026-08-18 00:33:20 -04:00
zaneschepke dae1df5887 fix: bump core to 1.1.5
Pulls in fix for #1416.

closes #1416

 https://github.com/wgtunnel/core/commit/852ad2b40abb5a6decea1303332486c0a5974ab9
2026-08-17 00:30:03 -04:00
zaneschepke 1bedaba32b chore: release 5.3.1 2026-08-15 03:21:30 -04:00
zaneschepke 6c37a26bec fix: ipv6 recovery, kill switch settings change when active tun, lockdown and split tun dns failures
Fixes ipv6 recovery bug where recovery was not properly triggering.

Fixes a bug where changes to lockdown settings while a tunnel is active could break the kill switch tunnel bridge.

Fixes a bug where plain dns in our dns hijack (during lockdown or split dns w/plain) would cause DNS resolution loops, preventing resolution.

Fixes a bug where IPv6 tunnel DNS in plain DNS hijack would fail due to missing bracketing.
2026-08-15 03:15:50 -04:00
zaneschepke ec4b486cea ci: fix release notifications 2026-08-14 02:43:46 -04:00
zaneschepke a8edde0ee8 chore: fix fastfile for missing metadata files 2026-08-14 02:37:10 -04:00
Zane Schepke e525f9f2b2 chore(lang): New Crowdin updates (#1411) 2026-08-14 01:53:24 -04:00
zaneschepke 21cb4ee69f refactor: IPv6 endpoint settings, fallback is now automatic for ipv6 preferred endpoints 2026-08-14 01:36:09 -04:00
zaneschepke 640e831906 ci: fix crowdin fastlane mappings, play metadata publish to separate workflow 2026-08-14 01:14:47 -04:00
zaneschepke 2e574c563a chore: release 5.3.0 2026-08-14 00:37:47 -04:00
zaneschepke 71ae16802c fix: bump core for boottime go runtime patch
Bump nav, appcompat, and compose
2026-08-14 00:31:59 -04:00
zaneschepke 8571b4ef9b fix: export .conf mimetype and legacy downloads export snackbar message
closes #902
2026-08-13 12:51:29 -04:00
zaneschepke 3e2ebb5b1c fix: sticky service restore and package replace restore
Tunnels and auto tunnel now properly restore on start sticky scenarios when the service is killed and when package is replaced.

closes #1259
2026-08-13 05:13:18 -04:00
Zane Schepke c00afcbfdc feat(lang): new Crowdin updates (#1410) 2026-08-13 01:22:51 -04:00
zaneschepke 26861aa6f3 ci: fix fastlane to ignore incomplete metadata 2026-08-13 00:43:15 -04:00
zaneschepke 04c7e287e9 chore: fix fastlane for crowdin skip untranslated 2026-08-13 00:41:26 -04:00
zaneschepke ae043d6014 fix: Android TV export flow to legacy downloads export
Refactor of config export to a single flow.

Always assume SAF is not available on Android TV as it can be falsely reported to be supported. Fallback to legacy downloads export.

closes #902
2026-08-13 00:05:47 -04:00
zaneschepke 5526260629 chore: fix crowdin fastlane mappings 2026-08-12 02:57:05 -04:00
zaneschepke b12173ab6e chore: add basque language code mapping 2026-08-12 02:37:41 -04:00
zaneschepke 1eff703bfc chore: fix crowdin config 2026-08-12 02:16:21 -04:00
zaneschepke 827e7301aa Merge branch 'master' of github.com:wgtunnel/wgtunnel 2026-08-12 01:12:54 -04:00
zaneschepke f14db97a49 chore: fix crowdin config locale mapping 2026-08-12 01:12:26 -04:00
Zane Schepke 48d94e5320 Update Crowdin configuration file
[ci skip]
2026-08-12 01:01:10 -04:00
zaneschepke a2695c8b44 chore: trigger Crowdin source sync 2026-08-12 00:57:39 -04:00
Zane Schepke eeb886f830 feat(lang): new Crowdin updates (#1359)
Removes all english placeholders
2026-08-12 00:19:16 -04:00
zaneschepke c0922a210b feat: amnezia 3.0 support
Changes to 1.1.0 add Amnezia 3.0 support to the config parser. UI has also been updated to support Amnezia 3.0 values.

closes #1408

Additional fixes:
- Fixes race during tunnel bootstrap that could leave an orphaned tunnel
closes #1407
- Fixes bug where initial tunnel state could be lost due to a tunnel handle mapping race
closes #1404
2026-08-11 23:30:36 -04:00
zaneschepke 4e344b2e65 fix: android tv and legacy device file exports
closes #902
closes #970
2026-08-11 17:41:00 -04:00
zaneschepke b647b39eaa fix: gamepad google play warning
closes #1393
2026-08-11 03:09:06 -04:00
zaneschepke 71b1466b56 fix: ddns failing to retry after detecting no change
closes #1402
2026-08-11 02:46:19 -04:00
zaneschepke d552abc3e8 fix: missing core deps 2026-08-10 23:06:45 -04:00
zaneschepke 59869e0333 chore(deps): bump ksp, ktfmt, gradle wrapper
closes #1403
closes #1400
closes #1399
2026-08-10 18:13:03 -04:00
zaneschepke 373022412b refactor: migrate to new shared backend and core 2026-08-10 18:01:29 -04:00
zaneschepke d349aeef52 chore(deps): bump navigation3, ktor client 2026-08-02 00:31:27 -04:00
zaneschepke 6076994a22 fix: config import validation and ip4p parsing
closes #869
2026-08-02 00:23:55 -04:00
zaneschepke 86d77488ee fix!: seamless recovery, DDNS recovery, and IPv4/IPv6 fallback/recovery
Seamless recovery was far to aggressive in doing full tunnel bounces in the old implementation. The feature has now been integrated into a more broad recovery job with decoupled individual recovery paths that respect a recovery hierarchy of DDNS recovery first (if enabled), IPv4 fallback second (if ipv6 preferred and active), and only full bounce when all else fails. The feature is now also gated to only work when the device is interactive/not asleep to prevent false positives.

Additionally, the first implementation of seamless recovery was very crude. It performed fresh DNS request for tunnel endpoints because it didn't have a caching mechanism. The same for IPv4/Ipv6 fallback and recovery. This has been fixed by reintroducing the user setting for tagging a tunnel as a DDNS tunnel (BREAKING CHANGE for DDNS users). For the seamless recovery path, we now only make a fresh DNS request if the user has flagged the tunnel as a DDNS tunnel. IPv6 and IPv4 fallback and recovery still respect the cache in all scenarios.

Seamless recovery now properly only fires after 30 seconds of persistent handshake failures while the phone is interactive.

closes #1373
2026-08-01 15:42:40 -04:00
zaneschepke 13171ed1bb fix: old handle not properly cleaned up in tunnel bounce scenarios 2026-07-28 13:12:36 -04:00
zaneschepke 2a0209d609 fix: seamless recovery should only fire if we detect a usable network
Before, seamless recovery would fire if we detect any network. It should really only be triggering if we detect a usable network that has internet connectivity.
2026-07-28 13:07:16 -04:00
zaneschepke 3e17c12d37 chore(deps): bump agp
closes #1382
2026-07-25 02:34:06 -04:00
zaneschepke f585050bf2 chore: release 5.2.1 2026-07-23 03:52:41 -04:00
zaneschepke 38093c3048 chore(deps): update sonner 2026-07-23 03:50:44 -04:00
zaneschepke d65c43eb9e fix: selected tunnels should consume and clear selected on back
On back press/swipe, we should clear selected and consume the back instead of exiting the app
2026-07-23 03:42:36 -04:00
zaneschepke a456b2e510 refactor: add chevron for app mode 2026-07-23 03:20:18 -04:00
zaneschepke 34edc47afe refactor: improve UI divider with a chevron
Match Android to denote another deeper screen
2026-07-23 03:03:03 -04:00
zaneschepke 554f83744a fix: hide Wi-Fi details if they are android defaults
To prevent confusion, Wi-Fi details that are Android defaults should be hidden from user

closes #1377
2026-07-23 02:40:33 -04:00
zaneschepke 8e41986809 fix: attempt to fix wifi change detection on problem oems while vpn active
Certain OEMs fail to fire any wifi network change callbacks while a VPN is active. To get around this, we query all networks for these devices on defaultNetwork change to see if there is a Wifi network available and fallback to legacy mode if we are in default mode as the all networks capabilities won't have location restricted details
2026-07-23 02:00:49 -04:00
zaneschepke 6122b21b05 chore: release 5.2.0 2026-07-22 03:15:37 -04:00
zaneschepke a32da7b758 feat: IP4P support
App now properly checks for IP4P IPv6 addresses and get the real IPv4 peer endpoint and port from the natmap format address

closes #1127

#869
2026-07-22 01:13:01 -04:00
zaneschepke d3b72f0421 fix: tunnel dns ui bug when moving from split to encrypted
Plain should now show as an option under encrypted settings
2026-07-22 00:35:53 -04:00
zaneschepke 69ca4ab0aa fix: stats job failed to find tunnel bug
Fixes bug in the stats job that could cause high CPU turn and drain battery if handle is missing before job is canceled

closes #1375
2026-07-22 00:18:21 -04:00
zaneschepke ff3607f5cc fix: auto tunnel BSSID exact match bug
BSSID exact match was properly finding the first exact match but then we were failing to start the tunnel

closes #1369
2026-07-21 03:00:02 -04:00
zaneschepke f25887fb18 fix: making the split tunnel screen aware of package installs and removals
The split tunneling screen was not properly updating the cache when the user installed packages or removed packages.

closes #1372
2026-07-21 02:49:28 -04:00
zaneschepke 15f12a064d refactor: migrate deprecated orbit api 2026-07-21 00:58:02 -04:00
zaneschepke a1b4f4752f fix: make exclude lan feature private IP DNS server aware
Fixes bug where exclude lan was not private DNS aware. This caused private IP DNS servers to be excluded from the tunnel and break or leak DNS

closes #799
2026-07-21 00:32:06 -04:00
zaneschepke 4f08b9a6d9 fix: bssid should always be normalized to uppercase
closes #1371
2026-07-20 23:10:32 -04:00
zaneschepke c30a2eed95 chore: bump quickie and aboutlibraries
closes #1367
closes #1366
2026-07-20 23:05:44 -04:00