HTTP-прокси может передать запрос службе DNS-over-HTTPS. Для JSON-интерфейса Google Public DNS явный запрос может выглядеть так:

curl --fail --proxy http://proxy.example.net:8080 --noproxy "" \
  --get --data-urlencode "name=example.net" \
  --data-urlencode "type=A" \
  https://dns.google/resolve

Прокси передаёт HTTPS-соединение к dns.google. Список HTTP-прокси — одно из мест, где можно выбрать кандидата для этого публичного запроса, когда доступ через публичные прокси разрешён. Резолвер Google отвечает на параметр name. Это не запрос прокси вернуть собственный кэш DNS и не изменение конфигурации DNS, используемой другими приложениями.

Читайте Status в JSON и возвращённые записи, а не только HTTP-статус. Успешно доставленный HTTP-ответ может описывать сбой DNS. Измените type на нужную запись, например AAAA или MX; один запрос A — не полный перечень всех типов записей.

Формат JSON этой конечной точки — документированный API Google. Стандартные клиенты DoH в проводном формате используют вместо него сообщения DNS и application/dns-message. Обычный вызов nslookup не получает ни один из этих двух HTTP-интерфейсов только потому, что задан HTTPS_PROXY.

Похожие статьи