Why it matters#
- Privacy: a local lookup tells your own resolver which hosts you visit, even though the traffic goes through the proxy.
- Correctness: CDNs and geo-aware DNS return different addresses per region; resolving from the exit gets the local edge, like a local visitor.
- Split-horizon sites: some hostnames only resolve, or resolve differently, inside a country.
How to enable it#
| Client | Remote DNS |
|---|---|
| cURL | socks5h://user:pass@host:port |
| Python requests | proxies={"https": "socks5h://..."} (requests[socks]) |
| Chrome | --proxy-server=socks5://host:port --host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE host" |
| HTTP proxies | always remote: the hostname is in the request |
How it works at ProxShift#
ProxShift resolves destination names at the exit for HTTP(S) and for SOCKS5 connections that send a hostname; use socks5h in tools that distinguish the two.