Skip to content

SOCKS4 & SOCKS5 Proxy

Every Proxy provides a versatile SOCKS server that automatically negotiates between SOCKS4 and SOCKS5 protocols. It acts as a transparent TCP relay, allowing your Android device to forward raw network traffic from other devices.


Technical Overview

Unlike an HTTP proxy, SOCKS is a transport-level protocol. It does not interpret or "look inside" your web traffic; it simply establishes a bridge for raw TCP streams.

  • Auto-Negotiation: A single listening port handles both SOCKS4 and SOCKS5 requests seamlessly.
  • TCP Relay: Every Proxy established a direct outbound connection on behalf of the client.
  • User-Space Operation: Runs entirely without root permissions or system-level routing changes.

UDP Support

This implementation supports TCP CONNECT only. UDP forwarding (UDP ASSOCIATE) and the BIND command are not currently supported.


Protocol Comparison

Feature SOCKS4 SOCKS5 Every Proxy Support
TCP CONNECT Full support
IPv4 Support Full support
Domain Resolution Handled by Android (v5)
Authentication Username/Password (v5)
UDP Forwarding Not supported

Configuration & Usage

1. Enable the Server

Toggle the SOCKS Proxy switch on the home screen.

  • Host: The IP the proxy is bound to (e.g., 0.0.0.0).
  • Port: The listening port (default is usually 1080).
  • Auth: (Optional) Enable Basic Authentication via the Edit icon to require a username and password.
  • IP Addresses The IPs currently assigned to the device.

2. Client Setup

Configure your client application (e.g., Telegram, Firefox, or a gaming console) with the following:

  • Proxy Type: SOCKS5 (Recommended) or SOCKS4.
  • Address/Host: Your Android device IP.
  • Port: The port shown in Every Proxy.
  • Username/Password: Required only if authentication is enabled in the app.

Developer Tools

Having trouble with client connections? The Developer Level upgrade adds a real-time Session Log and Connections Dialog to help you debug handshakes and monitor active sockets. Learn more about Developer Features


When to use SOCKS vs. HTTP

  • General TCP Traffic

    SOCKS is ideal for non-web applications like SSH, FTP, or messaging apps that don't use standard HTTP protocols.

  • Remote DNS Resolution

    Using SOCKS5 allows the client to pass the "hostname" (e.g., google.com) to Every Proxy, which then resolves the IP on the Android device. This is useful for bypassing local DNS restrictions.

  • Encrypted Streams

    Because SOCKS is a raw relay, it handles SSL/TLS traffic (like HTTPS) perfectly without any risk of interception or certificate errors.


Important Considerations

  • Client DNS: SOCKS4 requires the client to resolve the IP address before connecting. If you are trying to bypass DNS filters, always use SOCKS5.
  • No Inspection: Every Proxy does not cache, filter, or modify the data being sent. It is a "dumb" relay focused on speed and compatibility.
  • Developer Tools: Use the Session Log (Developer Level IAP) to see if a client is failing at the authentication stage or if the destination host is unreachable.

Pro Tip: PAC Server

If you are configuring an iPhone or Mac, consider using the PAC Server in conjunction with SOCKS for a more "set-and-forget" experience. View PAC Documentation.