A lightweight, open-source DNS changer for Android.
AeroDNS changes the device DNS resolver through Android's VpnService API. It is designed to route only DNS traffic, keeping ordinary application traffic on the device's underlying network.
- One-tap DNS connect and disconnect
- Standard DNS and DNS-over-HTTPS (DoH)
- Built-in Cloudflare, Google, AdGuard, OpenDNS, and Quad9 profiles
- Custom IPv4, IPv6, and DoH resolvers
- Parallel DNS latency testing
- Quick Settings tile
- Automatic recovery after network changes
- OLED-friendly Jetpack Compose interface
- No ads, analytics, accounts, or VMCSoft-operated DNS servers
For standard DNS, AeroDNS establishes a VPN interface with the selected DNS servers and no default route for normal application traffic.
For DoH, the app exposes a virtual DNS address at 10.0.0.1, routes only that address into the VPN interface, and forwards DNS packets to the selected HTTPS resolver through protected sockets on the underlying network.
Important
AeroDNS is a DNS changer, not an anonymity service or a full-tunnel VPN. Your selected DNS provider can observe your DNS queries, and non-DNS traffic does not pass through AeroDNS.
See Architecture for the technical model and current protocol limitations.
Requirements:
- JDK 17
- Android SDK Platform 36.1
- Android Studio or the included Gradle wrapper
git clone https://github.com/vmcsoft/aerodns.git
cd aerodns
./gradlew assembleDebugInstall a connected-device build:
./gradlew installDebugRun the local test suite:
./gradlew testDebugUnitTestMore validation scenarios are documented in Testing.
AeroDNS does not operate a backend and does not collect telemetry. DNS queries are sent directly to the resolver selected by the user. Read PRIVACY.md for the complete data-flow summary.
Custom DoH profiles include an advanced, opt-in certificate-verification override for resolvers that cannot use Android's normal trust store. It is disabled by default, isolated from built-in providers, and exposes DNS traffic to interception when enabled. See SECURITY.md before using or modifying this feature.
Please report vulnerabilities privately through GitHub Security Advisories.
Bug reports, documentation improvements, tests, and focused code contributions are welcome. Read CONTRIBUTING.md before opening a pull request.
By participating, you agree to follow the Code of Conduct.
Copyright 2026 VMCSoft and AeroDNS contributors.
Licensed under the Apache License 2.0.
