Pre-built, deduplicated Pi-hole blocklists merged from 35 curated sources — a 2.4M+ domain master list plus advertising, tracking, malware/phishing, suspicious, and NSFW categories. Hosts format, rebuilt weekly.
网络广告和恶意软件正在吞噬越来越多的系统资源,不仅侵犯用户隐私,还消耗大量带宽和计算资源。Pi-hole-Optimized-Blocklists 项目解决了在此领域的核心痛点,提供了一个高效、全面的 DNS 阻断列表,帮助用户建立起一个自动化的广告、跟踪器和恶意软件过滤机制,确保网络安全和隐私不被侵犯。面对日益复杂的网络垃圾,一个良好的过滤策略显得至关重要,Pi-hole 的这些优化列表无疑是可以信赖的强力武器。
Pre-optimized, deduplicated blocklists for Pi-hole
Note 注意
New — nsfw_abp.txt, a subdomain-blocking NSFW list. An ABP-format version of nsfw.txt that blocks adult domains and all their subdomains (e.g. cdn.example.com as well as example.com) for more complete filtering. Requires Pi-hole Core ≥ 5.16 / FTL ≥ 5.22. See Available Lists.
Looking for more features? Check out Zach’s Lists — a full-featured blocklist platform with custom source selection, smart whitelisting, and multiple output formats.
Note:nsfw.txt is not included in all_domains.txt because it blocks legitimate adult sites. Add it separately if you want NSFW blocking. nsfw_abp.txt covers the same domains in ABP form (||domain^), so subdomains are blocked too. It leaves out subdomains that one of its rules already blocks, so it has fewer lines than nsfw.txt. Use it instead of nsfw.txt, not alongside it, for more thorough filtering (needs Pi-hole Core ≥ 5.16).
Last updated: November 08, 2026
Quick Start
In the Pi-hole admin interface, open Lists (Pi-hole v6) or Group Management → Adlists (Pi-hole v5)
Add the URL of each list you want from the table above
Run pihole -g, or use Tools → Update Gravity, to load them
The lists may include ABP-style entries (||domain^) that block a domain and all its subdomains. These require Pi-hole Core ≥ 5.16 / FTL ≥ 5.22 (released 2023; standard on current installs). Note that pihole -q won’t enumerate the individual subdomains covered by an ABP entry.
Report a Domain
Found a domain that should be blocked or a false positive? Open an issue using one of the templates:
Block Domain — request a malicious, ad, tracking, suspicious or adult domain to be blocked
False Positive — report a legitimate domain that’s being incorrectly blocked
Bug Report — report a problem with the lists or automation
A bot posts an evidence report on each block and false-positive issue, and the maintainer makes every decision. An accepted change takes effect at the next weekly update.
FAQ
What's the difference between this and Zach's Lists?
Multiple formats — hosts, plain, and Adblock syntax
Real-time build progress
Both use the same underlying sources and are maintained by the same person.
How often are these lists updated?
Every Sunday, by a GitHub Actions build scheduled for 00:00 UTC. GitHub often starts scheduled builds a few hours late. Community-reported domains are included once their PR is merged before the next run.
Which list should I use?
comprehensive.txt — Good balance for most users
all_domains.txt — Maximum blocking (may cause false positives)
Individual category lists — If you want granular control
How do community-reported domains work?
Domains reported via issues are added to custom/<category>.txt files in the repo. These are referenced as sources in blocklists.conf via raw GitHub URLs, so the optimizer picks them up on the next weekly run just like any other upstream source.
Sources
The lists are built from these sources, configured in blocklists.conf. Each list keeps its own licence.
评论