mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 03:05:51 +03:00
[GH-ISSUE #1438] Expose options for the non-standard query path and connection port while doing DoH (DNS over HTTPS) #668
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#668
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @IceCodeNew on GitHub (Apr 6, 2021).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/1438
As China continuously blocking the well-known Secure DNS services, it is getting much harder for doing DoH queries by
trust-dnsas it can only perform standard DNS-over-HTTPS queries.This situation could get much better if we make DoH querying works with a custom query path, and even the support of a non-443 port.
Firstly, these features will enlarge the range of Secure DNS services that could work well with
trust-dns. Secondly, though I couldn't find a strong province, it seems that the DoH query on a non-standard port is less likely to be censored.Finding another Secure DNS service that is not blocked by China yet. But I am already about to run out of this kind of trick.
@bluejekyll commented on GitHub (Apr 6, 2021):
I don't have a great solution for you here. But, it's relatively easy to bind to any port you want with the existing library. Not sure if that's enough for what you want or need. Also, query path should be encapsulated inside the TLS stream with DoH, so I don't think the query path should matter. Can you expand on that?
In terms of the trust_dns named config, there isn't an easy way in the existing toml config to do what you need/want, we should fix this, make the protocols and ports more explicit in the network configuration. But (mainly this was added for testing) the
--https-portoption allows for overriding the default listening port, from named help:As to the resolver, this is also possible when configuring the upstream name_servers: https://docs.rs/trust-dns-resolver/0.20.1/trust_dns_resolver/config/struct.NameServerConfigGroup.html#method.from_ips_clear, but you want the
from_ips_encrypted(when dns-over-https is enabled, we're fixing the docs in the next release to include all features on docrs, but you can see that method locally when you usecargo docs).Hope that helps?
@IceCodeNew commented on GitHub (Apr 6, 2021):
Well, I'm not saying that the query path has anything to do with censorship.
It is just the fact that some DoH servers, as their owner had decided to make them listening on a non-443 port. They usually would also have a custom query path for DoH connections.
So it is necessary to have both options for HTTPS listening port and query path, for me.
// FYI, I am trying to get
trust-dnsworks with https://101.6.6.6:8443/resolve .Thanks for your suggestion.