explaingit

217heidai/adblockfilters

6,937PythonAudience · generalComplexity · 1/5Setup · easy

TLDR

A project that automatically merges dozens of ad-blocking filter lists from around the web into a single updated file every 8 hours, so you only need to subscribe to one list instead of many.

Mindmap

mindmap
  root((adblockfilters))
    What it does
      Merges filter lists
      Updates every 8 hours
      Removes duplicates
    Output formats
      AdGuard and AdGuard Home
      DNSmasq
      Clash and Shadowrocket
      SmartDNS
    Variants
      Full list
      Lite Chinese-region
    Distribution
      GitHub Releases
      jsDelivr CDN mirrors
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Subscribe to the merged filter list in AdGuard or AdGuard Home to block ads using a single URL instead of managing many separate lists.

USE CASE 2

Use the DNSmasq or Clash format output to add ad blocking at the router or network level for all devices on your home network.

USE CASE 3

Use the Lite variant on a mobile device or router with a rule limit to get ad blocking focused on Chinese-region domains.

USE CASE 4

Add the jsDelivr-mirrored subscription URL in regions where direct GitHub access is slow to get reliable filter updates.

Tech stack

Python

Getting it running

Difficulty · easy Time to first run · 5min

Just subscribe to the hosted URL in your ad blocker, no installation or coding required.

Open source, free to use and subscribe to the filter lists.

In plain English

This repository automatically collects and merges ad-blocking filter lists from multiple sources, then publishes updated combined rule files every eight hours. The idea came from the maintainer's frustration with having to manually add many separate filter lists every time they set up a new device. Rather than doing that manually, a script pulls from upstream sources, deduplicates the entries, removes domains that can no longer be resolved, and produces a single merged file. The output comes in several formats to match different tools. There are versions for AdGuard and AdGuard Home (browser and DNS-based ad blockers), DNSmasq (a DNS server often used on home routers), SmartDNS, Shadowrocket, QuantumultX, Clash, InviZible Pro, and personalDNSfilter. Each rule set also has a lighter "Lite" variant that focuses only on Chinese-region domains, for users who want a smaller file or whose device has a limit on the number of rules it can handle. The project only merges, deduplicates, and strips invalid entries. It does not modify the content of the upstream filter rules. If a domain is mistakenly blocked, the suggested fix is to temporarily add a whitelist rule yourself and report the issue to whichever upstream list originally included it. Subscription links are hosted on GitHub and also mirrored through jsDelivr and several other CDN accelerators, which are listed in the README for users in regions where direct GitHub access is slow. The README is written in Chinese. The project is maintained by a single contributor and is open source.

Copy-paste prompts

Prompt 1
I use AdGuard Home on my home router. Give me the steps to add the adblockfilters merged list as a subscription so all devices on my network get ad blocking.
Prompt 2
I want to add the adblockfilters Clash format rules to my Clash proxy config. Write the subscription block I need to add to my config file.
Prompt 3
Explain the difference between the full adblockfilters list and the Lite variant, and help me decide which one is better for my Android phone.
Prompt 4
I use DNSmasq on my OpenWrt router. Write the commands to download the adblockfilters DNSmasq format file and reload DNSmasq so it takes effect.
Open on GitHub → Explain another repo

← 217heidai on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.