-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
https-dns-proxy: init at unstable-20200419 #81365
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Well, for proxying I'd generally prefer DoT over DoH, but that's certainly nothing against this PR :-) |
Doing random review. I was able to rebase this branch on Turns out this is because I don't have IPv6 connectivity on my machine, and I think that Once I added |
Even if |
Considering that (And maybe it should be called |
Yes, unless they implement the recommended approach of trying both protocols in parallel with preference to IPv6. |
We now have |
f0e3b7a
to
6801c08
Compare
I tried the new version. Now it does use Upon further investigation:
Turns out this IP is blocked by the Russian Federation government. :( For Previously, this PR used Google's I don't know what would be a proper solution here. The problem is strictly local, so it could be ignored; on the other hand, it's present for a large territory. Using |
CloudFlare rotates the records randomly on each reply, precisely because some dumb clients always use the first one (even though they shouldn't act that way). We actually discussed this with them. |
Ok, I tested this, and several consecutive requests to |
stdenv.mkDerivation rec { | ||
pname = "https_dns_proxy"; | ||
# there are no stable releases (yet?) | ||
version = "git-20200301"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We commonly use this scheme:
version = "git-20200301"; | |
version = "unstable-2020-03-01"; |
cfg = config.services.https-dns-proxy; | ||
|
||
providerCfg = | ||
if cfg.provider == "cloudflare" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am against hard coding this. Also this limits support to ipv4.
Can we just leave this open? I for example run https://dns.thalheim.io/dns-query
.
In an option an example for cloudflare or google could be listed though.
However I would leave it up to to the user to make a choice explicitly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about a custom
option? So cf, google or custom and you then need to provide the servers yourself?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of using custom
, it's IMHO better to just make provider
and (something like) dnsUrl
mutually exclusive options.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not add any provider option at all. I think users should educate themselves, where they sent all their DNS queries to. I would rather link to https://github.com/curl/curl/wiki/DNS-over-HTTPS#publicly-available-servers in the documentation.
cc @andir |
I would not add any provider option at all. I think users should educate
themselves, where they sent all their DNS queries too.
I can definitely follow your line of thinking but I will argue that making things accessible beats being "ideologically pure" and that it's better to give people something that works out of the box with relatively sane defaults.
I mean, why even provide this considering everybody should be using tor?
So what I will do is this:
1. change the PR to allow people to specify the upstream servers
2. expand on the description using the link you provided to inform people about the consequence of their choice of upstream provider
If someone just does 'enable = true;' things will work. If somebody such as yourself wants to use a specific upstream, that will work too.
Everybody is happy, kittens will sing and free money all around.
|
ok |
This hasn't had a very high priority for me, so I've just changed the PR to only include the packaging. The module will come later. |
@GrahamcOfBorg build https-dns-proxy |
Motivation for this change
Some applications support DNS over HTTPS but using the https-dns-proxy, it is
now available to all devices on a network.
This PR was opened on a machine that used a firewall that resolves everything
via https-dns-proxy, so it works.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)