DNS sobre proxy?

Eu estive puxando meu cabelo ao longo dos últimos dias procurando uma boa solução para evitar vazamentos de DNS através de um proxy socks4 / 5.

Eu olhei para o módulo SocksiPy (-branch), e tentei quebrar um número de coisas (urllib, urllib2, dnstools), mas todos parecem ainda vazar solicitações de DNS. Então faz pyCurl.

Eu sei que proxychains / proxyresolv pode lançar solicitações de DNS através de um proxy socks4 / 5, e faz tudo o que é mágico com algumas bibliotecas LD_PRELOAD para as funções do sockets-patch, assim como o SocksiPy, mas não consigo descobrir por que não envia DNS sobre um proxy socks4 ou socks5.

Eu suponho que para o Linux eu possa usar o CTypes com libproxychains.so para fazer a minha resolução, mas eu estou procurando por algo multi-plataforma, então eu acho que remendar o módulo do socket é o caminho a ser seguido.

Alguém já descobriu uma boa maneira de contornar isso? Eu quero fazer tudo no código para portabilidade, e eu não quero recorrer à execução de outro servidor proxy!

Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion