README ¶ dns2tcp Simple forwarding+caching DNS server that works with upstreams over TCP A tiny DNS server with the ability to forward your DNS requests to upper DNS servers using TCP proto: works like a transport proxy UDP -> TCP (requests coming to DNS server via UDP converts to queries over TCP) multi-threading (the main reason why golang used) cache-in-memory periodic garbage collector (removes outdated records by TTL) configuration file support flow diagram dns 1 / DNS / clients ---UDP---> dns2tcp server---TCP--------> dns 2 \ \ ... \ dns N usage cd /etc git clone https://github.com/denisix/dns2tcp cd dns2tcp go run dns2tcp.go configuration bind 127.0.0.1:53 - instructs server to listed on IP 127.0.0.1, port 53 ns 1.1.1.1:53 - send TCP DNS queries to upstream at 1.1.1.1 (CloudFlare in this case) ttl-absent 3600 - how long cache absent records, their TTL in secs timeout 100 - 100 msec timeout to wait for reply retry 30 - retries before we gen the content gc-interval 1800 - 30 min (1800 sec) interval for garbage collector runs building binary go build dns2tcp.go ./dns2tcp Expand ▾ Collapse ▴ Documentation ¶ There is no documentation for this package. Source Files ¶ View all Source files dns2tcp.go Click to show internal directories. Click to hide internal directories.