DPS is a lightweight end user (Developers, Server Administrators) DNS server tool which make it easy to develop in systems where one hostname can solve to different IPs based on the configured environment, so you can:
- Solve hostnames from local configuration database
- Solve hostnames from docker containers
- Solve hostnames from a list of configured remote DNS servers(as a proxy) if no answer of two above
- Solve hostnames using wildcards
- Graphic interface to Create/List/Update/Delete A/CNAME records
- Solve host machine IP using
host.docker
hostname
Checkout the full list of features with examples
You can run DPS as native binary downloading the latest binaries releases or via docker looking at Dockerhub images. See complete running it documentation for running on Mac, Windows, Docker, etc.
Basic running it on Linux or Mac
sudo ./dns-proxy-server --server-port 5555
Solving docker containers:
$ docker run --rm --hostname nginx.dev nginx
$ nslookup -po=5555 nginx.dev 127.0.0.1
172.17.0.3
Solving from pre-configured entries (conf/config.json):
$ nslookup -po=5555 dps-sample.dev 127.0.0.1
192.168.0.254
Solving from Internet
$ nslookup -po=5555 google.com 127.0.0.1
142.250.79.174
Solving stub hostnames like nip.io or sslip.io
$ nslookup -po=5555 machine-1.192.168.0.1.stub 127.0.0.1
192.168.0.1
Solving host machine IP
$ nslookup -po=5555 host.docker 127.0.0.1
172.22.230.67
Solving all subdomains to a specific docker container
$ docker run --rm --hostname .nginx.dev nginx
$ nslookup -po=5555 site1.nginx.dev 127.0.0.1
172.17.0.3
Check more samples to learn by practice.
Please be aware of how DPS controls the releases so you can use the most recent features and updates or prefer to choose the more stable and old builds.
Help me to keep DPS up to date
Via PayPal
Or via QR code