Where it bites#
- SOCKS5 clients configured with
socks5://rather thansocks5h://. - Browsers with system DNS or DNS-over-HTTPS enabled that bypass the proxy for lookups.
- Scripts that resolve once locally and then connect to an IP through the proxy: correct destination, leaked lookup, and a possibly wrong CDN edge.
Why it also changes results#
Geo-aware DNS answers differently per region. Resolving locally then connecting through a foreign exit reaches the wrong regional edge, which can serve the wrong prices or language. Resolving at the exit is both private and correct.
How it works at ProxShift#
ProxShift resolves hostnames at the exit for HTTP(S) and for SOCKS5 connections that pass a hostname; the code examples use socks5h where the client distinguishes it.