Skip to content

Solve your DNS hosts from your docker containers, then from your local configuration, then from internet

License

Notifications You must be signed in to change notification settings

mageddo/dns-proxy-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI help me to keep DPS up to date

Main features

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

Basic running it

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 --register-container-names

Solving docker container from container name

$ docker run --rm --name nginx-app nginx

$ nslookup -po=5555 nginx-app.docker 127.0.0.1
172.17.0.3

Solving docker container from hostname

$ 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.

Documents

Versioning and Releasing

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.

Donation

Help me to keep DPS up to date

Via PayPal

Or via QR code