All Projects → miekg → block

miekg / block

Licence: Apache-2.0 license
Proof of concept CoreDNS plugin that implements a block list

Programming Languages

go
31211 projects - #10 most used programming language

block

Name

block - blocks domains by using pi-hole's block lists.

Description

The block plugin will block any domain that is on the block lists. The block lists are downloaded on startup or otherwise once a week.

For a domain that is blocked we will return a NXDOMAIN response.

THIS IS A PROOF OF CONCEPT. IT IS NOT PRODUCTION QUALITY.

Syntax

block

Metrics

If monitoring is enabled (via the prometheus directive) the following metric is exported:

  • coredns_block_count_total{server} - counter of total number of blocked domains.

The server label indicates which server handled the request, see the metrics plugin for details.

Examples

Block all domain on the block list.

. {
  forward . 9.9.9.9
  block
}

On startup the block lists are downloaded, and assuming 005.example.org is on the list, it will be blocked, including any subdomains.

[INFO] plugin/block: Block lists updated: 226126 domains added
[INFO] plugin/block: Blocked 005.example.org.
[INFO] plugin/block: Blocked www.005.example.org.

Bugs

Block currently requires a working resolver to fetch the downloads. This should be re-worked to use the proxy/forwarder (if defined).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].