---
title: "SOCKS5"
url: https://proxy.wiki/glossary/socks5/
type: Glossary Term
author: "proxy.wiki editorial"
published: 2026-08-19
updated: 2026-08-19
site: proxy.wiki
topics: ["Proxy fundamentals"]
license: CC BY 4.0 — quote freely with attribution to https://proxy.wiki/
---

# SOCKS5

> A protocol that proxies any TCP or UDP traffic without inspecting it, defined in RFC 1928.

**SOCKS5 is a general-purpose proxy protocol that forwards traffic at the connection level.** Unlike an HTTP proxy it does not parse or understand what it carries, which makes it usable for any TCP-based protocol and, optionally, UDP.

## What distinguishes it

| Property | SOCKS5 | HTTP proxy |
| --- | --- | --- |
| Traffic it can carry | Any TCP, plus UDP | HTTP and HTTPS tunnels |
| Reads your request | No | Yes, for plain HTTP |
| Can cache | No | Yes |
| Authentication | Username and password, or none | Via [Proxy-Authorization](/glossary/proxy-authentication/) |

## socks5 versus socks5h

This distinction causes real bugs. With `socks5`, your client resolves the hostname locally and sends an address to the proxy — which leaks your DNS queries and can resolve to the wrong regional endpoint. With `socks5h`, the hostname is sent to the proxy and resolved at the far end. For proxy work you almost always want `socks5h`.

## Reference

The protocol is specified in [RFC 1928](https://www.rfc-editor.org/rfc/rfc1928.html), published March 1996.

## Sources

1. [RFC 1928: SOCKS Protocol Version 5](https://www.rfc-editor.org/rfc/rfc1928.html)
