You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[ ] Improve robustness and compliance of current DNS clients
40
-
-[ ] Ability to choose a DNS upstream fallback/selection strategy
41
-
-[ ] Good documentation
31
+
[dealdoh-client](https://github.com/noglitchyo/dealdoh-client/) is a CLI utility which offers a ready-to-use implementation
32
+
of this library to send and forward DNS queries.
42
33
43
-
## Getting started
44
-
45
-
If you wish to get started quickly, you might want to use [dealdoh-client](https://github.com/noglitchyo/dealdoh-client/)
46
-
which offers a ready-to-use implementation.
34
+
## Library
47
35
48
36
#### Requirements
49
37
50
38
- PHP 7.3
51
39
- Web server
52
-
- HTTPS enabled with valid certificates (self-signed certificates can work but it depends of the DOH client)
53
-
54
-
To get trusted certificates in a local environment, I recommend you to use [mkcert](https://github.com/FiloSottile/mkcert) which generate for you a local Certificate Authority, and create locally trusted certificates with it. Take 3 minutes to check its really simple documentation for your OS. (since installation differs on each OS)
40
+
- Optional: HTTPS enabled with valid certificates (self-signed certificates can work but it depends of the DOH client making the queries)
55
41
56
42
#### Installation
57
43
58
-
-Install Dealdoh as a dependency:
44
+
-Run `composer require noglitchyo/dealdoh`
59
45
60
-
`composer require noglitchyo/dealdoh`
61
-
62
-
- You will need a PSR-7 ServerRequest if you wish to directly use the `DohProxy::forward()` method.
Mozilla Firefox provides a [Trusted Recursive Resolver](https://wiki.mozilla.org/Trusted_Recursive_Resolver) who can be configured to query DoH servers.
131
64
132
-
I advise you to read [this really good article from Daniel Stenberg](https://daniel.haxx.se/blog/2018/06/03/inside-firefoxs-doh-engine/)
133
-
which will give you lot of details about this TRR and how to configure it like a pro.
65
+
[This article from Daniel Stenberg](https://daniel.haxx.se/blog/2018/06/03/inside-firefoxs-doh-engine/)
66
+
provides a lot of details about TRR and how to configure it.
67
+
Please check also [the browser implementations list](https://github.com/curl/curl/wiki/DNS-over-HTTPS#supported-in-browsers-and-clients).
If you wish to run the test, checkout the project and run the test with:
@@ -157,22 +131,12 @@ Get started here [CONTRIBUTING.md](CONTRIBUTING.md).
157
131
158
132
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
159
133
160
-
## Why Dealdoh?
161
-
162
-
Dealdoh was created for development purpose. I wanted to reach my Docker containers from the browser by their hostnames.
163
-
So I started to use a [Docker image who discover services and register their hostname into a DNS](https://github.com/mageddo/dns-proxy-server) exposed on port 53.
164
-
But I encountered the following issues:
165
-
- I could not change the /etc/hosts file
166
-
- I could not change the DNS for my computer (restrictions issue)
167
-
168
-
I ended up with the following solution: use the DoH client from Firefox and proxy every DNS query to a DoH proxy: Dealdoh.
169
-
170
134
## Acknowledgments
171
135
172
-
*https://github.com/reactphp/dnsfor their really good DNS wire format codec.
173
-
*https://github.com/mageddo/dns-proxy-server for its amazing container hostname discovery & DNS Docker image.
174
-
Combined with Dealdoh it is amazing.
175
-
*https://github.com/facebookexperimental/doh-proxy, because their doh-client rocks!
0 commit comments