AdguardTeam / CoreLibs

Core Adguard libraries
https://adguard.com/
Apache License 2.0
39 stars 7 forks source link

QUIC missing when using dnscrypt-proxy #1892

Open zubrRB opened 1 month ago

zubrRB commented 1 month ago

Please answer the following questions for yourself before submitting an issue

AdGuard version

7.18.1 (4778)

Browser version

115.13.0 esr

OS version

Windows 7 (x64)

Issue Details

Steps to reproduce:

  1. Установить в качестве службы dnscrypt-proxy.exe https://github.com/DNSCrypt/dnscrypt-proxy/releases.
  2. Запустить тест на сайте https://quic.nginx.org/quic.html.

Expected Behavior

Используется QUIC.

Actual Behavior

QUIC стабильно используется только в случае отключения защиты (фильтрации) в AdGuard. Редко используется, если в настройках Firefox задано — Включить безопасный DNS, используя: Защиту по умолчанию.

Screenshots

Screenshot ![QUIC test](https://github.com/user-attachments/assets/10ea9d6b-2c20-4ce9-a3a5-9b1d5d106571)

Additional Information

QUIC не используется в случае включения в браузере Firefox параметра: network.http.http3.enabled - true, Ни в случае специального прописывания в файле конфигурации dnscrypt-proxy.toml параметра: http3 = true. Прописывание второго без первого к тому же может вызвать проблемы и сбой в работе со стороны AdGuard.

zubrRB commented 1 month ago

https://github.com/DNSCrypt/dnscrypt-proxy/discussions/2644

zubrRB commented 1 month ago

Этот конфликт возникает в случае включения (любой из) настроек для использования HTTP/3 в Firefox и/или DNSCrypt. В DNS через HTTPS браузера для безопасного DNS задан — Отключить (Использовать разрешение DNS по умолчанию). Заданный параметр в Firefox network.http.http3.enabled = true или http3 = true в DNSCrypt вызывает сбой QUIC.

zubrRB commented 1 month ago

Но даже в таком случае никогда сразу после запуска браузера не удаётся пройти тест на QUIC: либо HTTP, либо Failed. Однако все перечисленные проблемы разом исчезают, если использовать любую из названных настроек или обе сразу в Firefox и DNSCrypt с отключенной в расширенных настройках AdGuard фичей Использовать HTTP/3 для DNS-over-HTTPS, в том числе сразу после запуска браузера Firefox удаётся без проблем успешно проходить тест на использование QUIC.

http3

zubrRB commented 1 month ago

DNSCrypt-proxy в автоматическом режиме использует все доступные серверы, автоматически выбирая самые быстрые резольверы, и чаще всего одновременно два, одним из которых обычно является nextdns, второй постоянно меняется.