Welcome to AdZeroList! This repository is your go-to solution for automatically generating clean, compressed, and deduplicated hosts files. Powered by GitHub Actions, our process ensures your hosts file is always up-to-date, providing you with a seamless ad-blocking experience.
- Automated & Always Fresh: Our blocklists are automatically generated daily at 02:00 UTC via GitHub Actions, ensuring you always have the latest protection without any manual intervention.
- Production-Ready Sources: Curated with the best source combinations - Hagezi Pro++, 1Hosts Pro, comprehensive AdBlock filters, and security-focused lists.
- Format-Optimized Sources: Uses dedicated source lists optimized for each format - DNS-level sources for hosts/dnsmasq/smartdns/BIND/Blocky/Unbound, and specialized filter sources for adblocker formats.
- Multiple Format Support: Generate blocklists in 9 different formats including traditional
hostsfiles, DNS server configs, and adblocker formats. - Custom Filter Support: Add your own custom domains (DNS-level) and custom AdBlock filters (browser-level) for personalized blocking.
- Enhanced AdBlock Filters: AdBlock formats combine both converted domain lists and native AdBlock filter rules for comprehensive protection.
- Highly Efficient: We optimize
hostsfiles by combining multiple host entries into a single line (1 IP for up to 8 domains), significantly reducing file size and improving performance. - Deduplicated & Clean: Say goodbye to redundant entries! Our process meticulously deduplicates all entries, providing you with a clean and efficient blocklist.
- Flexible Source Management: Easily manage your sources by editing the appropriate source files. Add, remove, or temporarily disable sources with ease.
- Comprehensive Protection: Blocks ads, trackers, malware, phishing, cryptomining, and annoying elements across all platforms.
AdZeroList generates blocklists in multiple formats to support different applications:
DNS Server Formats:
hosts.txt- Traditional hosts file format (compressed, multiple domains per line)hosts-uncompressed.txt- Traditional hosts file format (one domain per line)dnsmasq.conf- Configuration file for dnsmasq DNS serversmartdns.conf- Configuration file for SmartDNSbind-rpz.conf- BIND Response Policy Zones configurationblocky.txt- Blocky domain wildcard formatunbound.conf- Unbound DNS server configuration
Browser Extension Formats:
adblock.txt- AdBlock Plus format (compatible with Brave, AdBlock Plus, and most browser extensions)
For browser-based ad blockers:
- Download
adblock.txtfor general compatibility with AdBlock Plus, Brave, and similar extensions - Add the downloaded file as a custom filter list in your adblocker settings
For DNS-level blocking:
BIND (Response Policy Zones):
- Download
bind-rpz.conf - Add to your BIND configuration as a response policy zone
- Configure the zone in your
named.conf
Blocky:
- Download
blocky.txt - Add the file path to your blocky blacklists configuration
- Restart blocky service
Unbound:
- Download
unbound.conf - Include the file in your main
unbound.confconfiguration - Restart unbound service
dnsmasq:
- Download
dnsmasq.conf - Include in your dnsmasq configuration directory
- Restart dnsmasq service
SmartDNS:
- Download
smartdns.conf - Include in your SmartDNS configuration
- Restart SmartDNS service
Traditional hosts file:
- Download
hosts.txtorhosts-uncompressed.txt - Append to your system's hosts file (
/etc/hostson Linux/macOS,C:\Windows\System32\drivers\etc\hostson Windows) - No service restart required
Each release is tagged with a unique identifier and includes detailed information, such as the commit hash that triggered the build and the SHA256 hashes of the hosts.txt file, allowing you to verify its integrity and track changes.
Every release body includes the SHA256 hash of the hosts.txt file. You'll find two hashes:
- Old Hash: The SHA256 hash of the
hosts.txtfrom the previous successful build. - New Hash: The SHA256 hash of the
hosts.txtgenerated in the current build.
This allows you to quickly see if the hosts.txt content has changed between releases. If the old and new hashes are different, it indicates that the hosts.txt file has been updated.
- Trigger: Our GitHub Actions workflow is triggered daily at 02:00 UTC, or whenever there's a
pushto themainbranch, ensuring continuous updates. - Compilation: The
hostpress.cprogram, the core of our processing, is compiled usingMakefile. - Download Sources: All active (uncommented) URLs listed in
sources.listare downloaded to gather the latest blocklist data. - Customization: Domains specified in
custom.listare seamlessly integrated into the blocklist. - Processing: The
hostpressprogram takes over, cleaning, sorting, deduplicating, and compressing all entries for optimal performance. - Whitelisting: Domains listed in
custom-white.listare carefully removed from the processedhostsfile, ensuring your essential services remain unaffected. - Release: The final, optimized files in multiple formats (hosts, dnsmasq, smartdns, BIND RPZ, Blocky, Unbound, and adblocker formats) are uploaded as assets to a new GitHub release.
Want to fine-tune your ad-blocking experience? Here's how:
The system uses production-ready, curated source lists for maximum effectiveness:
DNS-Level Sources (lists/sources-dns.list):
- Hagezi Pro++ - Most comprehensive, highly maintained DNS blocklist
- 1Hosts Pro - High-quality curated domain list
- StevenBlack's Unified - Ads + malware + fakenews + gambling
- OISD Big - Comprehensive domain blocking
- Security Sources - Phishing Army, URLHaus, Malware Domain List
- Privacy Sources - NoTracking, AdAway, GoodbyeAds
AdBlock Sources (lists/sources-adblock.list):
- Core Filters - EasyList, EasyPrivacy (essential)
- uBlock Origin - Native uBlock filters, privacy, badware, resource abuse
- AdGuard - Base filter, tracking protection, mobile optimization
- Annoyance - Fanboy's annoyance, social blocking
- Security - Anti-phishing, anti-malware filters
- Regional - Optimized for multiple languages
Legacy Sources (lists/sources.list):
- Maintained for backward compatibility
- Automatically included in DNS formats
Custom Domains (lists/custom.list):
- Add domains for DNS-level blocking across all formats
- Applied to hosts, dnsmasq, smartdns, BIND, Blocky, Unbound
Custom AdBlock Filters (lists/custom-adblock.list):
- Add native AdBlock filter rules for browser extensions
- Supports all AdBlock Plus/uBlock Origin syntax
- Element hiding, URL blocking, advanced rules
Whitelist (lists/custom-white.list):
- Exclude domains from all generated blocklists
- Prevent blocking of essential services
Your changes will automatically trigger a new build after you push to the main branch, so you'll see your customizations in action quickly!