You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.4 KiB
49 lines
1.4 KiB
# Gopherhole
|
|
|
|
Go built DNS server for blocking ads. Like Pi-hole but for hackers.
|
|
|
|
Works with Pi-hole block lists.
|
|
|
|
Find more Pi-Hole compatible block lists here: <https://firebog.net/>
|
|
|
|
- [x] Has support for custom DNS records and block lists.
|
|
- [x] Supports custom upstream DNS servers for recursively resolving domains.
|
|
- [x] Supports reloading block lists via HTTP API.
|
|
- [ ] Setting to use hosts file as upstream
|
|
- [ ] Generate example config command.
|
|
- [ ] 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:
|
|
|
|
```sh
|
|
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:
|
|
|
|
```json
|
|
{
|
|
"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
|