A lightweight DNS-over-HTTPS client for Android.
A local VPN that captures only DNS traffic and sends every query to the DoH server you choose (RFC 8484). Everything else goes through your normal connection.
Tip
If you find SparkleDNS useful, please consider giving it a ⭐ — it helps others discover the project.
- 🔌 One-tap connect/disconnect, with a Quick Settings tile
- 🔄 Switch servers on the fly — the tunnel restarts automatically
- 🚀 Built-in server test showing protocol and latency
- 📊 Live query monitor with stats, filters and one-tap blocking
- 📱 Per-app DNS — chosen apps bypass the tunnel
- 🚫 Custom blocklists — your own domains plus hosts/domain/AdBlock lists by URL (HaGeZi Pro++ and TIF presets)
- 🔓 No analytics, no Google Play Services
- F-Droid — install and update through the F-Droid client.
- Obtainium — installs the APK straight from Gitea releases and keeps it up to date.
- Manually — download the latest APK from GitHub or Gitea, allow installs from unknown sources for the app you open it with (Settings → Apps → Special access → Install unknown apps), then open the
.apkand confirm.
Every official APK is signed with the same key. Check it before installing:
apksigner verify --print-certs SparkleDNS-v<version>.apkThe SHA-256 fingerprint of the signing certificate must be:
42:F6:30:63:4B:D0:F8:7F:49:17:85:A8:84:87:70:E4:45:96:7B:36:F1:02:8E:FD:16:F8:F9:52:01:27:3A:29
apksigner prints the same value in lowercase without colons. On Android you can check it with AppVerifier (app ID cc.skysparkle.sparkledns).
Requires JDK 17+ and Android SDK 36.
./gradlew assembleRelease- Bump
versionNameandversionCodeinapp/build.gradle.kts(versionCode = major * 10000 + minor * 100 + patch). - Add
fastlane/metadata/android/<locale>/changelogs/<versionCode>.txt. - Tag the commit as
v<versionName>(for examplev1.0.9) — F-Droid detects new releases from these tags, so upload the signed APK to the release right away.
Bug reports, DoH server and blocklist suggestions, translation fixes and pull requests are welcome in the issue tracker. Please read CONTRIBUTING.md first — it explains what fits the project and how to send changes. To open an issue or a pull request, create an account on this Gitea.
.png)







