Protocols & authentication · glossary

Remote DNS resolution

Remote DNS resolution means the proxy, not the client, translates the destination hostname into an IP address. With HTTP proxies this is automatic, since the client sends the hostname in the request or the CONNECT line; with SOCKS5 it depends on the client sending the name (socks5h) rather than a pre-resolved address (socks5). Resolving remotely keeps DNS queries in the exit's network and returns the answers a local user would get.

1 min read Also called socks5h, proxy-side DNS Updated

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#

ClientRemote DNS
cURLsocks5h://user:pass@host:port
Python requestsproxies={"https": "socks5h://..."} (requests[socks])
Chrome--proxy-server=socks5://host:port --host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE host"
HTTP proxiesalways 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.

Ready when you are

See it on a real request.

Create an account, top up $20 and run the quickstart against your own target. Traffic you buy never expires.