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
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
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
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#572closes#1128closes#1370closes#1341#1363
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
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#1295closes#1036
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
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.
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