Hysen Labs
Open-source project
AdguardTeam/FiltersRegistry avatar
AdguardTeam

FiltersRegistry

Known filters subscriptions transformed for better compatibility with AdGuard

356 stars74 forksAdblock Filter ListLGPL-3.0
DEEP OPEN-SOURCE ANALYSIS

AdGuard Filters Registry: the canonical filter list source

The repository that stores AdGuard's own filter lists and re hosts third party lists for eight AdGuard product platforms.

What the registry holds

The AdGuard Filters Registry is the canonical repository of filter list subscriptions available to AdGuard users. It stores AdGuard's own filters and also re hosts selected third party filter lists, served through filters.adtidy.org. The README explains that third party rules may be lightly modified so they work better with AdGuard products. This matters because AdGuard runs across many environments, from browser extensions to standalone desktop and mobile apps, and each one needs filter syntax tuned to its engine. With 356 stars, the registry is a quiet but central piece of the ad blocking ecosystem: when an AdGuard product downloads a filter, it is very likely pulling a build produced by this pipeline. The repository is licensed under LGPL-3.0 and is maintained by the AdGuard team. Third party lists that are added keep a subscription URL so users know the list came from the registry rather than the original source, and the re hosting keeps downloads fast and consistent across the supported product line. The README also states that previously added filters with no support for a year are removed, so the registry does not accumulate dead lists that mislead users about what is active. Third party lists that are added keep a subscription URL so users know the list came from the registry rather than the original source, and the re hosting keeps downloads fast and consistent across the supported product line.

How filters are built and tagged

A build pipeline turns filter templates into platform specific outputs for eight AdGuard product platforms: Android, CLI, Extension, iOS, Mac, Mac v2, Mac v3, and Windows. It also generates incremental patches and localized metadata so updates stay small and translations stay current. Each filter lives in its own directory with a predictable set of files. template.txt drives the compiler, exclude.txt lists regular expressions to drop, and metadata.json carries the name, description, identifier, trust level, and platform includes. The build writes filter.txt as the compiled result, diff.txt as a log of excluded and converted rules, and trusted-rules.txt for rules held back by trust level. revision.json is filled automatically on every build. Tags mark language and purpose, such as lang:fr or purpose:ads, and a recommended tag flags low risk lists in a category. An obsolete tag marks abandoned lists, and a deprecated flag keeps a list available while signaling it should no longer be used. The compiler also produces a full version and an optimized version of each filter, where the optimized one drops the least used rules to save space on devices with tight memory. An obsolete tag marks abandoned lists, and a deprecated flag keeps a list available while signaling it should no longer be used, so the metadata alone tells a user whether a filter is still worth enabling.

Acceptance policy and trust levels

Adding a third party filter follows a detailed acceptance policy. The filter must target browser content blockers, be legal, and have a public place for complaints. GitHub hosted filters need at least 50 stars, filters without GitHub need about 10 discussed issues per month, and the list must be actively supported for at least six months with at least ten updates per month. Compatibility with AdGuard syntax is required, and filters with too many problematic rules that cause false positives are refused. Accepted filters receive a trust level of low, high, or full; only AdGuard's own lists currently hold full trust, and lower tiers may have some rule types disabled. Filters with no support for a year are removed. The compiler also handles wildcard domain expansion for platforms like Chromium MV3, Safari, and iOS, turning domain.* patterns into real domains from a maintained map. The repository compression and wildcard tooling live in documented scripts, and a localization workflow runs through Crowdin for translations. The acceptance rules are public, so a filter author knows in advance what bar their list must clear before it can enter the registry. The compiler also produces a full version and an optimized version of each filter, where the optimized one drops the least used rules to save space on devices with tight memory, and the acceptance rules are public.

Editorial conclusion

The AdGuard Filters Registry is licensed under LGPL-3.0 and compiles filter templates for eight AdGuard platforms: Android, CLI, Extension, iOS, Mac, Mac v2, Mac v3, and Windows.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes