Skip to content

Instantly share code, notes, and snippets.

@bagder
Last active December 27, 2022 05:17
Show Gist options
  • Save bagder/5e29101079e9ac78920ba2fc718aceec to your computer and use it in GitHub Desktop.
Save bagder/5e29101079e9ac78920ba2fc718aceec to your computer and use it in GitHub Desktop.
This once held TRR prefs. Now it has moved.

NOTE

This content has moved.

Please go to bagder/TRRprefs for the current incarnation of the docs, and please help us out polish and maintain this documentation!

@Atavic
Copy link

Atavic commented Nov 18, 2018

network.trr.disable-ECS If set, TRR asks the resolver to disable ECS (EDNS Client Subnet). Some resolvers will use ECS to the upstream if this request is not passed on to them.

https://daniel.haxx.se/blog/2018/06/03/inside-firefoxs-doh-engine/
https://bugzilla.mozilla.org/show_bug.cgi?id=1466462

@tristanmorgan
Copy link

Another one to add to the list of possible resolvers (network.trr.uri) is Quad9's DoH service.
https://dns9.quad9.net/dns-query
or for no malicious blocking...
https://dns10.quad9.net/dns-query

with the boostrap IPs of 9.9.9.9

@uBlock-user
Copy link

that's why you can't use 8.8.8.8 as bootstrapAddress.

So how come I can use 1.1.1.1 even though cloudflare-dns.com never resolves to 1.1.1.1 ?

@nextgenthemes
Copy link

nextgenthemes commented Jul 7, 2019

I tried 2 servers and I did not get trr.mode 3 (forced) to work with any of them other then cloudflair. I used 1.1.1.1 on bootstrap am I supposed to use another server? Should any normal DNS server work there? I tried another regular IPv4 DNS server in there but it does not work either.

Firefox 67.0.4 (64-Bit) on Tumbleweed.

// actually https://dns10.quad9.net/dns-query works with 9.9.9.9 bootstrap as well as mentioned above so every resolver url has to have its own specific bootstrap DNS server for forced mode?

From this list https://github.com/curl/curl/wiki/DNS-over-HTTPS#publicly-available-servers Foundation for Applied Privacy sounds really nice but what use is it if I can not use it in forced mode? They say on their instructions how to set the URL and say you have to set bootstrap but do not bother to tell you to what exactly? I do not get it, tried their IPv4 they list below for DNS-over-TLS (DoT) not sure if this relates, at first I thought it works but I guess it was just because of cache, it actually does not work.

@ewanm89
Copy link

ewanm89 commented Jul 8, 2019

@iphorde Yeah, cause RFC for it doesn't exist, it totally isn't rfc8484, oh wait.

Copy link

ghost commented Jul 8, 2019

The RFC was written after I posted my comment. You should look at the dates. October 2018. I posted on Aug 5, 2018. This is still a terrible idea.

@NatoBoram
Copy link

What about network.trr.wait-for-A-and-AAAA? It seems to be true by default, but it looks like it would do the same thing as network.trr.early-AAAA. What does it do?

@bagder
Copy link
Author

bagder commented Jul 10, 2019

I created this gist while working for Mozilla on the TRR implementation. It has not been maintained and I do not work for Mozilla anymore - since late 2018. For up-to-date Firefox DoH documentation, I hope that Mozilla has a better reference than this by now!

@bagder
Copy link
Author

bagder commented Jul 10, 2019

@iphorde: the RFC was work in progess within the IETF when we wrote this code and several others did the same. That's how protocol standards are typically made.

@uBlock-user
Copy link

Update Google's server please-- https://dns.google/dns-query

@ZackBoe
Copy link

ZackBoe commented Jul 13, 2019

If it helps anyone that winds up at this gist, you can exclude / bypass domains from being resolved with DoH using network.trr.excluded-domains

@bagder
Copy link
Author

bagder commented Jul 14, 2019

I've transitioned this gist into a separate github repository, and I will accept pull requests to update and fix the documentaton.

@uBlock-user
Copy link

Open a PR for the google DOH server address change.

@bagder
Copy link
Author

bagder commented Jul 14, 2019

I've now cut down this gist to force everyone over to the repo instead to keep the docs at a single place. I also added two missing prefs and moved over some blurb from my blog post.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment