SOCKS4 & SOCKS5 Proxy
Every Proxy provides a single SOCKS server implementation that supports both:
- SOCKS4
- SOCKS5
The server automatically negotiates the protocol version during the client handshake.
This is a TCP forwarding proxy.
UDP forwarding is not supported.
Overview
SOCKS (Socket Secure) is a transport-level proxy protocol used to forward TCP connections between a client and a destination server.
Unlike an HTTP proxy, a SOCKS proxy does not interpret HTTP traffic. It forwards raw TCP connections after a successful handshake.
Every Proxy forwards traffic using the Android device’s active network connection (Wi-Fi or mobile data).
No root access is required.
Protocol Support
SOCKS4
Supported:
- TCP CONNECT command
- IPv4 destination addresses
- No authentication
SOCKS4 relies on client-side DNS resolution.
SOCKS5
Supported:
- TCP CONNECT command
- IPv4 destination addresses
- Domain name support (client sends hostname)
- Username/Password authentication (basic)
Not supported:
- UDP ASSOCIATE command
- BIND command
- Advanced authentication methods
SOCKS5 authentication uses the standard username/password mechanism defined in the protocol.
Feature Summary
| Feature | SOCKS4 | SOCKS5 | Every Proxy |
|---|---|---|---|
| TCP CONNECT | Yes | Yes | Yes |
| Domain name support | No | Yes | Yes (v5) |
| Username/Password auth | No | Yes | Yes (v5) |
| UDP ASSOCIATE | No | Yes | No |
| BIND | No | Yes | No |
Every Proxy implements the commonly used TCP CONNECT workflow for both protocol versions.
How It Works
- Client connects to the SOCKS port.
- Protocol version is negotiated (SOCKS4 or SOCKS5).
- If SOCKS5 and authentication is enabled, credentials are validated.
- Client sends a CONNECT request.
- Every Proxy establishes a TCP connection to the target server.
- Traffic is forwarded bidirectionally until the connection closes.
The proxy does not inspect or modify application data.
Encrypted protocols (such as HTTPS) remain encrypted end-to-end.
Configuration
- Open Every Proxy on your Android device.
- Enable the SOCKS server.
- (Optional) Enable username/password authentication.
- Note the IP address and port displayed.
-
Configure your client application:
- Proxy type: SOCKS4 or SOCKS5
- Host: Android device IP address
- Port: Port shown in the app
- Username/Password (if enabled)
Traffic will then be forwarded through your Android device’s active network connection.
Limitations
- TCP forwarding only
- No UDP support
- No BIND support
- No advanced authentication mechanisms
- No traffic inspection or decryption
- Does not modify Android system routing
The SOCKS implementation is designed for straightforward TCP proxying.
For HTTP-based proxying, see the HTTP Proxy documentation.
For automatic proxy configuration across devices, see the PAC Server documentation.