> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toolip.io/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Use SOCKS5 Proxies With Toolip

> Maximize your privacy and optimize web scraping with Toolip SOCKS5 proxies. Follow this step-by-step guide to securely configure and utilize SOCKS5 connections for flexible and efficient proxy usage.

Prefer an enterprise-grade guide? Learn more about Oculus Proxies <a href="https://docs.oculusproxies.com/proxy-networks/socks5-proxies" target="_blank" rel="noopener">SOCKS5 Proxies</a>.

## Why Use SOCKS5 Proxies?

`SOCKS5` proxies offer greater flexibility and efficiency for web scraping, data collection, and network security. Unlike `HTTP` and `HTTPS` proxies, which are limited to web traffic, `SOCKS5` supports multiple protocols and unrestricted port usage.

**Key advantages of SOCKS5 proxies:**

* Works with various types of network traffic, not just HTTP(S).
* Enables remote DNS resolution for enhanced privacy.
* Bypasses firewalls and restrictions with minimal latency.
* Supports authentication for secure access.

For general web scraping, Toolip’s `HTTP` and `HTTPS` proxies may be a more cost-effective choice. However, if your project requires advanced compatibility, SOCKS5 is the ideal solution.

***

## How to Set Up Toolip SOCKS5 Proxies

<Steps>
  <Step title="Configure SOCKS5 Port">
    <Note>
      Toolip uses port **31115** for SOCKS5 connections.
    </Note>

    Ensure your application or service is set to connect via:

    ```
    proxy.toolip.io:31115
    ```
  </Step>

  <Step title="Use Domain Names for Targeting">
    <Warning>
      Toolip SOCKS5 proxies support only domain names (**hostnames**), not direct IP addresses.
    </Warning>

    To avoid connection issues, follow these guidelines:

    1. Use **domain names** (e.g., `example.com`) instead of numeric IP addresses.
    2. Ensure your application is set to **resolve DNS remotely** through the proxy.

    If these rules are not followed, requests will be blocked.
  </Step>

  <Step title="Make Requests With `curl` Using SOCKS5">
    <Warning>
      Always use `socks5h://proxy.toolip.io:31115` to ensure remote DNS resolution.
    </Warning>

    When making requests with `curl`, use the `-x` flag to specify the SOCKS5 proxy and ensure remote DNS resolution with `socks5h://`.

    **Example command:**

    ```bash theme={null}
    curl -i -x socks5h://proxy.toolip.io:31115 --proxy-user [USERNAME]:[PASSWORD] "https://toolip.io/welcome.txt"
    ```

    * The `-x` flag specifies the proxy.
    * The `socks5h://` prefix forces remote DNS resolution.
    * Replace `[USERNAME]`, `[PASSWORD]` with your Toolip credentials.
  </Step>

  <Step title="Troubleshooting `curl` Requests">
    If you encounter issues, use the `-i` or `-v` flag in `curl` for detailed debugging output:

    ```bash theme={null}
    curl -v -x socks5h://proxy.toolip.io:31115 --proxy-user [USERNAME]:[PASSWORD] "https://toolip.io/welcome.txt"
    ```

    Look for headers like:

    * `x-brd-error`
    * `x-brd-err-code`
    * `x-brd-err-msg`

    Use the error details in these headers to help diagnose the issue, and refer to our [troubleshooting page](https://docs.toolip.io/proxy-networks/proxy-errors) for solutions.
  </Step>

  <Step title="SOCKS5 authentication">
    <Note>
      Toolip requires authentication for SOCKS5 proxy access.
    </Note>

    You can authenticate in two ways:

    1. Enter your **username and password** in your application’s proxy settings.
    2. Use a single-line authentication format:

    ```
    username:password@proxy.toolip.io:31115
    ```
  </Step>

  <Step title="Understand the Difference Between SOCKS5 and SOCKS5h">
    * **SOCKS5**: The client resolves DNS locally before sending requests through the proxy.
    * **SOCKS5h**: DNS is resolved remotely by the proxy, ensuring greater privacy and preventing DNS leaks.

    Choose the method that best aligns with your requirements for enhanced flexibility and security.
  </Step>
</Steps>

## Summary - HTTP/HTTPS vs SOCKS5

| Feature                | HTTP/HTTPS                        | SOCKS5                                         |
| ---------------------- | --------------------------------- | ---------------------------------------------- |
| Protocol Support       | Only HTTP and HTTPS               | Supports all protocols (HTTP, FTP, SMTP, etc.) |
| Traffic Type           | Web traffic only                  | Any type of network traffic                    |
| DNS Resolution         | Local (by client)                 | Remote (with SOCKS5h)                          |
| Authentication Support | Yes                               | Yes                                            |
| Speed                  | Generally faster for web browsing | Slightly slower due to flexibility             |
| Firewall Bypass        | Limited                           | Better at bypassing firewalls and restrictions |
| Use Case               | Web scraping, browsing            | Advanced scraping, P2P, gaming, privacy tools  |

* Use HTTP/HTTPS for general and standard web scraping and browsing.
* Use SOCKS5 when you need protocol flexibility, remote DNS resolution, bypass network restrictions or you just feel that HTTP/HTTPS don't do the job.

<Warning>
  Toolip proxies **do not support UDP** protocol, our services are based on **TCP only**.
</Warning>
