Помогите, пожалуйста, разобраться с тем, как обрабатываются DNS-запросы в Андроиде.
В системе указан “Частный DNS” (Сloudflare) - DoT.
В браузере указан DoH cloudflare-dns.com.
Я правильно понимаю, что прописанное в настройках браузера - первично и все имена резолвятся именно тем резолвером, который указан в браузере? А если отключить DoH в браузере, то резолв ляжет на “частный DNS”, указанный в настройках?
По идее, все должно быть именно так. Но при этом все эти запросы проходят в нешифрованном виде, на 53 порт резолвера Cloudflare (что хоть и работает, но небезопасно) - это видно с помощью вайршарка. Получается, что где-то происходит fallback. Интересно, где… и почему он происходит. Или в Андроиде так задумано - если недоступен DoT, то уходит обычный незашифрованный запрос?
И недавно, как раз с началом новых блокировочных битв, при открытии некоторых (не всех) страниц в браузере возникает вот такая проблема

Примерно на секунду-две, после этого происходит повторная попытка и страница загружается нормально.
Это просто как мимолетное виденье, не сразу смог поймать и заскринить.
Человек, которому я пытаюсь помочь избавиться от проблем с DNSами, использует Shadowsocks (сервер в Европе, без каких-либо блокировок). Получается, Shadowsocks не проксирует DNS-запросы или такова общая политика Андроида?
Странно получается: трафик вроде бы проксируется, а DNS-запросы нет и усилиями РКН интернет все равно ломается.
В клиенте Shadowsocks, используемом этим пользователем, есть настройка “DNS-сервер”, но, такое впечатление, она игнорируется - что бы там ни было прописано, никакого эффекта это не имеет (если оставлять ее пустой - тоже).
Буду рад, если поможете разобраться и помочь человеку.
Да, важное дополнение - при проверке на https://www.dnsleaktest.com/ выдаются DNS-резолверы, используемые на Shadowsocks-сервере (не имеют никакого отношения к Cloudflare, там резолверы от Google и два резолвера Tor).