Skip to content

Commit

Permalink
Docs Update: Introducing DNS Features List (#609)
Browse files Browse the repository at this point in the history
* change to symlimk

* docs update

* configuring features list

* setup legend
  • Loading branch information
mageddo authored Nov 22, 2024
1 parent 1eec1df commit f49a055
Show file tree
Hide file tree
Showing 3 changed files with 141 additions and 119 deletions.
109 changes: 0 additions & 109 deletions README.md

This file was deleted.

1 change: 1 addition & 0 deletions README.md
42 changes: 38 additions & 4 deletions docs/content/2-features/_index.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,32 @@ title: Features
weight: 2
pre: "<b>2. </b>"
---
## Features

## DNS Features List

* [🟡 Authoritative][1]
* [✅ Recursive][2]
* [❌ Recursion ACL][3]
* ✅ Secondary mode
* [✅ Caching][4]
* [✅ IPv6][7]
* [✅ Wildcard][8]
* [❌ Split horizon][9]
* [❌ DNS over HTTPS][10]
* [❌ DNS over QUIC][11]
* [❓DNSSEC][5]
* [❓TSIG][6]

```
❓ = Unknown
❌ = Not implemented
✅ = Implemented
🟡 = Partially Implemented
```

## Other Features Manual

{{%children style="li" %}}
* IPV4/IPV6 Support

## Main features use cases

Expand Down Expand Up @@ -54,7 +76,7 @@ Name: dps-sample.dev
Address: 192.168.0.254
```

Access the gui by using http://localhost:5380 , see [this link][1].
Access the gui by using http://localhost:5380 , see [this link][12].

## DNS resolution order
**DPS** follow the below order to solve hostnames
Expand All @@ -63,4 +85,16 @@ Access the gui by using http://localhost:5380 , see [this link][1].
* Then from local database file
* Then from 3rd configured remote DNS servers

[1]: {{%relref "2-features/gui/_index.md" %}}

[1]: https://en.wikipedia.org/wiki/Name_server#Authoritative_name_server
[2]: https://en.wikipedia.org/wiki/Name_server#Recursive_query
[3]: https://en.wikipedia.org/wiki/Access_control_list
[4]: https://en.wikipedia.org/wiki/Name_server#Caching_name_server
[5]: https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions
[6]: https://en.wikipedia.org/wiki/TSIG
[7]: https://en.wikipedia.org/wiki/IPv6
[8]: https://en.wikipedia.org/wiki/Wildcard_DNS_record
[9]: https://en.wikipedia.org/wiki/Split-horizon_DNS
[10]: https://en.wikipedia.org/wiki/DNS_over_HTTPS
[11]: https://en.wikipedia.org/wiki/DNS_over_QUIC
[12]: {{%relref "2-features/gui/_index.md" %}}
108 changes: 102 additions & 6 deletions docs/content/_index.en.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: "Getting Started"
---
[![CI](https://github.com/mageddo/dns-proxy-server/actions/workflows/ci.yml/badge.svg)](https://github.com/mageddo/dns-proxy-server/actions/workflows/ci.yml)
[![help me to keep DPS up to date][7]][6]

### Main features

Expand All @@ -9,13 +8,110 @@ which make it easy to develop in systems where one hostname can solve to differe
on the configured environment, so you can:

* Solve hostnames from local configuration database
* Solve hostnames from [docker containers][1]
* Solve hostnames from [docker containers][11]
* 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


![](https://i.imgur.com/aR9dl0O.png?width=60pc)
Checkout the [full list of features][4] with examples

[1]: {{%relref "2-features/docker-solving/_index.md" %}}
![](https://i.imgur.com/aR9dl0O.png)

### Basic running it

You can run DPS as native binary downloading the latest [binaries releases][2]
or via docker looking at [Dockerhub images][3]. See [complete running it][5] documentation for running on
Mac, Windows, Docker, etc.

Basic running it on Linux or Mac

```bash
sudo ./dns-proxy-server --server-port 5555 --register-container-names
```

Solving docker container [from container name][11]
```bash
$ 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
```bash
$ 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):
```bash
$ nslookup -po=5555 dps-sample.dev 127.0.0.1
192.168.0.254
```

Solving from Internet
```bash
$ nslookup -po=5555 google.com 127.0.0.1
142.250.79.174
```

Solving stub hostnames like nip.io or sslip.io
```bash
$ nslookup -po=5555 machine-1.192.168.0.1.stub 127.0.0.1
192.168.0.1
```

Solving host machine IP
```bash
$ nslookup -po=5555 host.docker 127.0.0.1
172.22.230.67
```

Solving all subdomains to a specific docker container

```bash
$ docker run --rm --hostname .nginx.dev nginx

$ nslookup -po=5555 site1.nginx.dev 127.0.0.1
172.17.0.3
```

Check more [samples][9] to learn by practice.

### Documents
* [Full documentation](http://mageddo.github.io/dns-proxy-server/)
* [Running it documentation][5]
* [Tutorials and Examples][9]
* [Coding at the DPS][10]
* [RFC-1035][1]

### Versioning and Releasing
Please be aware of [how DPS controls the releases][8] 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

[![][7]][6]

Or via QR code

![](https://i.imgur.com/LmN7g2j.png)

[1]: https://www.ietf.org/rfc/rfc1035.txt
[2]: https://github.com/mageddo/dns-proxy-server/releases
[3]: https://hub.docker.com/r/defreitas/dns-proxy-server
[4]: http://mageddo.github.io/dns-proxy-server/latest/en/2-features/
[5]: http://mageddo.github.io/dns-proxy-server/latest/en/1-getting-started/running-it/
[6]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=PYFAZCXL442B6&source=url
[7]: https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif
[8]: http://mageddo.github.io/dns-proxy-server/latest/en/1-getting-started/versioning
[9]: http://mageddo.github.io/dns-proxy-server/latest/en/5-tutorials/
[10]: http://mageddo.github.io/dns-proxy-server/latest/en/4-developing/
[11]: https://mageddo.github.io/dns-proxy-server/latest/en/2-features/docker-solving/

0 comments on commit f49a055

Please sign in to comment.