BlockAds: Free, Open-Source Android Ad Blocker
GitHub Repo
GNU GPL v3.0
July 15, 2026 at 08:22 PM
0 views

BlockAds: Free, Open-Source Android Ad Blocker

@pass-with-high-scoreProject Author

BlockAds Icon

BlockAds: A Modern, Privacy-First Ad Blocker for Android

BlockAds is a free, open-source ad blocker for Android that aims to keep your device faster, safer, and less cluttered. Built with a focus on privacy, performance, and a premium user experience, BlockAds blocks ads, trackers, and malware across the entire device by using local VPN-based DNS filtering. No root access is required, and your data never leaves your device. The project embraces modern Android design with Jetpack Compose and Material 3 to deliver a clean, responsive, and delightful experience.

Direct download options and community badges

BlockAds offers several effortless ways to get started, with a range of trusted distribution channels:

  • GitHub Releases: Access the latest builds and release notes directly from the project page.
  • Release Badges
  • Downloads Badge
  • F-Droid: A well-known, privacy-respecting app store alternative for Android apps.
  • Get it on F-Droid
  • IzzyOnDroid: A trusted third-party repository that hosts open-source Android apps.
  • Get it at IzzyOnDroid
  • GitHub Releases Link: Quick access to the project’s releases page.

Screenshots give a quick tour of BlockAds in action. A six-image gallery showcases the clean, modern UI and how the app looks in real life:

What BlockAds does for you

BlockAds is built around a simple, powerful concept: keep your device safe and clean from unwanted content by processing DNS queries locally, rather than routing them through external servers. Here’s what that means in practical terms:

  • System-wide ad blocking: BlockAds operates at the DNS level across the system. It can run in VPN mode (no root required) or in a root Proxy Mode (via iptables) for devices with root access.
  • Privacy-first design: All data stays on your device. The app emphasizes local processing and opt-in telemetry for aggregated crash reporting and manual logs export, with a strong emphasis on user choice.
  • Robust protection: The app blocks not only ads but also known phishing domains, malware, and malvertising, providing a safer browsing and app-experience environment.
  • Flexible filtering: Multiple built-in filter lists are supported (including StevenBlack, AdGuard DNS, EasyList, and more). Region-aware defaults auto-enable filters appropriate to your language and locale.
  • Per-app control: With per-app filtering, you can bypass the VPN for selected apps, allowing you to curate which traffic is filtered and which is left untouched.
  • DoH support: DNS-over-HTTPS is supported, with multiple provider options for added privacy and security.
  • App integrity and MITM controls: When HTTPS Filtering is enabled, a userspace TCP/IP stack (gVisor netstack via tun2socks) terminates traffic, and per-application MITM logic ensures that only selected browsers are inspected. Cert-pinned apps can bypass MITM cleanly through a curated passthrough list.
  • UI/UX: The app follows Material 3 design principles with dark/light/system themes and a choice of seven accent colors, plus support for Material You dynamic theming.
  • Convenience features: Quick Settings tile, home screen widget, export/import of settings, auto-update of filter lists on schedule (6h/12h/24h/48h), and auto-reconnect on boot for uninterrupted protection.

Key features in depth (bullets for quick skim)

  • Dual routing modes:
  • System-wide ad blocking via VPN (no root required)
  • Root Proxy Mode via iptables
  • Privacy-conscious telemetry:
  • Optional crash reporting and manual local logs export
  • Comprehensive onboarding:
  • Permissions, battery optimization, opt-in telemetry
  • WireGuard compatibility:
  • Profile import for quick setup
  • HTTPS filtering with a per-app approach:
  • Userspace TCP/IP via gVisor netstack and tun2socks
  • Per-app MITM control and selective bypass
  • Cosmetic CSS and JavaScript scriptlets injected into HTTP responses
  • Certification and trust:
  • CA cert install with automatic refresh when returning from Settings
  • Passthrough and whitelisting:
  • 284-domain curated passthrough list to keep banking, payments, and government apps functional
  • Filtering lists:
  • Multiple built-in lists, region-aware defaults
  • Logs and analytics:
  • Real-time DNS query logs with search and filtering
  • Appearance:
  • Dark/Light/System themes with Material 3 dynamic colors
  • 7 accent color options and Material You theming
  • User convenience:
  • Quick Settings tile and home screen widget
  • Per-app bypass to selectively exclude apps from filtering
  • Network and security:
  • DNS-over-HTTPS with multiple providers
  • Auto-update of filter lists on a customizable schedule
  • Data portability:
  • Export/Import settings backup
  • Reliability:
  • Auto-reconnect on boot
  • Multilingual support:
  • English, Vietnamese, Japanese, Korean, Chinese, Thai, Spanish
  • Local-first operation:
  • 100% local data processing; nothing leaves your device

How BlockAds works under the hood

BlockAds is built around a resilient, privacy-preserving architecture that performs DNS filtering locally on the device. The core work happens through two main modes:

  • VPN-based routing (no root required):
  • The app creates a local VPN service that intercepts DNS queries and applies filter rules in real time.
  • A memory-efficient Trie data structure is used to store and match domain queries quickly, enabling fast blocking decisions without bogging down the device.
  • Matched queries are blocked, and non-matching traffic proceeds as normal, ensuring minimal disruption to legitimate services.
  • Root Proxy Mode (via iptables):
  • For devices that have root access, BlockAds can route DNS and traffic via iptables, providing a more granular control path for power users and certain network setups.

HTTPS filtering and per-app MITM

When HTTPS filtering is enabled, BlockAds uses a userspace TCP/IP stack (gVisor netstack) running through tun2socks to terminate TCP/UDP flows. The app then maps flows to their owning UID using Android’s ConnectivityManager. Only flows from selected browsers or apps are MITMed, ensuring privacy and compatibility where needed. The system respects cert-pinned apps and a 284-domain curated passthrough list to bypass MITM where required, maintaining compatibility with financial apps and other sensitive services.

Scriptlets, CSS, and cosmetic filtering

BlockAds injects lightweight cosmetic modifications into HTML responses to block or neutralize intrusive components while preserving page layout and functionality. This is achieved through:

  • CSS rules that hide or adjust elements without breaking site rendering
  • Scriptlets (EasyList with “##+js(…)” and AdGuard “#%#//scriptlet(…)”) applied via an in-memory local asset host
  • A careful, per-site approach to ensure essential functionality remains intact for trusted sites

Community, licenses, and open-source ethos

BlockAds is licensed under the GNU General Public License v3.0. This license grants users the freedom to use, modify, and distribute the software while requiring continued openness for derivative works. The project emphasizes transparency and collaboration, inviting developers and users to contribute, report issues, and share translations to bring BlockAds to more audiences.

Credit and leadership

  • Developed and maintained by Nguyen Quang Minh
  • Built with modern Android tooling and libraries:
  • Jetpack Compose
  • Koin for dependency injection
  • Compose Destinations for navigation and type-safe screens

The team invites everyone to participate in translations and improvements, reinforcing the project’s community-driven nature.

Getting BlockAds: install options and quick start

BlockAds is designed to be accessible and easy to install across a range of Android distributions. Choose your preferred method:

  • Official GitHub Releases: Access the latest builds, change logs, and release notes.
  • F-Droid: A privacy-conscious app store that emphasizes open-source software.
  • IzzyOnDroid: A popular Android repository with trusted open-source apps.
  • Direct APKs from GitHub Releases: If you prefer manual installation, ensure you enable unknown sources and verify the APK’s integrity.

Build from source: what you’ll need and basic steps

For developers or power users who want to build BlockAds themselves, the project provides a clear pipeline. Here’s a concise overview of the steps, reflecting the instructions in the input:

Prerequisites

  • Android Studio (Ladylike, or newer)
  • JDK 17 or higher
  • Android SDK 36 (min SDK 24)
  • Go 1.21 or higher
  • gomobile (Go mobile) tooling

Build steps (high-level)

1) Clone the repository

  • git clone https://github.com/pass-with-high-score/blockads-android.git
  • cd blockads-android 2) Initialize gomobile (one-time)
  • go install golang.org/x/mobile/cmd/[email protected]
  • export PATH=$PATH:$(go env GOPATH)/bin
  • gomobile init 3) Optional: Build the Go tunnel AAR/JAR (for Android 15 page size support)
  • ./scripts/build_tunnel.sh
  • Or: ./gradlew buildGoTunnel
  • Note: A pre-built version is included in app/libs/ 4) Open the project in Android Studio 5) Sync Gradle and run on a device or emulator 6) Build from the command line
  • ./gradlew assembleDebug
  • ./gradlew bundleRelease (signing key required)

These steps reflect the project’s approach to integrating a Go-based tunneling component with the Android app, enabling the DoH/DoT features and the per-app filtering capabilities.

Design and user experience: Jetpack Compose with Material 3

BlockAds is crafted with Jetpack Compose and Material 3 to deliver a modern, premium experience on Android. The design language focuses on:

  • Clean typography and visual hierarchy
  • Dynamic color theming that aligns with Material You concepts
  • A responsive layout that adapts gracefully to phones and tablets
  • Accessibility considerations, ensuring readable contrast and navigable UI

The theme system includes dark, light, and system-based modes, alongside seven accent colors that allow personalization while preserving a cohesive look across screens.

Security posture and privacy philosophy

BlockAds explicitly positions itself as a privacy-first tool. Highlights include:

  • All processing happens locally on the device; no data is sent to external servers for ad-blocking decisions.
  • Optional telemetry is opt-in for crashes and local logs export, giving users control over data collection.
  • TLS/SSL handling and DoH options provide secure DNS resolution, with the ability to choose providers that fit user privacy preferences.
  • A curated passthrough list reduces the risk of blocking critical apps, ensuring essential services like banking and government apps remain functional.

Community, contributions, and translation

BlockAds invites community involvement. The project supports translations and welcomes pull requests, issue reports, and feedback to improve the user experience and broaden language coverage.

  • Community channels include a Reddit community and a Telegram chat for BlockAds users to connect, discuss improvements, and share tips.
  • Sponsors and supporters help sustain development through GitHub Sponsors, enabling ongoing maintenance and feature development.

License and credits recap

  • License: GNU General Public License v3.0
  • Credits:
  • Nguyen Quang Minh for development and maintenance
  • Technologies used: Jetpack Compose, Koin, Compose Destinations
  • The project remains committed to open-source principles, encouraging collaboration and transparency.

Why use BlockAds?

If you value a lightweight, privacy-respecting way to block ads, trackers, and malicious domains at the network layer, BlockAds provides a compelling solution. It combines:

  • Local processing for privacy and speed
  • Flexible deployment modes to suit devices with or without root
  • A rich feature set that balances blocking power with user control
  • A modern, accessible UI that leverages current Android design practices
  • A vibrant community and ongoing development, with multiple installation avenues

A note on functionality and limitations

While BlockAds is powerful, no ad blocker is perfect. Some legitimate sites or apps may require whitelisting to function correctly, which BlockAds supports through per-app filtering, allow/deny rules, and a 284-domain passthrough list. The open-source nature means users can audit, customize, and improve the blocks and rules as needed.

Conclusion: a fresh take on Android ad blocking

BlockAds represents a thoughtful blend of performance, privacy, and polish. By routing DNS locally, using a Trie-based matching engine, and selectively applying MITM for per-app filtering, it offers a robust defense against intrusive ads and trackers without compromising core app functionality. The project’s commitment to open-source development, accessible design, and flexible deployment options makes it a compelling choice for Android users who want a cleaner, safer online experience without sacrificing control or transparency.

Visuals and branding recap

  • The project’s icon is showcased at the top of this post to reflect branding consistency.
  • The badges and distribution options are included to help readers quickly locate their preferred installation method.
  • A gallery of six phone screenshots provides a visual sense of the interface, workflows, and UX polish users can expect.
  • The article’s layout emphasizes sections and bullet points to help readers skim for features, usage, and setup instructions, while still providing a thorough overview for those who want to dive deeper.

Final thoughts

BlockAds stands out as a modern, privacy-forward solution for Android users who want robust ad-blocking, safe browsing, and a streamlined user experience. Its dual routing modes, DoH support, per-app filtering, and commitment to data locality position it as a strong option in the open-source ecosystem. For developers, the codebase offers interesting engineering choices—Trie-based DNS filtering, gVisor netstack integration, tun2socks, and a Go-based tunnel—that reflect a thoughtful architecture designed for performance and privacy.

If you’re curious to try BlockAds, visit the download options above, check out the GitHub releases for the latest builds, and join the community discussions to share feedback or contribute translations. Your sponsorship and contributions help sustain ongoing improvements, ensuring BlockAds can continue to evolve with Android’s changing landscape and user needs.

Enjoying this project?

Discover more amazing open-source projects on TechLogHub. We curate the best developer tools and projects.

Project
blockads
Created
July 15
Last Updated
July 16, 2026 at 11:54 AM

Find more projects like this

One email a week: new and trending developer tools, fresh comparisons, and what shipped. Unsubscribe in one click.