Skip to content

network-plane/dnsplane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

dnsplane

dnsplane

A non standard DNS Server with multiple management interfaces. Its main function is it will do the same dns request to multiple DNS servers, if any of the servers replies with an authoritative reply it chooses that, otherwise it provides the reply from the fallback dns server. This will help in case for example you have a local dns server and you connect to work over a VPN and use that DNS server at the same time.

Diagram

image

Usage/Examples

start as daemon (default)

./dnsplane

The daemon keeps the resolver running, exposes the UNIX control socket at /tmp/dnsplane.socket, and listens for remote TUI clients on TCP port 8053 by default.

start in client mode (connects to the default unix socket unless overridden)

./dnsplane --client
# or specify a custom socket path
./dnsplane --client /tmp/dnsplane.sock

connect to a remote resolver over TCP (default port 8053)

./dnsplane --client 192.168.178.40
./dnsplane --client 192.168.178.40:8053

change the server socket path

./dnsplane --server-socket /tmp/custom.sock

change the TCP TUI listener

./dnsplane --server-tcp 0.0.0.0:9000

Recording of clearing and adding dns records

Recording.2024-09-21.224123.mp4

Config Files

File Usage
dnsrecords.json holds dns records
dnsservers.json holds the dns servers used for queries
dnscache.json holds queries already done if their ttl diff is still above 0
dnsplane.json the app config

Roadmap

  • REST API enhancements
  • Remote Client (Over TCP)

Dependancies & Documentation

Go Mod

Go Reference

Dependancies

OpenSSF Best Practices

OpenSSF Scorecard

Code Climate issues

GitHub commit activity

Contributing

Contributions are always welcome! All contributions are required to follow the https://google.github.io/styleguide/go/

Authors

License

I will always follow the Linux Kernel License as primary, if you require any other OPEN license please let me know and I will try to accomodate it.

License

About

DNS Server for labs and home

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages