AdguardTeam / AdguardForAndroid

Open bug tracker for Android version of AdGuard.
https://adguard.com/
1.33k stars 90 forks source link

DoH3 cannot be used when using Adguard integrated mode. #4758

Open nowlife951 opened 1 year ago

nowlife951 commented 1 year ago

Please answer the following questions for yourself before submitting an issue.

AdGuard version

4.0.910

Environment

- OS:android 1e
- Device:S23 ultra
- Firmware: lastest

DNS-Over-HTTP/3 cannot be used when using Adguard integrated mode.

As a condition, it occurs when you turn on the h3 protocol in integrated mode or try http/3 in low-level settings.

Chrome-based apps get DNS_PROBE_POSSIBLE error page and no internet connection.

However, uniquely, DoH3 can be used when using Socks5 proxy mode, not integrated mode.
(proxy server address = 127.0.0.1
port = 1080)

Ps.1 DoH3 can be used when Adguard is used alone.

Ps.2 The test was done with the nextdns dns server.  In "test.nextdns.io", it is clearly indicated whether it is DoH or DoH3.

Root access

What filters do you have enabled?

AdGuard Base filter, AdGuard Mobile Ads filter, AdGuard Tracking Protection filter, AdGuard URL Tracking filter, AdGuard Social Media filter, AdGuard Annoyances filter

What Stealth Mode options do you have enabled?

Hide your search queries, Strip URLs of tracking parameters, Self-destruction of third-party cookies, Disable cache for third-party requests, Disable WebRTC, Block Push API, Block Location API, Remove X-client-Data header from HTTP request

Issue Details

Steps to reproduce:

  1. (AG+AGV) Adguard integrated mode
  2. DNS server h3 protocol or try http/3 option in low-level settings
  3. Surfing the Web in a Chrome-Based App

Expected Behavior

No response

Actual Behavior

DNS_PROBE_POSSIBLE error page and no internet connection

Screenshots

Screenshot 1:

Additional Information

No response

maxikuzmin commented 1 year ago

@nowlife951 thanks for the long wait. I don't have this problem recurring. What DNS address are you adding?

nowlife951 commented 1 year ago

When using the h3 protocol and the DoH3 option, it seems to connect to plaintext DNS. Connected to DNS-over-https when using Adguard alone on the Adguard test page. However, when using integrated mode, "You are using the "Non-filtering" AdGuard DNS configuration Protocol: "DNS" Server: "dns2-dp-tok-4"" is displayed.

When using Cloudflare, on the 1.1.1.1/help page, when using AG alone, it says 1.1.1.1 and DoH Yes. However, when using integrated mode, it says No.

Nextdns can also be checked at test.nextdns.io.

https://unfiltered.adguard-dns.com/dns-query https://dns.adguard-dns.com/dns-query https://cloudflare-dns.com/dns-query

h3://unfiltered.adguard-dns.com/dns-query h3://dns.adguard-dns.com/dns-query h3://cloudflare-dns.com/dns-query

maxikuzmin commented 1 year ago

@nowlife951 I checked it out, looks like a bug. We'll look into it. As a temporary solution you can select Automatic DNS, and manually enter the server address in Automatic DNS, this should help

nowlife951 commented 1 year ago

Doesn't Auto DNS only work with plaintext? For now, only DoH3 is a problem, and the rest works fine (ex. DoH, DNSCrypt, DoQ, DoT). Select and use Adguard DNS non-filtering DNS from the list.

maxikuzmin commented 1 year ago

@nowlife951 you can manually set the address in Automatic DNS. But I suggest this case if you want to use integration mode. This option is suitable for adding IPv6 or IPv4 only. Globally, you can use other servers for now, we'll deal with the DoH3 issue in a while