iYUYUE / dns-zone-blacklist

This project generates dnsmasq, bind and unbound zone files to be used in DNS based AD Blockers.

Home Page:https://hub.docker.com/r/oznu/dns-ad-blocker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DNS Zone Blacklist Generator

This project generates a zone file for BIND, Dnsmasq and Unbound DNS servers using data from the ShadowWhisperer/BlockLists project. The generated zone files can be used to block ads and malware for an entire network when used with a local DNS server.

DNS based ad blockers can support wildcard entries. This tool filters out any subdomains of known adware or malware domains, reducing the number of zone entries required from 313,395 down to 18,851.

DNS Server Response Type Download SHA256 Checksum
BIND 0.0.0.0 link link
BIND (RPZ) NXDOMAIN link link
Dnsmasq 0.0.0.0 link link
Dnsmasq NXDOMAIN link link
Unbound 0.0.0.0 link link
Unbound NXDOMAIN link link

Building the Blacklist

The blacklist can be generated using Node.js 8.4.0 or later.

Install:

git clone https://github.com/iYUYUE/dns-zone-blacklist.git
cd dns-zone-blacklist

npm install

Then build:

node build.js

The compiled blacklist files will be saved to the ./bind, ./dnsmasq and ./unbound a directories in the root of the project.

Custom Entries

Custom entries can be added to the custom.blacklist.json file in the root of this project before building.

Whitelist

Any domains you wish to exclude from the blacklist can be added to the custom.whitelist.json file in the root of this project before building.

About

This project generates dnsmasq, bind and unbound zone files to be used in DNS based AD Blockers.

https://hub.docker.com/r/oznu/dns-ad-blocker

License:MIT License


Languages

Language:JavaScript 71.7%Language:Shell 23.6%Language:Dockerfile 4.7%