Когда возникает проблема#
- Клиенты SOCKS5, настроенные на
socks5://вместоsocks5h://. - Браузеры, которые используют системный DNS или DNS-over-HTTPS и выполняют разрешение имён в обход прокси.
- Скрипты, которые один раз разрешают имя локально, а затем подключаются к IP-адресу через прокси: правильная цель, утечка запроса DNS и, возможно, неверный пограничный узел CDN.
Почему это также меняет результаты#
DNS с учётом геолокации отвечает по-разному в разных регионах. Если разрешить имя локально, а затем подключиться через зарубежный выходной узел, соединение попадёт на неверный региональный пограничный узел, который может показать цены или язык не того региона. Разрешение имени на выходном узле одновременно обеспечивает конфиденциальность и правильный результат.
Как это работает в HodlProxy#
HodlProxy разрешает имена хостов на выходном узле для HTTP(S) и для соединений SOCKS5, передающих имя хоста; в примерах кода используется socks5h там, где клиент различает эти варианты.