What is a SOCKS5 proxy?
A SOCKS5 proxy is an intermediary server that forwards your app’s network traffic to a destination on your behalf. The destination sees the proxy’s IP, not your device’s IP.
TL;DR: SOCKS5 is a flexible proxy that works with many apps and protocols (TCP + UDP). It doesn’t encrypt traffic by itself.
How SOCKS5 works (simple)
When you configure an application to use a SOCKS5 proxy, it typically goes like this:
- Your client connects to the proxy (example:
proxy.example.com:1080). - Optional: the proxy requires authentication (none / username+password / GSS-API).
- Your client tells the proxy the destination (host + port).
- The proxy opens the connection and pipes data back and forth.
Important: SOCKS5 does not encrypt your traffic by itself. If the app connection isn’t already encrypted (TLS/HTTPS), a network observer can still read it.
SOCKS5 authentication methods
SOCKS5 supports multiple authentication options:
| Method | What it means |
|---|---|
| None ("no auth") | Anyone who can reach the proxy can use it. |
| Username / password | A login is required before traffic is forwarded. |
| GSS-API | Uses OS security mechanisms (Kerberos/NTLM, etc.). |
Tip: Prefer authenticated SOCKS5 wherever possible. Open, unauthenticated proxies are easy to abuse and often unreliable.
SOCKS5 vs SOCKS4
- SOCKS4: TCP only, no modern authentication, largely obsolete.
- SOCKS5: TCP + UDP, supports authentication, more widely useful in modern apps.
If a tool supports both, choose SOCKS5.
SOCKS5 vs HTTP / HTTPS proxies
HTTP proxy
- Works at the web-request layer (HTTP/HTTPS).
- Great for web browsing, caching, or content filtering.
- Not ideal for non-web protocols and many non-browser apps.
HTTPS proxy
- Essentially an HTTP proxy with TLS between your client and the proxy.
- Helps protect web traffic on untrusted networks.
- Still primarily web-focused.
SOCKS5
- Works at a lower level: forwards many kinds of traffic without interpreting it.
- Often used for apps like email clients, games, messaging apps, and some P2P tools.
- Usually simpler/more reliable for non-web traffic.
When a SOCKS5 proxy is useful
- Testing how a service behaves from another IP/location
- Routing traffic through a controlled gateway
- Using apps that support SOCKS5 but not HTTP proxies
- UDP-heavy use cases (some games/voice apps), where supported
Quick test (verify it works)
A quick way to confirm your proxy is in use is to check your public IP through it.
# SOCKS5 with proxy-resolved DNS (recommended to reduce DNS leaks)
curl --socks5-hostname proxy.example.com:1080 https://ifconfig.me
# SOCKS5 with username/password
curl --socks5-hostname user:[email protected]:1080 https://ifconfig.me
Tip: Use
--socks5-hostname (or socks5h in some tools) so the proxy does DNS resolution. Otherwise your machine may resolve DNS locally.
Safety notes (read this)
- A proxy can hide your IP, but it does not guarantee anonymity.
- Treat free/open proxies as untrusted (logging, injection, instability).
- Prefer providers you control or trust, and use end-to-end encryption (HTTPS/TLS/VPN) when confidentiality matters.