Proxy Manager: How to Guides

Learn more about what Proxy Manager can do, how to tailor it to your needs, and how to implement popular optimized workflows.

Install Bright Data Proxy Manager

Bright Data Cloud Hosting

Hosting the Proxy Manager on-premise requires load-balancing and maintenance solutions - We can host it for you!

We provide a multi-instance cloud with 1 UI to control your Proxy Manager's operations. 

  • To enable this option, select Activate on the Proxy Manager page in your account, and the instance will be provided automatically.

Local Installation

To install it locally/remotely on a specific OS, the minimal requirements are:

  • 2GB RAM
  • 1 CPU
  • 3GB HDD

Installation methods for the respective OS:

Windows

  • Download the Installer file from our GitHub releases. Make sure to download the latest version.

Linux/MacOS

If you plan to install Proxy Manager on a Linux or a MacOS computer or server, please:

  • Confirm the recommended hardware requirements:  4GB RAM  2 CPUs  3GB SSD

  • Confirm the recommended software requirements:

    • Important: Linux CentOS 8.x is not supported (use CentOS 7.x instead!)
    • Node.js supported versions: 12.18.3 - 14.18.1 (other versions are not supported)
      (run on a terminal node -v to see the version currently installed)
    • NPM supported versions: 6.14.6  - 8.1.3 (other versions are not supported)
      (run on a terminal npm -v to see the version currently installed)
      Note: you can manually install NPM v6.14.6: sudo npm install -g npm@6.14.6

  • Confirm that network traffic is not limited:
    • The server/computer does not use any VPN or proxy IP!
    • The OS firewall is turned off
    • in and out traffic is permitted for TCP ports 20000-30000

  • Install Proxy Manager by running from a terminal one of the following commands:
    curl -L https://brightdata.com/static/lpm/luminati-proxy-latest-setup.sh | bash
    wget -qO- https://brightdata.com/static/lpm/luminati-proxy-latest-setup.sh | bash
    sudo npm install -g @luminati-io/luminati-proxy

You can find more information on: 

https://github.com/luminati-io/luminati-proxy#linuxmacos---manual-install

 

Docker

  • A docker image can be found here
docker pull luminati/luminati-proxy
docker run luminati/luminati-proxy proxy-manager
docker run luminati/luminati-proxy proxy-manager --version
  • Make sure to forward appropriate ports. Proxy manager uses by default 22999 for the web console and the API, 22225 for dropin and 24000-24... for all the ports that you'll create.
  • To run docker with cli option see the below example:
sudo docker run -v ~/proxy_manager:/lpm -p 127.0.0.1:22999:22999 -p 127.0.0.1:22998:22998 -p 127.0.0.1:24000:24000 luminati/luminati-proxy pmgr --www_whitelist_ips 172.17.0.1 --config /lpm/config.json

Login to proxy manager

If Proxy Manager is hosted by Bright Data Cloud you can access it from the Control Panel by going here

If Proxy Manager is installed locally navigate to http://127.0.0.1:22999/login using your browser and log in.  

If Proxy Manager is installed remotely, navigate to http://<remote-server-IP>:22999/login using your browser and log in.  

 

Set a new Port

To start using Bright Data proxy manager you will need to set a port configured with your desired proxy settings. 

Setting a port can be done when first accessing the proxy manager after the login page.

  1. Simply select "Start" or Add "new port".

  1. Select the desired Zone and select next.

  1. Select your desired integration method for the proxy manager (The default option is browser), and select create proxy port.

Bright Data proxy manager supported ports:

  • Port 24000 - By default, Port numbers will be indexed when created from 24000 - 65535.
  • Port 22225 - This port is not supported by the Proxy manager. It is used to target the SuperProxy.
  • Port 22999 - This port is used for GUI API commands to adjust the proxy manager settings.
  • Ports 1000 to 65535 - Total amount of possible port indexes (not including 22225 and 22999).

 How to set a port name

  • Go to "General" tab
  • Set the port name in the "Internal name" input

When managing many ports it is easy to lose track of each port's configuration. This is why It is important to create an internal name for each one.

The name you choose for your port should be one that gives you info about the port configuration (e.g. 'US_verizon', 'US_mobile', etc).

After you provided a name for your ports they will appear next to the port number in every feature of the Proxy manager. This way you will be able to manage all your ports easily, remember the settings of each port, assign users etc.

 

How to implement Rules and Headers?

Bright Data Proxy Manager allows setting Ports in advance with headers and rules customized to your needs. This allows you to easily integrate your needs using our services and keep your code clean.

Once you set a new port, navigate to port settings by clicking on the port itself:

  1. Navigate to General, enable the SSL analyzing feature, and select Save changes. (Not required for Headers implementation)

  1. Navigate to Rules and start building your own rules based on triggers such as:
  • URL suffixes 
  • Status codes
  • String values found in the Response body
  • Requests latency

You can choose an action to be taken to each trigger respectively. 

For example, an implementation of a rule to save bandwidth by nullifying media URLs' outputs. 

 

In addition, you can implement the desired headers in advance under the Rules section. 

For example, adding the user-agent header of a Linux desktop on i686 CPU (More about user-agents can be found here)

 

How can I add headers to my Proxy Manager ports?

You can use the Random User-Agent in the 'Headers' tab and/or add your own headers through the 'Headers' tab in your on- premise Proxy Manager port settings.

Once headers are added on your port, all the requests made through this port will be sent with the added headers in the request payload.

You can find specific User-Agents in this User-Agent database.

Parallel Proxy Manager instances 

When you don't want to overload one Proxy Manager with too many requests you can create several instances of the Proxy manager on different servers.

The best way to do so is by following the next steps:

  • Install the Proxy Manager locally and set all of the ports as needed
  • Save the config file
  • Turn on Sync configuration so all the changes will be kept in sync on all the machines automatically
  • Install the Proxy Manager on the servers you want to use
  • Import the config file to the proxy_manager directory in the servers

Split your traffic between the servers:

request 1 -> {FIRST SERVER IP}:24000
request 2 -> {SECOND SERVER IP}:24000

Using the Proxy Manager with this method will make sure you are not overloading one Proxy Manager instance and it will help you keep the same configuration across all instances.

This means you can send requests from the same port with the same country at the same time on each instance.

If you're having troubles setting up this load-balancing yourself - you could use our Clouds that have load-balancing feature implemented. You'll only need to use 1 UI and control all instances with shared configuration, and then target same URL, we will take the whole load-balancing process ourselves.

Reset proxy manager

Windows

Make sure the Proxy Manager isn't running.

On File Explorer navigate to  C:\Users\<YOUR_USER> .

Delete the folder "proxy_manager".

Next time the Proxy Manager will be accessed, the logs and config will be deleted.

Linux/MacOS

Make sure the Proxy Manager isn't running.

Run on the Terminal the next command: rm -rf ~/proxy_manager

Next time the Proxy Manager will be accessed, the logs and config will be deleted.

 

Restrict access to Remote Proxy Manager on-premise (whitelist/token-based authentication/Permission by Email)

To secure your account and prevent unauthorized access to the Proxy Manager, there are 3 main available workflows:

Whitelist IPs

You can choose what external IPs are allowed to target the proxy ports without passing credentials or getting blocked. There are 3 levels of permissions granted when whitelisting on the Proxy Manager:

  1. IPs that are allowed to access the UI. These IPs are automatically allowed to access all Proxies and ports. Navigate to "General settings" and select "Add IP" for "Admin whitelisted IPs".
  2. IPs that are allowed to access all Proxies. These IPs can access all ports. Navigate to "General settings" and select "Add IP" for "Proxy whitelisted IPs".
  3. IPs that are allowed to access a single port. These IPs can access the only port they are assigned to. Navigate to the port settings (simply click on the port itself)

    Navigate to "General" and select "Add IP" for "Whitelisted IPs".

Token-based Authentication

This workflow is optimal when using multiple crawlers with rotating IPs that target the Proxy Manager installed remotely. This method requires an Authentication token. 

  • Run From inside the remote server the next command in Terminal/CMD

    curl -X GET "http://127.0.0.1:22999/api/gen_token" -H "accept: application/json"
  • The next output will be provide
    "token":"<TOKEN_STRING>"

Once the token is generated we have 2 methods:

  1. Use the token to authenticate requests to the remote Proxy Manager. 
    • the Command should be sent in the next format
      curl -x token:<TOKEN_STRING>@<remote-server-IP>:<Port> "<TARGET SITE>
  2.  Whitelist your new server IP using the token, then send requests without authentication.
    • Copy the token from Proxy Manager server to new crawler server
    • Make this request from your new server:
      curl <remote-server-IP>:22999/api/add_wip -X POST -H "Content-Type: application/json" -H "Authorization:<TOKEN_STRING>" -d '{"ip":"<CRAWLER_IP>"}'
    • The crawler's IP is now whitelisted on the Proxy Manager.

NOTE: Whitelisting in this method grants permission to access all ports, not to the Proxy Manager UI/Admin Panel.

Grant access by email using Bright Data Extension

This workflow is relevant to allow access to the Proxy Manager when integrated with a browser.  The access is granted by updating the config file of the proxy manager.

This can be done by sending the next API command:

curl -X POST "http://<remote-server-IP>:22999/api/proxies" -v \

-H "Content-Type: application/json" \

-d '{ "proxy": { "customer": "<account_ID>", "zone": "<zone>", "password":"<zone_password>", "multiply_users": true, "users": ["<email>"], "bw_limit": { "days": 100000, "bytes": 9000000000 } }, "create_users": true }'
  1. Change <remote-server-IP> with the server IP address of where the proxy manager is installed or 127.0.0.1 if it is installed locally.
  2. Change <account_ID> with your Account ID on the settings page
  3. Change <zone>, <zone_password> with the relevant access parameters from the zone page
  4. Change <email> with the user’s email.

Once the command will be sent, a detailed email with instructions and credentials will be sent to <email>. 

In the API output, the user’s password is also provided along with additional information such as the port number. It can be seen in the next example:

The user can now access the proxy by installing the extension

  1. After installation select “Connect through proxy manager”

  1. Enter the IP address of the Proxy Manager server along with the relevant port for example:

  1. Select done. Then, click "Sign in".

  1. Enter the credentials Received.

Updating the Proxy Manager

Bright Data keeps improving the Proxy Manager and adding to it new features. To stay updated make sure to upgrade to the latest version available. A reminder to update will be presented on the Proxy Manager's UI when there is a newer version available. Alternatively, you can always upgrade manually:

Windows

Once a new version will be available an upgrade pop-up will appear:

 

Linux/MacOS

Run the next command on terminal:

proxy-manager --upgrade

 

Docker

Use watchtower or simulator tool to keep lpm docker image up to date

 

Connect to superproxy via HTTPS

Proxy Manager can connect with the main Bright Data infrastructure using either HTTP or HTTPS connection.

To avoid confusion: it is NOT the connection type to the target URL. To make sure the connection is secure it's enough to keep Connection to Super Proxy with a default value (HTTP) because the HTTPS requests create an end-to-end encrypted connection with the target site anyway.

In most cases, you don't even need to touch this config. It may come out useful though when connecting from some territories where traffic to some domains is blocked. In these cases, you need to set it to HTTPS not to allow the global firewall to see the content of your proxies traffic and filter it out based on the target domain

 

Multiply ports

Go to "General" tab and choose the number of ports you want to multiply in the Multiply proxy port drop down

Once you set the number of multiplied ports you need the Proxy Manager will generate the sequential ports identical to the port you configured.

This is a very powerful feature when you need to create many ports with the same settings but only set it once.

How do I configure IP rotation when using Bright Data?

When using the commands listed in the Bright Data Proxy Manager GitHub page, the "requests per session" parameter is defined by using:--max_requests Requests per session [default: 50].Our API allows you to manage the rotation on your end by using the session parameters. This can be done by adding the session to the proxy username:

brd-customer-YOUR_CUSTOMER_ID-zone-YOUR_ZONE-session-rand39484Changing the session number changes the IP as well.

IP rotation can also be managed through the Proxy Manager dashboard editing under IP Policy.

How to get IPs from specific locations?

Why do I need targeting?

With Bright Data you can specify the geolocation and other parameters of the IPs you use for sending traffic. In Proxy Manager it's especially easy because it take only a few clicks.

Depending on the zone you use you can request IPs only from a specific country (if you use Residential or Datacenter network) or additionally specific carrier (if you use Mobile network).

How to set targeting in Proxy Manager?

To get IPs from a specific location, follow these steps:

  • Click on the proxy port that you want to use location-specific IPs
  • Go to Targeting tab
  • Select country, state, city for choosing a peer in a specific geolocation
  • Select ASN or carrier name (only for mobile peers)

NOTE: Each targeting option requires the proper permissions in your Zone.

How to use IPs from multiple countries without creating many ports?

If you want to use multiple countries and you don't want to create a separate proxy port for each country it's also possible to control the targeting dynamically. 

 

How to control targeting dynamically?

You don't have to specify the country, state or city targeting in advance using the Targeting tab in the UI. It is possible to pass extra targeting options dynamically ('on the fly') along with the request.

curl -x lum-country-br@127.0.0.1:24001 http://lumtest.com/myip.json

The request's structure is:

curl -x lum-country-{COUNTRY-ISO-CODE}@{IP}:{PORT}{DESTINATION-URL}

The other option for controlling targeting dynamically is by including a special header.

"x-lpm-country: {COUNTRY_CODE}"

Example request could look like this:

curl --proxy http://127.0.0.1:24000 -H "x-lpm-country: us" http://lumtest.com/myip.json

You may also use headers for controlling state and city:

  • State:  "x-lpm-state: [STATE_CODE]"
  • City: "x-lpm-city: [CITY_NAME]"

 

How to set an automatically follow redirect?

Follow Redirect is a valuable feature within the Proxy Manager that enhances your control over the handling of 30X (Redirection) errors. This feature is located within the Port Settings, under the General tab. It provides you with the option to automatically send a new request when encountering a 30X error, where the destination URL is derived from the Location response header. This documentation will guide you through enabling and using this feature.

Accessing Follow Redirect:

  1. Open the desired port for Follow redirect activation
  2. Go to General Tab: Within the Port Settings,  click on the "General" tab. This is where you'll find various settings related to how your proxy handles requests and responses.
  3. Toggle the Follow Redirect Feature: In the General tab, you will see the "Follow Redirect" feature. It's presented as a toggle button, allowing you to enable or disable it as needed.


How Follow Redirect Works:

  • When the Follow Redirect feature is enabled, it instructs the proxy manager to automatically send a new request in response to a 30X error.
  • The URL for the new request is determined based on the Location response header received in the 30X error response.
  • This allows your proxy to seamlessly follow the redirection and ensure that the request is sent to the correct destination, as specified by the Location header.

Benefits of Follow Redirect:

In environments where automatic redirection is not supported or desired, the Follow Redirect feature gives you full control.

How to control sessions consistency with session header

You can control your sessions using the Proxy Manager by sending x-lpm-session header.

  • Add the header with any random session ID"x-lpm-session: random_session"
  • When using the same session the Proxy Manager will try to connect with the same exit node (peer/IP)
  • When you change the session value the Proxy Manager will connect with a different exit node (new peer/IP)
  • To keep a given session alive you must send a request no more than every 60 seconds
  • Note that in order to use it with HTTPS requests you will need to enable SSL Analyzing and install the certificate

Here is an example:

curl --proxy http://127.0.0.1:24000 -H "x-lpm-session: rand123" http://lumtest.com/myip

 

How can I Refresh Session on Cloud Proxy Manager?

You can refresh  session on your cloud Proxy Manager with the following curl request:

curl -X POST "https://pmgr-customer-{YOUR_CUSTOMER_ID}.brd.superproxy.io:22999/api/refresh_sessions/{PORT}"

 

How to export logs from Proxy Manager?

In Proxy Manager, we provide users with a range of options to export logs to external storage and log monitoring systems. These export options allow you to centralize and analyze your logs efficiently. In this documentation article, we will outline the available log export options and guide you on how to configure them through Proxy Manager settings.

Log Export Options:

Proxy Manager offers the following log export options:

Logz.io

Configure the Logz.io integration in Proxy Manager settings by specifying your Logz.io token, Host and other required parameters.

AWS S3:

To export logs to AWS S3, set up the S3 integration in Proxy Manager settings. You will need to specify your AWS access key, secret key, S3 bucket name, and other relevant details.

Webhook:

Configure the webhook endpoint and any required authentication details and URL in Proxy Manager settings to start exporting logs via webhook.

Datadog:

To export logs to Datadog, set up the Datadog integration in Proxy Manager settings by providing your Datadog API key and other relevant information.

Configuring Log Exports:

To configure log exports in Proxy Manager, follow these general steps:

  1. Access Proxy Manager Settings:
  2. Navigate to the settings or configuration section. 
  3. Select Log settings option in Enable request logs
  4. Toggle on Use remote logs aggregator
  5. Choose the desired log export option (Webhook, Datadog, Logz.io, or AWS S3).
  6. Provide Configuration Details: For the selected export option, you will typically need to provide specific configuration details. This may include endpoint URLs, API keys, authentication credentials, and storage settings.
  7. Click on Test to check the configuration
  8. Click OK and Save changes

 

 

By following these steps, you can effectively configure Proxy Manager to export logs to your chosen external storage or monitoring systems, enhancing your ability to monitor and manage your network and applications effectively.

How to unblock error codes?

Error code responds can trigger an IP refresh or try with new IP using the Proxy Manager Rules with the following steps:

  • Add a new rule at Proxy Manager, rules tab
  • Select 'Status code' as the rule type
  • Trigger the rule by selecting the relevant status code to scan (i.e 501, 402, 301, etc)
  • Select the desired outcome such as 'Refresh IP' or 'Try with new IP'

Watch video:unblock error codes

 

SSL analyzing

Some features require the Proxy Manager to have access to HTTPS traffic. This can be done by enabling the SSL Analyzing option on the proxy port configuration page.

Once you allow Proxy Manager to terminate the SSL you will also need to trust Bright Data Certificate Authority (CA).

How does it works?

Under the hood Proxy Manager will create a secure encrypted HTTPS connection with the target site, decrypt the traffic to log requests and run rules based on your settings and then pass the response back to your client in an encrypted HTTPS connection with a certificate signed by our CA certificate.

 

How to run UI (dashboard) on HTTPS

What is needed?

To be able to access the UI (dashboard) using HTTPS protocol you need to provide the Proxy Manager with an SSL certificate and private key for your domain.

The certificate and private key should be generated specifically for your domain and installed on the server. Usually it's done through the server and domain provider

How to do it?

Run Proxy Manager along with environment variables SSL_CERT and SSL_KEY pointing to the according certificate files. Example command to run in the terminal:

SSL_CERT=/path/to/ca.crt SSL_KEY=/path/to/ca.key pmgr

Once it is started you can access the UI using https://your-domain.com:22999/

 

How to save request/response history?

By enabling the '--history' flag. When history mode is enabled, both request and response headers will be saved to a local database. They can be accessed under the "Proxies" section. The history option can also track HTTPS, by enabling the '--ssl' flag. For additional details, see the Bright Data Proxy Manager GitHub page.

This can also be done through the Proxy Manager dashboard by abling Log request history and Enable SSL sniffing under the General settings section.

Where can I find my credentials (IP/port/username/password)?

Credentials for raw API

  • Username and password: Your username and password for raw API requests can be found in the Zones page. Click the name of the desired Zone, and then in the window that popped up click the "settings" tab. You will find your credentials here. Notice that your credentials might be different for each Zone.
  • The full credentials for raw API (IP:PORT:USERNAME:PASSWORD) will be incorporated in the request string like this: brd.superproxy.io:22225:USERNAME:PASSWORD
  • You can use our request builder to help you with creating full API requests

Credentials for Proxy Manager

  • IP - an IPv4 address to access proxy through. If Proxy Manager is installed locally the IP address for credentials will always be:127.0.0.1If Proxy Manager is installed on a remote server/machine use the IP of that server/machine
  • Port - the port number you want to use from the Proxy manager ports you created (i.e. 24000).
  • When integrating Proxy Manager to a software which requires inputting IP:PORT:USERNAME:PASSWORD - USERNAME and PASSWORD should be left null.

How to use SOCKS5 with Bright Data's Proxy Manager

Why should I care?

A SOCKS server is a proxy server that works for any type of network protocol on any port and establishes a connection to a server on behalf of a user, then routes traffic between the user and the server.

Why use SOCKS5 with Bright Data?

When you use SOCKS5 with Bright Data, the Proxy Manager converts any requests to port 80 or port 443 to http and https requests, so you don't have to worry about which format is accepted by your target site. With any other port, the traffic is sent as-is between the user and the host.

Guidelines to use SOCKS5:

  • Open Proxy Manager
  • Click a port, then 'Edit Proxy'
  • Under 'General' add SOCKS port number
  • Go to "Performance" - Set Reverse Resolve: DNS
  • Add a resolve file
    • Add '--resolve PATH' to the program code
    • Follow the hosts file format
    • List domains you are going to use and their IPs
    • Add domains and IPs from the resolve file editor in the Proxy Manager 'tools' page

How to define a proxy IP country when using SOCKS5 protocol with Proxy Manager?

SOCKS5 protocol uses an encrypted base64 string for authentication.

Therefore, when using SOCKS5, if you need to define a proxy IP country (-country-<COUNTRY_CODE>), you will have to convert your basic authentication information into base64 token:

  • Browse https://www.base64encode.org
  • Encode brd-customer-<YOUR_CUSTOMER_ID>-zone-<YOUR_ZONE>-country-<COUNTRY>:<ZONE_PASSWORD>  to Base64 format token
  • Use the "Basic authorization token" header you generated on the SOCKS5 request that you send the Proxy Manager port:
    curl --socks5 127.0.0.1:24000 "http://lumtest.com/myip.json" -H "Proxy-Authorization: Basic <Basic authorization token>" -v

 

Access Proxy Manager hosted on a remote machine

The Proxy Manager can be installed on one machine and be accessible from outside to send requests and to make adjustments to the Proxy configurations.

Note that you will need to take the following security steps to make sure the Proxy Manager is allowed to be used only by trusted sources.

In addition, you might need to allow access on your server's firewall in order to accept connections from different ports that are configured in the Proxy Manager.

See below instructions on how to allow ports on your machine:

  • Windows
  • Linux / MacOS
    • Check if firewall is enabled:
      sudo ufw status
    • If firewall is active, open any port you are planning to use (24000 in this example):
      sudo ufw allow 24000
    • On your router: follow router specific instructions to forward port 24000 to your local IP address
  • CentOS
    • Open any port you are planning to use (24000 in this example):
      sudo firewall-cmd --zone="public" --add-port=24000/tcp --permanent
    • Reload firewall settings:
      sudo firewall-cmd --reload

If you want to access Proxy Manager UI (the dashboard), port 22999 should be open as well.

How to install and use Proxy Manager on a remote server

  • Connect to the remote server with root permissions
  • Follow the steps listed on the Proxy Manager page.
  • Set up the server to accept remote connections Configure the ports you require on your remote Proxy Manager
  • Send requests to the configured ports from your local machine by using
    {REMOTE_SERVER_IP}:{PORT_NUMBER}
    curl example:
    curl --proxy 12.12.12.12:24000 "http://example.com"

If you use Docker to manage your server deployment you can use our Docker image.

 

Whitelisting IPs that can use Proxy Manager

You can control who can access the Proxy Manager instance. You can do it by setting whitelisted IPs separately for accessing the UI (dashboard) and for sending the traffic through proxy ports

127.0.0.1 is allowed for accessing the UI (dashboard) and sending the traffic by default.

How do I whitelist IPs for the UI (dashboard)?

If you want to access the UI (dashboard) through the browser on port 22999 you have to whitelist it in the General settings.

How do I whitelist IPs for proxy traffic?

This section is relevant only to Proxy Manager on Premise as you are always required to include the username and password along with the requests using Cloud Proxy Manager.

 

Similarly to whitelisting IPs for the dashboard you can choose what external IPs are allowed for sending the traffic through the proxy ports without passing credentials.

Note that all the IPs allowed for the dashboard are automatically allowed also for the proxy. If they were not they could access the UI and add themselves anyway so they are already there.

You can set whitelisted IPs for proxy for the whole Proxy Manager. IPs added in General settings will be applied to all the proxy ports.

 

Use the Proxy Manager with other proxy providers

Yes. Proxy Manager supports external proxies from other vendors. Connecting external proxies will allow you to optimize and manage all of your proxies in one place.

  • Login to your Proxy Manager
  • Create new port
  • Select 'External' proxy
  • Add your proxies in {'YOUR_USER:PASSWORD@IP:PORT'} format
  • Click 'Save' and you will have the external proxies available as one of the Proxy Manager's ports

How to add users to the Proxy Manager?

  • Go to "Account Settings" tab on CP
  • Click the "Add user" button on the Proxy Manager users section
  • Add the user emails on the popup window
  • Click "Add users" to the add them

 

How to switch from API to Proxy Manager

Why should I care?

Using the Proxy Manager offers advanced features that are not readily available in the API. Instead of having to manually code mechanisms for tasks like keeping an IP as long as possible or rotating your IP after each request, you can simply click a button in the Proxy Manager.

 

Guidelines to to switch from API to Proxy Manager:

  1. Install the Proxy Manager here
  2. Change the code to send HTTP requests directly to the specified port (for example, 127.0.0.1:24000) instead of to brd.superproxy.io:22225
  3. Configure the settings for your custom proxies and Zones through the Proxy Manager dashboard. You do not need to send the user parameter (brd-customer-customer_name-zone-zone_name…) alongside your requests, as all the needed data is wrapped within the manual proxy configuration.

Mimic a human user

Including all headers and cookie behavior. See bash example, using Bright Data Proxy Manager:

curl --proxy http://127.0.0.1:PORT_NUM "http://lumtest.com/myip.json" -H 'pragma: no-cache' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: en-US,en;q=0.8' -H 'upgrade-insecure-requests: 1' -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36' -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp, image/apng,*/*;q=0.8' -H 'cache-control: no-cache' -H 'cookie: bcookie="v=somekindofcookiexxx";' -v

Note: When using Web Unlocker attaching headers is disabled by default, please contact support in order to approve headers attachment.

 

How to set up the Proxy Manager as a system service?

  • Sign in as 'root' to the remote server (running Ubuntu)

Create a service file in:

/etc/systemd/system/pmgr.service
[Unit]

Description=Proxy Manager

Wants=network-online.target

After=network-online.target


[Service]

Type=simple

Restart=always

RestartSec=5

Environment=NODE_ENV=production

ExecStart=/usr/bin/pmgr

User=root

StandardOutput=null

StandardError=null




[Install]

WantedBy=multi-user.target
  • Reload service files:
    $ systemctl daemon-reload
  • Start Proxy Manager service:
    $ systemctl start pmgr
  • Check status:
    $ systemctl status pmgr.service
  • You have completed setting up Proxy Manager as a service. You can now control your new service:
    $ service pmgr [stop|start|restart]

Using BrightData in standard windows 10 settings

  • Get your proxy address brd.superproxy.io:22225 for direct access 127.0.0.1:24000 for Proxy Manager
  • Open start menu (press WIN)
  • Type 'Internet Options'
  • Choose 'Connections' tab
  • Open 'LAN Settings'
  • Un-select 'Automatically detect settings'
  • Select 'Use proxy server for your LAN'
  • Select 'Bypass proxy server for local addresses'
  • Type port and address (brd.superproxy.io or 127.0.0.1) in appropriate fields
  • Click OK
  • Some applications will interfere with setting up the proxy settings - if that happens, look for a proxy/vpn related application and deactivate them.
  • If you are using Bright Data directly (without proxy manager), you should also configure proxy credentials:
  • Open start menu (press WIN)
  • Type 'Manage Windows Credentials'
  • Click 'add generic credential'
  • Type address without port or protocol (brd.superproxy.io)
  • Construct user-name as explained earlier and type it in. Also type in the password
  • Click OK
  • Not all applications will honor the credentials, some applications (like Chrome) will ask for credentials themselves

 

Request details

Enabling 'Request details' under 'General settings' will add the response headers below, and will allow you to get a wider, more specified view of your request. This feature has the same functionality as using the -debug flag. 

  • x-luminati-ip-destination- IP of the targeted host
  • x-luminati-ip - IP allocated to the request.
  • x-luminati-timeline - Time it took to complete

NOTE: This feature is turned off by default on the cloud proxy manager, if needed, make sure you enable it.
NOTE: Enabling 'Request details' is necessary in order to implement the action 'Ban IP' within a rule.

Viewing these headers can be done with one (or more) of the following ways

  • Sending your request in verbose mode by using the -v flag
  • Viewing your proxy manager logs
    1. Click on the specific request you want to examine
    2. Click on 'Headers' 
  • Viewing it on your browser's 'Network' tab
    1. Open 'devtools' by clicking F12
    2. Go to the 'Network' tab
    3. Navigate to the target URL
    4. Click on the relevant request
    5. The relevant headers would be under 'Response Headers'

 

Was this article helpful?