DnsForwarder

A dns server, cacher, and forwarder.
- Resolve with multiple upstreams
- Caching the record from upstreams
- Support local hosts files
Getting started
Installation
Make sure you have a correctly configured Go installtion first, then:
$ go get -u -v github.com/codebear4/dnsforwarder
Configuration
udpOverTcp: If set it to true, server will use TCP connection with upstreams even the request from client is UDP request.
cache:
enable: Enable or disable in-memory cache
ttl: Default TTL for cache
loggers:
console:
enable: Enable or disable console logger
level: Log level for console logger
file:
enable: Enable or disable file logger
level: Log level for file logger
path: Log file path
timeout:
server:
read: Timeout for read from clients
write: Timeout for write to clients
forwarder:
read: Timeout for read from upstreams
write: Timeout for write to upstreams
host:
enable: Resolve with hosts files
resolvs: Hosts files list
upstreams: List of upstream dns servers
Running
$ sudo dnsforwarder
TODO
- Cache persistence
- Packaging
- Hot-reload