Glossary · Networking

SOCKS Proxy

A SOCKS proxy is a general-purpose proxy that relays raw TCP or UDP connections for any application without interpreting the protocol inside.

Updated October 6, 2026

A SOCKS proxy implements the SOCKS protocol, most commonly version 5, to relay arbitrary TCP connections (and UDP with SOCKS5) between a client and a destination. Unlike an HTTP proxy it does not parse or alter the application data.

Why it matters

Because it works below the application layer, SOCKS can carry email, torrent, SSH or database traffic as well as web requests. SOCKS5 adds authentication and optional remote DNS resolution. It does not encrypt traffic by itself, so it is often combined with an SSH tunnel or HTTPS.

Example

$ ssh -D 1080 user@server.example.net
$ curl --socks5-hostname 127.0.0.1:1080 https://example.com

The first command opens a local SOCKS5 proxy on port 1080 that tunnels through SSH. The second sends a request through it, with DNS resolved on the remote side.

Common mistakes

  • Assuming SOCKS encrypts traffic. It only relays it.
  • Using --socks5 instead of --socks5-hostname and leaking DNS lookups locally.
  • Mixing up SOCKS4, which lacks authentication and UDP support, with SOCKS5.

Get notified when this term updates

Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.

This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.