Hi there!
I've just released a new open-source Android app called DNS Toggle over on IzzyOnDroid (I'm still waiting for it to get added to F-Droid's main repository).
And though I am fairly confident in my code, I do not currently have a rooted device to test the `WRITE_SECURE_SETTINGS` permission prompt that it requires to modify the phone's DNS settings. If anyone could take a minute to test it and tell me if they encounter any issues, it would be great!
The app it doesn't store, collect, or share any personal data, and you can check out the source code over on GitHub.
About the App
The app adds a quick settings tile to easily toggle your phone's private DNS setting on and off with a single tap.
For those who may not be familiar with this setting, one of the main uses for private DNS is content filtering (ad blocking or simply blocking dangerous domains for security) and better privacy (default DNS providers often track your activity). You can do this for more or less free using services like NextDNS.
I've also built in some optional advanced features that you can access by long-pressing the tile:
- Custom DNS:
Set your own custom hostname for Private DNS (e.g.,dns.adguard.com). - Wi-Fi Blocklist:
Automatically disable private DNS when you connect to specific Wi-Fi networks. This comes in handy with public Wi-Fi networks (hotels, cafes, etc.) that rely on DNS tricks to serve a login page, which usually break when private DNS is enabled.
You can even automate adding/removing Wi-Fi network names (SSIDs) from this list. - Hide App Icon:
Because I hate having tons of apps I never actually need to open listed on my phone, I've made it so you can hide the app from the launcher drawer.
⚠️ Just in case, if your device is not rooted, you can easily grant it manually using this ADB command: adb shell pm grant com.ericlowry.dnstoggle android.permission.WRITE_SECURE_SETTINGS