Skip to content

AeroDNS app icon

AeroDNS

A lightweight, open-source DNS changer for Android.

Android CI Apache-2.0 license Android 7.0+

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.

Features

  • 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

How it works

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.

Build from source

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 assembleDebug

Install a connected-device build:

./gradlew installDebug

Run the local test suite:

./gradlew testDebugUnitTest

More validation scenarios are documented in Testing.

Security and privacy

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.

Contributing

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.

License

Copyright 2026 VMCSoft and AeroDNS contributors.

Licensed under the Apache License 2.0.

About

Open-source Android DNS changer with DNS-over-HTTPS, split tunneling, and Quick Settings support.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages