Fixes bug where control tile tunnel did not match with tunnel being controlled Closes#132
Fixes tunnel config edit screen error message #131
Revert to official lib to fix slow speeds issue Closes#137
Adds local app lock feature Closes#88
Adds restart vpn on ping fail with 1 minute interval and 60 minute cooldown Closes#6
Adds ability to easily make a copy of a tunnel.
Fixes bug on AndroidTV where tunnels were not being deleted properly.
Fixes bug where auto tunneling could be turned on before VPN permission was given.
Migrated app to a forked version of wireguard-android to enable development work on features that require changes to the core lib, like #107#104#87#52#6
Improved first launch flow by change vpn permission to only launch on first tunnel start
Changed to proper database seeding strategy
Updated README to account for GitHub packages auth requirement
Migrated from deprecated UI components and libs
Bump versions
Fixes a bug where after toggling a tunnel so many times it would eventually get stuck in the on position. This was also impacting auto-tunneling reliability.
Fixes a bug where clicking the email button on the support page would not populate the "to" email field.
Fixes a bug where you could not save a tunnel without having configured DNS.
Added a dialog to prompt user if they are deleting a tunnel.
Added battery optimization disable request when first launching auto-tunneling.
Format to kotlinlang standards.
Fix ci google play deploy.
Closes#63
Improved AndroidTV navigation to be less clunky and more streamlined
Added auto-tunneling pause feature to UI to allow of quick auto tunneling pauses.
App shortcuts and quick tile also override auto tunneling by engaging pause for temporary override of VPN purposes.
Fixed bug where auto start on reboot was not working on older devices and AndroidTV.
Fixed bug where location services is prefenting some flavors of Android from using auto-tunneling.
Fixed bug where location permissions were not being detected correctly on AndroidTV versions.
Fixed bug where quick tile could become out of sync.
Improved notifications to show proper state of auto-tunneling and vpn.
Removed excessive vibration from notifications.
Improved error handling.
Closes#75Closes#73Closes#61Closes#53Closes#30
Added basic kernel support to allow users to switch between userspace and kernel wireguard
Improved location disclosure flow to only show once once per app install
Fix airplane mode bug
Improve database migration testing
Fix auto-tunneling permission bug.
Lint
Closes#67Closes#43
Removed Details screen and moved tunnel statistics to be shown on expansion of a tunnel config row
Fixes bug where not scanning a QR code could cause app to crash when navigating back from camera view
Remove vibrations from notifications
Improve navigation of settings screen on AndroidTV
Fixes bug where commas in SSID names were splitting into multiple SSIDs due to database type converters.
Closes#48
Fixes bug where F-Droid pipeline was failing to build due to lack of proguard rule. Closes#47
Fixes bug where crashes could happen if config QR code or file has improperly configured data.
Bump versions.
Fixes a bug where config changes were saving on the wrong thread, causing a failure to save changes.
Fixes a bug where the quick tile could cause a crash by initializing the tile state before it was ready.
Added the ability to turn on and off tunnels via intents to the shortcut activity.
Added a setting to enable or disable shortcut/intent control of tunnels.
Added an experimental battery saver setting to auto-tunneling to fix the battery drain issue caused by wakelock.
Fixes a bug where sometimes the config screen could crash if there are issues parsing the tunnel config data.
Database migration
Added support for importing zip files containing multiple config files.
Closes#33
Added support for exporting all config files to downloads folder as a zip with biometric or security pin approval.
Added support for editing or viewing private key with biometric or security pin approval.
Fixed a bug where VPN status indicator functionality was unintentionally disabled.
Other various enhancements and refactors.
Fixes bug causing crashes when importing a file that is not a .conf file.
Fixes file import on AndroidTV and FireTV
Closes#39
Fixes usability issue on AndroidTV where textboxes immediately open the keyboard on hover.
Allows users two keypress access to turning on tunnels from app load.
Closes#36
Improves service efficiencies by making coroutines lifecycle aware.
feat: Change config screen UI to accommodate editing of all fields.
Change config screen to allow the addition of new peers.
Closes#31
Change main screen to denote primary tunnel with star.
Change main screen tunnel options to allow changing tunnel to primary.
feat: Change settings screen UI to improve usability.
Closes#32
fix: Change application shortcuts to static shortcuts for the primary tunnel.
Remove dynamic shortcuts.
Closes#38
fix: Database changes from the previous version causing crashes.
#40#37
fix: bug on detail screen where tunnel name was not showing
feat: Change button color when hovering on AndroidTV to improve visibility
#36
fix: Change file importing method to fix bug on FireTV
Closes#39
docs: update README with new screenshots
Fixes bugs where trusted SSIDs were getting whitespace added every time they were saved to the DB.
Fixes file explorer bug on AndroidTV where the app crashes if they do not have a file explorer installed on the device.
Adds settings feature to enable auto tunneling on ethernet connections.
Add alphabetical sorting for split tunneling packages
Fix bug where search was not searching by displayed label but by package name
Other refactoring and improvements.
Closes#29Closes#27Closes#28
Migrated app from using ObjectBox library for db to Room as ObjectBox is not FLOSS compliant.
Migrated app to using version catalog for managing dependancies.
Added floss build flavor for F-Droid and general build flavor for all other builds. Floss build excludes google analytics and crashlytics.
Other performance improvements and refactors.
Add support for Android 8.
Fix shortcuts bug where it was toggling auto-tunneling without setting enabled.
Fix shortcuts name not updating with config edits.
Bump versions.
Closes#25
Attempt to fix startForegrounService causing crashes on some devices by not meeting the 5 second notification rule. Add notification to onCreate of services.
Limit startForeground to only be called where it is truly necessary in the TileService to allow starting the VPN while app is not running.
Attempt to manually initialize mlkit for QR code scanning to remediate some crashes caused by config scanning.
Fixes a bug where older device take a longer time to launch the foreground service and connect to the VPN. Combined with a delayed launch of foreground notification until VPN connection is confirmed, this would break foreground service,s 5 second notification rule.
Fixed by adding a new attempting connection notification to launch on vpn initial connection attempt.
Add dynamic on and off shortcuts for each new tunnel added. Shortcuts will toggle auto tunneling to allow manual override.
Add package search for split tunneling.
Add tunnel toggling from tile even while app is closed and auto tunneling is disabled.
Refactor and code cleanup.
Closes#23Closes#21
Change tile toggle behavior to also toggle auto tunnel service to allow user temporary override and re-enablement of auto tunnel from the tile.
Add tunnel name to tile.
Fix bug where wifi networks without internet access were impacting auto tunneling determinations.
Closes#22
Add quick settings tile for easy tunnel toggling and auto-tunnel override.
Fix bug on AndroidTV D-pad tunnel control for multiple tunnels.
Closes#18 , Closes#20
Fixes an issue where watcher service had the potential to crash on older devices if the job was not initialized fast enough.
Optimize imports.
Bump versions.
Added support for Android 9 by updating permission checks and wifi SSID logic.
Fix bug where setting screen was cut off on AndroidTV by updating padding values.
Bump wireguard-android library version.
Closes#13, Closes#16
Fixes issue where rapid network switching could cause unexpected VPN connections and disconnection. Fixed by changing from real time network VPN triggers to three second interval checks.
Attempts to optimize battery drain while VPN connected by switching VPN statistics gathering to 10 second intervals.
Closes#11, Closes#12, Closes#10
Allows app be fully navigated via D-pad on AndroidTV (with some quirks)
Adds precise location check to setting screen as WiFi-SSID is not readable without this permission.
Closes#2
Added support for Android TV
Added support for Always-On VPN in settings
Fixes bug where handshake notification is not dismissed after successful handshake
Fixes bug that allowed you to use Auto tunneling without Location Services enabled. Now checks for Location Services before allowing access to feature.
Closes#2, Closes#5, Closes#8
Fixes not being able to scroll when in landscape mode if content is off screen.
Fixes FAB being in the way of controlling tunnels by making it disappear on scroll down.
Bump targetSdk to 34
Adds details screen which display details of tunnel configuration as well as last handshake and rx/tx of peer.
Adds last handshake monitoring with statuses and thresholds.
Adds handshake/connection notifications based on last successful handshake.
Adds status LED next to tunnel on main screen.
Fixes bug where first click on QR code could result in nothing happening if QR code module is being downloaded. Now shows message to user.
Fixes bug where changes made after editing tunnel were not propagated to settings if that tunnel was configured as the default tunnel.
Fixes bug causing crash if wrong config file selected
Update README
Closes#7, Closes#6