В последние несколько дней я вытягивал свои волосы, оглядываясь вокруг, чтобы найти хорошее решение для предотвращения утечки DNS через прокси-сервер socks4/5.
Я просмотрел модуль SocksiPy (-branch) и попытался обернуть несколько вещей (urllib, urllib2, dnstools), но все они все еще испытывают утечку DNS-запросов. Так же pyCurl.
Я знаю, что proxychains/proxyresolv может передавать DNS-запросы через прокси-сервер socks4/5, и он делает все возможное с некоторыми библиотеками LD_PRELOAD для функций сокета-патча monkey-patch, как и SocksiPy, но я не могу показаться почему он не отправляет DNS через прокси-сервер socks4 или socks5.
Я полагаю, что для linux я могу использовать CTypes с libproxychains.so для выполнения моего разрешения, но я ищу что-то многоплатформенное, поэтому я думаю, что обезьяна-исправление модуля сокета - это путь.
Кто-нибудь придумал хороший способ обойти это? Я хочу сделать все это в коде для удобства переносимости, и я не хочу прибегать к запуску другого прокси-сервера!
Спасибо!