74 Commits
Author SHA1 Message Date
Zane Schepke 234359dfb9 fix: gate location flag on location permission granted
This prevents throttling and network detection inconsistencies.
2026-10-08 22:45:55 -04:00
Zane Schepke cebac72044 feat: tunnel in a tunnel multihop
This core bump also fixes several bugs.

closes #936
closes #1510
closes #1505
closes #1503
2026-10-08 12:43:24 -04:00
Zane Schepke 07f22496a7 fix: remove client associated check for Android Auto
#1494
2026-10-05 12:41:51 -04:00
Zane Schepke 6879ddca8e fix: auto tunnel network detection for problem OEMs
#1499
#1494
2026-10-05 04:30:09 -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 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 629036cb75 fix: bssid aware network key 2026-08-31 14:25:10 -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 373022412b refactor: migrate to new shared backend and core 2026-08-10 18:01:29 -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 4f08b9a6d9 fix: bssid should always be normalized to uppercase
closes #1371
2026-07-20 23:10:32 -04:00
zaneschepke 412c249629 feat: split dns, encrypted tunnel dns
Adds a new dependency on our core library for a tunnel wrapper that allows split dns and encrypted tunnel dns

Fixes a bug in network monitor where the active underlying network was incorrectly set on VPN toggles, cause issues with auto tunneling and other features

Fixes a bug with lockdown mode where the tunnel's DNS servers were not being used and a kill switch default DNS server was being used

closes #572
closes #1128
closes #1370
closes #1341

#1363
2026-07-20 03:15:21 -04:00
zaneschepke dbfaa3d657 chore: code formatting 2026-07-15 03:41:08 -04:00
zaneschepke ff58ffba11 fix: network detection race during vpn starts
Fixes race specifically with Wi-Fi networks where vpn starts could overwrite our SSID and BSSID values with android defaults
Make underlying/active network detail caching logic more robust for all detection modes
2026-07-15 02:03:44 -04:00
zaneschepke 71712c09c1 feat: seamless recovery
DDNS, IPv4 recovery and seamless roaming have all been merged into the new seamless recovery feature. There were a lot of overlaps and edge cases that were best solved by the nuclear seamless recovery feature

Kotlin side now maintains ownership of the vpn service interface fd, preventing the closure of the interface while the seamless recovery feature closes and recreates the wireguard tunnel device, allowing maintained protection from leaks throughout the bounce process

This feature solves various network and tunnel issues including DDNS changes, network migration issues, NAT issues, Amnezia mimic packet issues, etc that were traditionally solved by a full vpn interface and tunnel destruction

closes #1295
closes #1036
2026-07-10 04:46:14 -04:00
zaneschepke d24a172921 feat: auto tunnel bssid support
Added support for auto tunneling based on BSSID. On conflict with SSID, BSSID takes precedence.
Added support for root shell and shizuku to also query BSSID along with SSID.
Added wildcard support and tunnel mapping for BSSIDs.
Various small UI/UX improvements to auto tunnel Wi-Fi settings and tunnel mapping.

closes #115
2026-07-05 05:00:17 -04:00
zaneschepke d33820d2cf fix: active network initial detection race
Add BSSID detection for all Wi-Fi detection methods making BSSID and SSID a single root shell/Shizuku shell query.

#115
2026-07-04 15:29:16 -04:00
zaneschepke 7c66aea5ea fix: make seamless roaming aware of relevant Wi-Fi AP roams
Improves active SIM detection in dual sim scenarios

closes #1134
2026-07-04 04:33:35 -04:00
zaneschepke 614f97fd14 feat: add disable tunnel on captive portal to auto tunnel
Refactor of network monitoring and auto tunnel logic to adapt to the lest strict network monitoring of active network to support system DNS.

Add disable tunnel on captive portal feature to allow auto disable of vpn while captive portal is not completed.
2026-06-29 12:08:34 -04:00
zaneschepke fbd470f5d2 fix: make network monitor less strict for network capabilities
Network monitor was too strict with capability checks, impacting our DNS resolver which needs to bind to underlying network. Capabilities have been separated out into a separate state property so we always pass the active network to connectivity state for system dns

Improve system dns by supporting DnsResolver on modern devices

#1270
2026-06-28 13:41:08 -04:00
zaneschepke 5f89b2ed31 refactor: improve mobile network detection, cleanup network monitor
#1270
2026-06-28 04:52:41 -04:00
zaneschepke 77f8a8215b fix: improve mobile network detection for dual sim setups 2026-06-23 11:18:31 -04:00
zaneschepke ac17a09e19 build: fix configuration cache issues 2026-06-17 05:42:28 -04:00
zaneschepke cc3c865211 build: migrate to jvm 21 2026-06-17 03:31:28 -04:00