You still see plenty of SOCKS4 addresses on free proxy lists. The fact that the protocol dates from the early 1990s does not make it useless — but the three innovations SOCKS5 brought are decisive for most of today's needs: authentication, UDP and remote DNS.
ATYP field can carry the domain name directly, so DNS resolution is performed by the proxy. SOCKS4 has no such field; you have to resolve the address yourself.
Version Comparison
SOCKS4a is an extension of SOCKS4 that can carry domain names; apart from that it is identical to SOCKS4.
Why Does Remote DNS Matter?
When you use SOCKS4, the target domain name is resolved by your own computer . That means the DNS query for ornek.com goes to your own ISP and is recorded there. The proxy only connects to the resolved IP. The result: your IP is hidden, but which sites you visit is not.
You can measure your own situation with the DNS leak test . If you use SOCKS5, make sure the "remote DNS" option is enabled in your client.
When Do You Need UDP Support?
Because web browsing runs entirely over TCP, the absence of UDP goes unnoticed. The difference shows up in these jobs: voice/video calls (Discord), online games, tunneling DNS directly, and torrent DHT. SOCKS4 cannot be used for these.
What Should You Do in Practice?
- When choosing an address from the list, give priority to the ones tagged SOCKS5 .
- If all you have is a SOCKS4 address, at least test whether it supports SOCKS4a .
- If you have a corporate address that requires a username/password, it is already SOCKS5; SOCKS4 does not carry authentication.
- If your client offers a "SOCKS5h" option, choose it — the trailing h, indicates that hostname resolution will be performed remotely.
To find out which version the address you have speaks, our Proxy Checker tool detects it automatically: you will see SOCKS5 or SOCKS4 in the protocol field.