Custom blocklists. Built fast. Updated automatically.
A modern blocklist aggregator that lets you build your own curated DNS blocklists from multiple sources. Stop using one-size-fits-all blocklists — create exactly what you need.
- Combine 40+ blocklist sources into one unified list
- Filter with smart whitelisting (regex, wildcards, subdomains)
- Export in hosts, plain text, or Adblock format
- Automate with weekly rebuilds that keep your lists fresh
Powered by a Rust backend that processes millions of domains in seconds.
| Feature | Description |
|---|---|
| Custom Curation | Pick and choose from dozens of blocklist sources to build your perfect list |
| Rust-Powered | Parallel downloads and processing means lists built in seconds, not minutes |
| Auto Updates | Set it and forget it — weekly automatic rebuilds keep everything fresh |
| Multi-Format | Export as hosts file, plain text, or Adblock syntax for any blocker |
| Smart Whitelisting | Powerful pattern matching: exact, wildcard, subdomain, and full regex |
| Real-time Progress | Watch your list build live with WebSocket-powered progress tracking |
| Public Lists | Browse and use community-curated blocklists, or share your own |
| GitHub Login | One-click authentication — no passwords to remember |
Getting started takes less than a minute:
Head to lists.zachlagden.uk and sign in with your GitHub account.
Add your blocklist sources (one URL per line) and set up your whitelist patterns.
Hit "Build Now" and grab your personalized blocklist URL:
# Pi-hole / AdGuard Home (hosts format)
https://lists.zachlagden.uk/u/yourname/all_domains.txt?format=hosts
# uBlock Origin / AdBlock Plus
https://lists.zachlagden.uk/u/yourname/all_domains.txt?format=adblock
# Plain domain list
https://lists.zachlagden.uk/u/yourname/all_domains.txt?format=plainThat's it. Your blocklist will auto-update weekly.
+------------+ +------------+ +-----------+ +-------------+
| Sources | -> | Download | -> | Whitelist | -> | Generate |
| (40+ URLs) | | (Parallel) | | (Filter) | | (3 formats) |
+------------+ +------------+ +-----------+ +-------------+
1. Sources — You define which blocklists to combine. Popular choices, niche lists, whatever you need.
2. Download — The Rust worker fetches all sources in parallel (10 concurrent downloads). Smart caching means unchanged sources aren't re-downloaded.
3. Whitelist — Your whitelist patterns filter out false positives. Support for exact matches, *.wildcard.com, @@subdomain matching, and /regex/ patterns.
4. Generate — Deduplicated domains are output in three formats: hosts file (Pi-hole native), plain text, and Adblock syntax.
| Feature | Zach's Lists | Traditional Lists | DIY Scripts |
|---|---|---|---|
| Custom sources | ✅ | ❌ | ✅ |
| Whitelist filtering | ✅ | ❌ | |
| Auto updates | ✅ | ✅ | |
| Real-time progress | ✅ | ❌ | ❌ |
| Multiple formats | ✅ | ||
| Performance | ✅ | N/A | |
| Web UI | ✅ | ❌ | ❌ |
The bottom line: Traditional blocklists give you no control. DIY scripts require maintenance. Zach's Lists gives you the flexibility of custom lists with the convenience of a managed service.
- React 18 + TypeScript — Type-safe, component-based UI
- Tailwind CSS — Custom cyberpunk-inspired theme
- Socket.io — Real-time job progress updates
- Framer Motion — Smooth animations and transitions
- Flask 3 + MongoDB — Flexible REST API with document storage
- APScheduler — Automated weekly rebuilds
- GitHub OAuth — Secure, passwordless authentication
- GeoIP2 — Analytics and geographic insights
- Rust + Tokio — Async runtime for maximum performance
- 10 concurrent downloads — Parallel source fetching
- 7-day intelligent caching — Only download what's changed
- ~4M domains processed in seconds
Works with any DNS blocker or browser extension that accepts blocklists:
| Platform | Formats |
|---|---|
| Pi-hole | hosts, plain |
| AdGuard Home | hosts, plain, adblock |
| uBlock Origin | adblock |
| AdBlock Plus | adblock |
| Blocky | plain |
| NextDNS | plain |
| ControlD | plain |
If it accepts a URL to a blocklist, it'll work with Zach's Lists.
📸 Click to expand
Your command center — usage stats, recent jobs, and quick actions
Add sources, configure whitelists, and trigger builds
Watch your list build live with per-source progress
Discover community-curated blocklists
Want to run your own instance? Full deployment instructions (Docker + manual) are available in the documentation:
If Zach's Lists helps keep your network clean, consider supporting development:
Your support helps cover hosting costs and keeps the project actively maintained.
This project is licensed under the MIT License — see the LICENSE file for details.
Website · Docs · Report Bug · Request Feature
Made with ☕ and 🦀 by Zach Lagden