Um proxy HTTP pode transportar um pedido até um serviço DNS-over-HTTPS. Para a interface JSON do Google Public DNS, uma consulta explícita pode ser:

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

O proxy transporta a ligação HTTPS até dns.google. A lista de proxies HTTP é um local onde escolher um candidato para esta consulta pública, quando o acesso através de proxies públicos é permitido. O resolver da Google responde ao parâmetro name. Não é um pedido para o proxy devolver a sua própria cache DNS, nem uma alteração à configuração DNS usada por outras aplicações.

Leia o Status no JSON e os registos devolvidos, não apenas o estado HTTP. Uma resposta HTTP entregue com sucesso pode descrever uma falha de DNS. Altere type para o registo necessário, como AAAA ou MX; uma consulta A não é um inventário completo de todos os tipos de registo.

O formato JSON deste endpoint é uma API Google documentada. Os clientes DoH padrão em formato wire usam, em vez disso, mensagens DNS e application/dns-message. Uma chamada normal de nslookup não obtém nenhuma das duas interfaces HTTP só porque HTTPS_PROXY está definida.

Artigos relacionados