Like Pi Hole but for gophers.
 
 
 
Go to file
Adam Veldhousen 2d3d6bea05
readme, license
2020-06-01 02:39:38 -05:00
deployment fixup code a bunch 2020-06-01 02:08:57 -05:00
.gitignore initial commit 2020-05-30 00:40:04 -05:00
Dockerfile fixup code a bunch 2020-06-01 02:08:57 -05:00
LICENSE readme, license 2020-06-01 02:39:38 -05:00
README.md readme, license 2020-06-01 02:39:38 -05:00
blocklists.go fixup code a bunch 2020-06-01 02:08:57 -05:00
blocklists_test.go use correct name in dns header, fixes blacklisting 2020-06-01 02:27:14 -05:00
config.go fixup code a bunch 2020-06-01 02:08:57 -05:00
config.json fixup code a bunch 2020-06-01 02:08:57 -05:00
dns.go allow setting forward IP address for blocked domains 2020-06-01 02:31:20 -05:00
go.mod readme, license 2020-06-01 02:39:38 -05:00
go.sum initial commit 2020-05-30 00:40:04 -05:00
main.go allow setting forward IP address for blocked domains 2020-06-01 02:31:20 -05:00
makefile fixup code a bunch 2020-06-01 02:08:57 -05:00

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