AdGuardHome
AdGuardHome copied to clipboard
Encrypted ClientHello
Problem Description
Please consider adding support for Encrypted SNI in Adguard Home (if applicable).
I'm no network engineer so I don't know if it even applies, but it would be nice if it could be implemented.
CloudFlare's Reference: https://blog.cloudflare.com/encrypted-sni/ CloudFlare's Test Page: https://www.cloudflare.com/ssl/encrypted-sni/
True! Hope more security! https://allinfa.com/dns-over-https-doh.html https://allinfa.com/encrypted-server-name-indication-esni.html https://www.cloudflare.com/ssl/encrypted-sni/
For your own queries do you mean? Surely eSNI is already supported. I get _esni queries answered in my query log all the time, and Cloudflare confirms my connections include encrypted SNI.
Added to that, my ISP blocks torrent sites (court order, UK) but with eSNI enabled in Firefox, and AGH set to use a capable upstream (i.e. Cloudflare), I can load the sites no problems even without a VPN (because the ISP can't see what I'm connecting to, as both DNS and SNI are encrypted). Add Cloudflare as your upstream and, in Firefox's about:config
, set network.security.esni.enabled
to true. You must third, and finally, have encrypted DNS over HTTPS set up in Firefox (either via Preferences or about:config
)
ESNI standard is far from being out of the draft state. FF and Cloudflare have implemented some old draft which is rather far from the current state of the spec.
Anyways, we can only implement this when ESNI is finalized and supported by Golang, and this is not the case yet.
Is there any update on Encrypted SNI?
The news are:
- It is now called ECH
- It is still in the draft stage
- It is still used by no one. CloudFlare even disabled it for now.
It looks like Cloudflare have now enabled it and i think it's on by default for new customers: https://blog.cloudflare.com/announcing-encrypted-client-hello/
Not that simple, they seem to have disabled it for most of the users now, was causing some troubles.
Anyways, in golang there's no way to use ECH unless you're using a Cloudflare's fork of Go.
Generally it's possible to use it now, but I'd prefer to wait until ECH makes it to Go's crypto/tls
.
Reopened just to show that we're planning to implement it eventually.
Any news on this topic?
I am using tls://1dot1dot1dot1.cloudflare-dns.com
as the main upstream DNS server and https://dns.cloudflare.com/dns-query
for the fallback DNS server. I do get Encrypted SLI and ECH.
Any news on this topic?
ECH is still not supported natively by crypto/tls
. Switching all crypto to Cloudflare's fork is too much.
We probably could come up with a solution similar to what I did in gocurl and implement it for upstreams.
https://dns.cloudflare.com/dns-query
This domain does not indicate ECH support at the moment.
I can stress this not enough, how important the progress is.
It's about federal-surveillance and such. Mostly I can disable all VPN-connections having that enabled in effect.