|
|
||
|---|---|---|
| deployment | ||
| .gitignore | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| blocklists.go | ||
| blocklists_test.go | ||
| config.go | ||
| config.json | ||
| dns.go | ||
| go.mod | ||
| go.sum | ||
| http.go | ||
| main.go | ||
| makefile | ||
README.md
Gopherhole
DNS server for blocking ads. Like Pi hole but for hackers.
- Has support for custom DNS records and block lists.
- Supports custom upstream DNS servers for recursively resolving domains
- Supports adding block lists and records via HTTP API.
- Prometheus metrics support.
- HTTP JSON API metrics.
- DNS over HTTPS
How to use
-
go get git.vdhsn.com/adam/gopherhole -
run like so:
gopherhole -config ./config.json -bind-http 127.0.0.1 -bind-dns 127.0.0.1 -block-forward-ip 127.0.0.1 -
example config.json file below:
{ "upstream": [ "1.1.1.1", "8.8.8.8" ], "records": { "mynas.internal": { "Type": "A", "Record": "192.168.0.99" }, "eyeofsauron.com": { "Type": "CNAME", "Record": "www.google.com" } }, "blocklists": [ "https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts", "https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt", "https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt" ] }
License
GPL-V3