# AdGuard Content Blocker: an ad blocker for the two browsers that support blocking

> AdGuard Content Blocker is a Java Android app that uses the content blocking API to filter ads in Samsung Internet and Yandex Browser, distributed through Google Play, F-Droid and GitHub releases under GPL-3.0. It is a narrow app with a narrow surface, and version 3.0 is still in beta.

**AdguardTeam/ContentBlocker** — Content blocking extension for Samsung Internet and Yandex Browser

- Repository: https://github.com/AdguardTeam/ContentBlocker
- Stars: 766 · Forks: 158
- Language: Java
- License: GPL-3.0
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/adguardteam-contentblocker

## Two supported browsers, and the API that makes it possible

AdGuard Content Blocker is a tool to block ads in browsers that support content blocking technology, and the README names the two that qualify: Samsung Internet and Yandex Browser. The primary language is Java, the licence is GPL-3.0, and the default branch is master.

The mechanism is what makes the narrow browser list understandable. Rather than routing traffic through a server or installing a local VPN, the app produces filter rules that the browser's own content blocking engine applies while it loads pages. The browser does the blocking, on the device, and the app's job is to supply the rules and keep them current.

That architecture has a visible consequence for how you should read the scope. This is not a general ad blocking app for Android that works everywhere, it is a filter provider for two specific browsers, and on a browser without the content blocking API there is nothing for it to do. The filter lists are the product, and the app is the delivery mechanism for them.

The disclaimer also sets out the project's premise: the app is free, the team believes free products should be open source, and the code is in this repository rather than kept closed. The stated privacy position is that only necessary, limited information is sent, for example the information required for filter updates, and the privacy policy for content blocker is linked from that same section.

## Where you get it, and how the update channel works

The README does not give a build or install command, and the project is distributed as a finished application rather than as a library. The download routes are the website, the Google Play listing under the package id com.adguard.android.contentblocker, an F-Droid package with the same id, and the GitHub releases page.

The F-Droid listing matters more than it might appear for an open source project. It is the channel that builds from the source tree in this repository, which is the version you can inspect and reproduce, whereas a store build is a binary you take on trust. The project also links a privacy policy for content blocker as a separate page, and the releases page for Content Blocker is linked from the same section as the store badges.

Updates arrive through the store, so the filter rules and the app itself move together. The filter lists are maintained by the same vendor, and the disclaimer's mention of sending only what is needed for filter updates describes the one outbound call the app makes.

For a self-hosted build, the repository is a Gradle project with the usual shape: a build.gradle file at the top level, a settings.gradle, a gradle.properties, a gradlew wrapper script with a gradlew.bat for Windows, a gradle directory, an adguard_cb directory holding the application module, a lite-sdk directory for the content blocking library, a fastlane directory for release automation, a proguard.cfg, and a .twosky.json file for the translation platform. The COPYING file and the GPL-3.0 licence are consistent with that.

## The 3.0 line is in beta while 2.8 has been out since 2024

The release history shows an unusual gap and then a burst. Version 2.8 was published on 2024-10-21. Then there is nothing until 3.0 Beta 1 on 2026-09-22 and 3.0 Beta 2 on 2026-10-09. The last push to the repository was on 2026-10-09, the same day as the second beta.

So the current state is a long-lived 2.x line and a fresh 3.x line that has not left beta. That gap is the main thing to weigh when you install, because the two versions are not equivalent from the user's point of view: the stable channel gives you the 2.8 build that has been in circulation for two years, and the beta channel gives you 3.0, which is what the project is actually working on.

The README documents how to move between them. You go to the app's Google Play page, scroll down to the Become a beta tester block, and tap the I'm in button to switch to the beta channel. The same place lets you leave the beta test, so the switch is reversible without a reinstall.

The project also publishes a milestones page on GitHub, and the README points at it for the big picture, for current progress and for approximate dates of upcoming releases. That is the place to look before deciding which channel to sit on.

## Filter problems go to a different reporting tool than code problems

The issue handling is split in two, and the distinction is the practical thing to know if you want to contribute a fix.

Code problems, bugs and feature requests go to GitHub. You open the repository's issues page, click the New issue button, and use the template that will be provided, unless the issue is unusual enough to justify departing from it.

Filter problems go elsewhere. For issues about the filters themselves, such as a missed ad or a false positive, the README directs you to an online reporting tool at reports.adguard.com. That is a deliberate split, and it makes sense once you understand the structure: the filters are a large, frequently updated ruleset maintained upstream, while this repository holds the application that delivers them. A rule that is wrong is not an application bug, and filing it against the app repository would send it to the wrong maintainers.

Translation is handled the same way, out of band. The README points to a knowledge base article on AdGuard translations, and then to a Crowdin project for the content blocker application, where you can start a translation or suggest a better variant for one that already exists. The .twosky.json file in the repository tree is the configuration for that translation platform, and the .github directory holds the workflow files for the repository itself.

## What this app is not, and the case for the alternative

The honest limit is the browser list. If your daily browsing happens in Chrome, Firefox, Brave or any other browser without the content blocking API, this app has nothing to contribute, and the README does not pretend otherwise by describing it as a tool for browsers that support content blocking technology and naming the two that do.

The alternative approach is a local VPN or a filtering proxy, where an app intercepts traffic on the device and filters it before any browser sees it. The difference in approach is where the filtering happens. A content blocking extension works inside the browser, per browser, with no traffic interception and no other app affected, which is a much smaller permission footprint. A VPN based blocker works across every app on the device and every browser, which is why people choose it, but it means running an always-on interceptor that sees all traffic.

The other alternative is to keep the filters and skip the app, which is possible because the blocking rules are data. The tradeoff there is that you are maintaining the rule delivery yourself, updating lists on your own schedule, and losing the app's update channel, which is exactly the part the disclaimer describes as the only thing sent over the network.

For a reader who wants to understand the rules rather than just consume them, that middle path is worth knowing about, and the fact that the project publishes its own source is what makes it possible.

## A small team project with a clear distribution strategy

The shape of the repository says something about the project's priorities. There is no test directory, no issue templates directory beyond the .github folder, and no large test or CI configuration beyond the workflow files. The application module lives in adguard_cb, and the content blocking library it depends on lives in lite-sdk, which is a meaningful split because the blocking engine is a reusable piece of the AdGuard codebase rather than something written for this app.

The distribution strategy is the opposite of the code strategy. Rather than asking users to build the app, the README routes every reader to the Play Store, to F-Droid and to the GitHub releases page, and it links the website for downloads and more information. The three channels cover three different needs: the store for convenience and automatic updates, F-Droid for a build traceable to the source, and GitHub releases for the direct download.

For a project of this size, that is a reasonable division of labour, and the F-Droid and GitHub releases routes mean you are never forced to take a store build if you would rather not. The trade is that a user on Google Play gets the app the vendor shipped, and a user on F-Droid gets a build from the tree in this repository, which may not be identical in timing to the store build.

## Conclusion

Adopt AdGuard Content Blocker if your browsing happens in Samsung Internet or Yandex Browser and you want ad filtering without a proxy or a VPN in the path, since the app uses the browser's own content blocking API and the filters are updated by the same vendor that maintains the filter lists. Skip it if you use Chrome, Firefox or a third party browser, because the README states that those browsers are not supported. Before you rely on it, decide whether the beta channel is acceptable to you, since 3.0 Beta 2 was published on 2026-10-09 while the last stable release listed is 2.8 from 2024-10-21, and read the privacy policy for content blocker, since the disclaimer states that only the information required for filter updates is sent.

## FAQ

### Which browsers does AdGuard Content Blocker support?

The README states that the app blocks ads in browsers that support content blocking technology, and names Samsung Internet and Yandex Browser as the two that currently qualify. It is a filter provider for those browsers, using the browser's own content blocking API rather than a proxy or a VPN.

### How do I install AdGuard Content Blocker?

The README gives no build or install command, because the project ships as a finished application. It is available from Google Play and F-Droid under the package id com.adguard.android.contentblocker, from the GitHub releases page, and from the AdGuard website.

### How do I try the 3.0 beta of AdGuard Content Blocker?

Go to the app's Google Play page, scroll to the Become a beta tester block and tap the I'm in button to switch to the beta channel. The same page lets you leave the beta test again. The 3.0 Beta 1 and Beta 2 builds were published on 2026-09-22 and 2026-10-09.

### Where do I report a filter problem in AdGuard Content Blocker?

Filter issues such as a missed ad or a false positive go to the online reporting tool at reports.adguard.com, not to the GitHub issue tracker. Code bugs and feature requests go to GitHub using the provided template.

## Sources

- [AdguardTeam/ContentBlocker on GitHub](https://github.com/AdguardTeam/ContentBlocker)
- [Issues](https://github.com/AdguardTeam/ContentBlocker/issues)
- [License: GPL-3.0](https://github.com/AdguardTeam/ContentBlocker/blob/master/LICENSE)
- [README](https://github.com/AdguardTeam/ContentBlocker/blob/master/README.md)
- [Releases](https://github.com/AdguardTeam/ContentBlocker/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/adguardteam-contentblocker
