A simple, go-based DNS resolver/caching server
Go to file
kenshin 0dfc4bf100 refactor memory cache into map[string]dns.Msg 2013-07-24 19:01:31 +08:00
README.MD Memory cache implemented 2013-07-24 18:29:38 +08:00
cache.go refactor memory cache into map[string]dns.Msg 2013-07-24 19:01:31 +08:00
godns.conf exception handle 2013-07-24 10:52:59 +08:00
handler.go refactor memory cache into map[string]dns.Msg 2013-07-24 19:01:31 +08:00
main.go first commit 2013-07-23 19:10:38 +08:00
resolver.go exception handle 2013-07-24 10:52:59 +08:00
server.go first commit 2013-07-23 19:10:38 +08:00
settings.go Memory cache implemented 2013-07-24 18:29:38 +08:00

README.MD

GODNS

A tiny dns cache server written by go.

Similar as dnsmasq ,but support some difference features:

  • Keep hosts configuration in redis instead of local file /etc/hosts
    So can be updated from remote server

  • Atuo-Reload when hosts configuration changed. (Yes,dnsmasq need restart)

  • Cache records save in memory or redis configurable

Install & Running

Configuration

All the configuration on godns.conf a TOML formating config file.
More about Toml :https://github.com/mojombo/toml

resolv.conf

Upstream server can be configuration by change file from somewhere other that "/etc/resolv.conf"

[resolv]
resolv-file = "/etc/resolv.conf"

If multi namerserver set at resolv.conf, the upsteam server will try in order of up to botton

hosts

cache