Skip to content
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

HTTP/3 support for frontend and DNS-over-HTTPS (DNS-over-HTTP/3, DoH3) #3955

Closed
ammnt opened this issue Dec 18, 2021 · 5 comments
Closed

HTTP/3 support for frontend and DNS-over-HTTPS (DNS-over-HTTP/3, DoH3) #3955

ammnt opened this issue Dec 18, 2021 · 5 comments
Assignees
Labels
external libs Issues that require changes in external libraries. feature request P3: Medium
Milestone

Comments

@ammnt
Copy link

ammnt commented Dec 18, 2021

Hello,

as far as we all know HTTP/3 it's close... Please add HTTP/3 support for three AGH entities:

  1. Frontend web-interface;
  2. Client part DoH;
  3. Upstream DoH servers.

As I understand it, now the server is forcing down the connection protocol to HTTP/2☹️ Some providers already provide DoH3 support. For example, NextDNS has an DoH3 endpoint so you can try to test it too:
https://doh3.dns.nextdns.io/subscription_id/clients_id
https://help.nextdns.io/t/y4hfw14/cant-use-doh3

Thank you.
Best regards!🎁

@ainar-g
Copy link
Contributor

ainar-g commented Dec 20, 2021

AFAIK, the Go standard library currently doesn't support HTTP/3, and probably won't until it graduates the draft standard phase. Once it does, the Go standard library will probably get an implementation shortly.

@ameshkov
Copy link
Member

DNS-over-HTTP3 support has been recently added to dnsproxy.

Here's what we should do now:

  1. Upgrade dnsproxy version.
  2. Add a flag to AdGuardHome.yaml that enables HTTP/3 for both the server-side and the client-side.

Eventually, we'll enable it globally so there's no need to expose it to the UI.

@ainar-g ainar-g self-assigned this Sep 20, 2022
@ainar-g ainar-g added this to the v0.107.14 milestone Sep 20, 2022
@ainar-g ainar-g modified the milestones: v0.107.14, v0.107.15 Sep 29, 2022
adguard pushed a commit that referenced this issue Oct 3, 2022
Updates #3955.

Squashed commit of the following:

commit acfd5cc
Merge: caeac6e 61bd217
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 18:00:37 2022 +0300

    Merge branch 'master' into 3955-doh3

commit caeac6e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 17:54:16 2022 +0300

    all: fix server closing; imp docs

commit 8739614
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 17:33:39 2022 +0300

    all: add doh3 support
@ainar-g
Copy link
Contributor

ainar-g commented Oct 3, 2022

Added in v0.108.0-a.313+0cce4202. We'll need to make more adjustments, but these are going to be made in other issues.

@ainar-g ainar-g closed this as completed Oct 3, 2022
@gspannu
Copy link

gspannu commented Oct 4, 2022

I have enabled both the config file parameters

serve_http3: true
use_http3_upstreams: true

but I am unable to use the following 2 providers in my upstream.
h3://dns.google
h3://cloudflare-dns.com

My upstream section looks like this

h3://cloudflare-dns.com
h3://dns.google
#---------------------
quic://unfiltered.adguard-dns.com
tls://unfiltered.adguard-dns.com
tls://1dot1dot1dot1.cloudflare-dns.com
tls://dns.google
tls://dns.opendns.com

Can you please advise where I am going wrong?

@ameshkov
Copy link
Member

ameshkov commented Oct 4, 2022

Should be h3://dns.google/dns-query and h3://cloudflare-dns.com/dns-query

Also, you don't need to enable these two config parameters if you use h3://.

  1. use_http3_upstreams enables probing for HTTP/3 for regular https://
  2. serve_http3 makes AdGuard Home run a DoH3 server when you have encryption configured.

heyxkhoa pushed a commit to heyxkhoa/AdGuardHome that referenced this issue Mar 20, 2023
Updates AdguardTeam#3955.

Squashed commit of the following:

commit acfd5cc
Merge: caeac6e 61bd217
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 18:00:37 2022 +0300

    Merge branch 'master' into 3955-doh3

commit caeac6e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 17:54:16 2022 +0300

    all: fix server closing; imp docs

commit 8739614
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 17:33:39 2022 +0300

    all: add doh3 support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external libs Issues that require changes in external libraries. feature request P3: Medium
Projects
None yet
Development

No branches or pull requests

4 participants