Private DNS Quick Toggle
1.11.0 · GitHub
More about this app
Quick settings tile to switch active private DNS server
Private DNS Quick Toggle
A quick settings tile to switch your private dns provider. Supports any number of providers. Makes it easy to turn adblocking dns servers on or off with just a single tap.

Installation
IzzyOnDroid (Recommended, will enable auto-updates on Android 12+)
- Install an F-droid client such as Droidify or the official F-Droid client
- Verify that IzzyOnDroid repo is added and enabled
- Search for the full app name "Private DNS Quick Toggle" and install it
GitHub Releases
Get the latest apk on the releases page
Activation
To change the system DNS options the app requires android.permission.WRITE_SECURE_SETTINGS permission. There are multiple ways to provide it.
Automatic (Shizuku)
- Install and start Shizuku.
- Start the app and allow Shizuku access when prompted.
Manual
For the app to work properly you'll need to provide it permissions via ADB:
- Get to your PC and download platform tools from google here.
- Extract the tools, and open terminal in the same directory (Windows guide, macos guide).
- Turn on USB Debugging on your phone (This may require different steps, for Xiaomi you also have to enable
USB Debugging (Security settings), but generally this video guide should work on most phones) - Connect your phone to your PC
- Run this command in the terminal
./adb shell pm grant ru.karasevm.privatednstoggle android.permission.WRITE_SECURE_SETTINGS
- That's it, you should have the app installed.
Contributing
Translation
The easiest way to contribute would be to submit a translation to your language. Thanks to Weblate gratis hosting for open-source projects you can do it without any programming knowledge on their website.
Translation status
Code
If you want to contribute code please try to adhere to the following guidelines:
- Include javadoc comments for all the public methods you add
- Keep the code neatly formatted, you can you the built-in Android Studio formatter
- Please describe what your code does and how does it do that when sending a PR
- Before sending a PR please test your change on the oldest and latest supported Android versions (9 and 14 at the time of writing)
How Shizuku is used
Can switch private DNS mode and server through `Shizuku`
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used to change the system private DNS configuration.
- Switch DNS mode: users can switch the system private DNS mode between off, automatic and private hostname from the quick settings tile, shortcuts or in-app dialog, applied through Shizuku.
- Change DNS server: users can cycle through saved DNS hostnames and apply the selected hostname as the active system private DNS provider, applied through Shizuku.
Android APIs or commands used
IPermissionManager.grantRuntimePermissionIPackageManager.grantRuntimePermissionSettings.Global.putString
Changelog
What's new for version 1.11.0
What's Changed
Shortcuts feature
The app now features 2 shortcuts you can use.
Next server/mode does exactly the same action as the quick toggle itself
Switch mode adds a new ability to switch only the mode (Off, Auto, Private) without switching the active server. This allows you to quickly toggle the private DNS feature without cycling through all the added servers.
Thanks to @InfiniteCoder06 for laying the groundwork for this feature.
As of now the shortcuts cannot be called from third party software, I am currently investigating a way to make this possible without compromising on security.
Translations
Thanks to the following users for submitting translations:
- Chinese (Traditional Han script)
- 張恩愷 (kevin0910305)
- Jia-Bin (@OrStudio)
- Hungarian
- Pacuka (@Pacuka)
- Italian
- Champ0999 (@Champ0999)
- Serbian
- zivojin kuzmanovic (kuzmanovic.zivojin2)
- Ukrainian
- Dmitriy (@dmytro-kerest)
- Vietnamese
- tuấn nguyễn (nguyentuan9834nblkh)
Other changes
- Updated libraries and targetSdk for Android 16
- Added a list of used open-source libraries
Full Changelog: https://github.com/karasevm/PrivateDNSAndroid/compare/v1.10.0...v1.11.0
Permissions
3 permissions requested