# Energized Protection block: daily merged blocklists with duplicates and dead domains removed

> A four file repository that consolidates upstream ad, tracker and malware filters into named packs, publishes each pack in eight formats from hosts files to DNS zone format, and shows its working as a daily diff of added and removed domains.

**EnergizedProtection/block** — Let's make an annoyance free, better open internet, altogether!

- Repository: https://github.com/EnergizedProtection/block
- Website: https://energized.pro
- Stars: 2,827 · Forks: 211
- Language: Unknown
- License: MIT
- Published: 2026-10-06 · Updated: 2026-10-06 · Language: en
- Canonical page: https://hysenlabs.com/projects/energizedprotection-block

## A repository with no code in it

The tree listing for this project has four entries: `.github/`, `config.json`, `license` and `readme.md`. That is the whole repository. There is no generator checked in, no build script and no language on GitHub's side, because the merge pipeline that produces the packs is not published here.

What is published is the configuration and the documentation. `config.json` is the part worth reading if you want to understand the project rather than subscribe to it, since that is where source lists and pack composition would be defined. The output itself lives on energized.pro rather than in the repository, which is the normal choice for something regenerated daily: committing hundreds of thousands of lines every night would make the history useless.

The metadata frames the project as a consolidation effort rather than a new list. The description asks to make an annoyance free, better open internet, and the README says the repository consolidates several reputable filters and merges them into a couple of protection packs with duplicates and dead or inactive domains removed. That is the whole thesis: nothing here is novel, and the value is in the merging.

## Where the entries come from

The changelog is the best documentation in the project, because it names every upstream source and how many entries moved in or out on the last run. On the visible run, AdGuard DNS filter gained 30 domains, EasyList gained 28, EasyList adservers gained 26, EasyList thirdparty gained 1, EasyList China gained 2, oisd nsfw small gained 4, Ultimate Ad Filter gained 47, Malware and Phishing Blocklist gained 13, oisd big gained 34, and uniartisan's Adblock List Plus gained 319.

The removals matter more than the additions, in my view. EasyPrivacy lost 1 domain, EasyPrivacy trackingservers admiral lost 1, URLhaus lost 1, scamblocklist lost 10, and Phishing Army Extended lost 88. A pipeline that only ever grows produces a list that slowly breaks sites, and a list that removes more entries than some of its sources add is a list where somebody is actually resolving false positives.

Three categories of change sit under the counts. Sources are synced with the latest upstream releases. Sources are filtered, described as removing dead, inactive and obsolete domains to maintain efficiency. And there are manual entries in both directions, new entries added based on threats and community reports alongside user requested domains, and legitimate domains whitelisted after being flagged as false positives or after someone asked for access to be restored.

That last category is the one that determines whether a blocklist is pleasant to live with, and the fact that it is documented per release is a better signal than any feature bullet.

## One pack, eight formats, and what each is for

The README says a variety of tailored packs are provided, and the table documents the entry counts and file formats for each. The pack visible in the README's table is Spark, described as lightweight, essential protection, with 183,483 unique entries.

Eight formats ship for that single pack, and the choice between them is a choice about which part of your stack does the filtering:

```text
hosts.txt
hosts_v6.txt
domains.txt
adblock.txt
dnsmasq.txt
unbound.txt
rpz.txt
smartdns.conf
```

`hosts.txt` and `hosts_v6.txt` are the same idea for the two address families, since a list that only works on IPv4 leaves a hole the moment a network prefers IPv6. `domains.txt` is the plain domain list, at 5.1MB it is the smallest of the set. `adblock.txt` targets browser and extension blockers in the usual filter list syntax. `dnsmasq.txt` and `smartdns.conf` are configuration files for those two specific DNS daemons rather than generic domain lists, and `unbound.txt` is for Unbound. `rpz.txt` is response policy zone format, which is the one to reach for if you want the filtering to live on an authoritative DNS server rather than on the client.

File sizes range from 5.1MB for the plain domain list to 10.4MB for the Unbound variant, so the format choice has a real bandwidth cost. Pick the one your resolver consumes natively rather than downloading the largest and converting it yourself.

## Daily cadence and the flexibility to skip a day

The update policy is stated plainly in the notice section. Packs are updated daily to ensure performance and protection, but the project holds that it has the flexibility to push more frequent updates when necessary or to delay releases when required.

That second half is the part worth sitting with. A blocklist that regenerates on a fixed schedule regardless of upstream state is a blocklist that will happily merge a broken upstream export at 00:01 and serve it for a day. Saying out loud that a release can be held is a small signal that the pipeline is not a cron job and nobody is watching.

The features list makes the same point in a different register. It claims the lists are domain based, that they work on any device regardless of operating system, that page loading time can be reduced by up to half of its original duration, that bandwidth usage is reduced, and that privacy improves by blocking spyware and tracking systems. Those are the ordinary claims of the blocklist genre, and the page load one in particular is the kind of figure that varies enormously with the site and the connection, so treat it as direction rather than measurement.

The repository topics are a good index of what ends up in the packs: ad, adblock, adblocker, admiral, blocklist, filterlist, malware, nsfw, porn, pornware, privacy, security, spam, spy, spyware, tracker and tracking. Those topics describe a filter that blocks adult content and malware alongside advertising, which is a wider scope than an ad blocker and worth confirming suits your deployment before pointing a network at it.

## The alpha badge, the rebuild, and the absence of releases

Three pieces of the README keep this project honest about itself. The version badge reads 0.100.a. The status badge reads alpha. And the notice explains that the project has been rebuilt from the ground up, that some extension packs are still a work in progress and may not be fully ready, and that refining everything will take more time.

The letter suffix on the version is the interesting detail. 0.100.a is not a semantic version, so it is signalling an in progress line rather than a stable one, and the alpha status badge is consistent with that.

There are no published releases on the repository at all. There is no tag history to pin, no changelog page per version, and no upgrade path. The artifacts are fetched by URL from energized.pro and overwritten in place, which means the correct way to consume a pack is with your own scheduled refresh that logs what it fetched. If a pack ever ships with a mistake, there is no v0.100.b to roll back to, and your only recovery is the previous copy your own job kept.

The repository has 2827 stars, 211 forks and 28 open issues, and it was pushed on 2026-09-24, which is also the date in the updated badge. The open issue count on a data project like this is mostly whitelisting and false positive reports, which is a sign the list is in active use rather than a sign of neglect.

## Running it and reaching the people who maintain it

There is nothing to install. A pack is a text file served over HTTPS, and consuming it means pointing something at it: a hosts file on the machine, an ad blocker's subscription list, dnsmasq's addn-hosts or server configuration, Unbound's blockdata mechanism, or an RPZ feed on your authoritative servers.

The project also accepts new manual entries, described as based on threats and community reports, and restores access to legitimate sites that were flagged. Both of those are community requests, so the support channels matter if you find a false positive. The README links a Telegram group for support and an issue template at the repository with a category chooser rather than a single blank form, which is the right shape for a project whose incoming reports are mostly of one kind.

The project describes itself as coming from Bangladesh and takes financial contributors through Open Collective alongside its website at energized.pro. There is also a cover image, a logo and a screenshot at the top of the README, and the maintainers use a lightning bolt as the project's mark in headings.

One thing the repository does not publish is the merge tooling. The `config.json` tells you what goes into a pack, and the changelog tells you what moved, but the code that does the deduplication and the dead domain filtering is not in this tree. If you need to audit how a specific domain ended up in Spark, the trail stops at the config.

## Conclusion

The useful thing about Energized Protection block is that it is inspectable without running anything. The changelog is a per source daily diff, so you can see that EasyList gained 28 domains while Phishing Army Extended lost 88, and a list that shrinks as often as it grows is a list that has someone reading it. What you get is one pack, Spark, at 183,483 unique entries across eight formats, from a 5.1MB `domains.txt` to a 10.4MB `unbound.txt`, with the underlying `config.json` in the repository and the generated output hosted on energized.pro. Two caveats before you point DNS at it. The version badge reads 0.100.a with status alpha, and the README says the project was rebuilt from the ground up with some extension packs still in progress. And there are no published releases, so there is no version to pin: the packs are addressed by URL and updated in place daily, last on 2026-09-24. If you want version pinning you have to build it into your own update job.

## FAQ

### What is the Energized Protection block repository?

A consolidation project that merges several reputable upstream filters into named protection packs, with duplicates and dead or inactive domains removed. The repository itself holds only a config.json, a license and the README, while the generated packs are hosted on energized.pro.

### Which upstream blocklists does Energized Protection block use?

The changelog names them per source, including AdGuard DNS filter, EasyList and its adservers, thirdparty and China variants, EasyPrivacy, oisd nsfw small, oisd big, URLhaus, scamblocklist, Ultimate Ad Filter, Malware and Phishing Blocklist, Phishing Army Extended and uniartisan's Adblock List Plus.

### What file formats do the packs come in?

Eight formats per pack: hosts.txt, hosts_v6.txt, domains.txt, adblock.txt, dnsmasq.txt, unbound.txt, rpz.txt and smartdns.conf. Sizes range from about 5.1MB for the plain domain list to 10.4MB for the Unbound variant.

### How often are the packs updated?

Daily by default, with the README noting the project has the flexibility to push more frequent updates when needed or delay releases when required. The visible changelog run last updated on 2026-09-24.

### Can I report a site that the blocklist breaks or want a domain added?

Yes. The README says new manual entries are added based on threats and community reports, and legitimate domains flagged as false positives are whitelisted. Support runs through a Telegram group, and the repository has an issue template with a category chooser.

## Sources

- [EnergizedProtection/block on GitHub](https://github.com/EnergizedProtection/block)
- [Issues](https://github.com/EnergizedProtection/block/issues)
- [License: MIT](https://github.com/EnergizedProtection/block/blob/main/LICENSE)
- [Project website](https://energized.pro)
- [README](https://github.com/EnergizedProtection/block/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/energizedprotection-block
