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
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
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.
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
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.
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.
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
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
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
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.
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
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
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