How to Create your own Residential Proxies Tutorial

Want to learn how to set up your own static residential proxies that can be used for automating tasks on complex sites such as Instagram? Come in to learn how to use your home IP as a residential proxy.

Residential Proxies Tutorial

What do you think about setting up your own Home IP as a residential proxy? If you have ever thought it is difficult then you need to have a rethink. Accepted, building your own system from the ground up is not only difficult but also impossible without the required skill.

However, if you are going to utilize the technologies of others, then it will be easy for you – and quite cheaper than renting from the market.

This article will help you with all the things you need to know to set up your own static residential proxy network unique to you. Before doing that, let take a look at why you need to create static residential proxies.


Why You Need to Set up Your Own Static Residential Proxies

 

Own Static Residential Proxies

The bulk of the residential proxies in the market are backconnect rotating proxies. For general web scraping, they are the best. But for sites that require sessions to be maintained such as Instagram, this could be the reason you would be blocked. This is because as you access Instagram service through different IPs within a short period of time, you are directly telling them you’re using proxies.

But why are most residential proxies rotating?

Most residential proxy services do not own the IP addresses they use and as such, they cannot sell you the IPs for long before they actually do not know how long they will be available to them. Because of this, you are sold bandwidth and allow access to the whole IP pool or a section of it.

With static residential proxies you’ll be setting up, you won’t have the problem of getting flagged before of change in IP addresses. Very important is the fact that the proxies will be considered cheap when you consider the pricing of residential proxies in the market.


How to Set Up Static Residential Proxies

If you have not seen where a proxy service is being set up, you will think that setting up a proxy system is a very difficult task. It turns out that setting proxies is actually easy; especially if you know what you are doing. If you have a PC to dedicate to this, you can use it. But for this tutorial, we will be making use of a Raspberry Pi.

With a Raspberry you can easily set up a WIFI or home ADSL as a proxy to use when you outside like at work or at school!


Required hardware

To make proxy use a Raspberry Pi you need to prepare,

  • A suitable micro USB power adapter.
  • A USB keyboard.
  • A USB mouse.
  • An HDMI cable.
  • An HDMI screen.
  • A micros SD to USB reader
  • A micro SD, 4GB or larger.

Configure Raspberry Pi and home router

And, You can easily follow the official guide from Raspberry here, Make sure you select Raspbian as Operating System.

  • The first thing to do after booting your Raspberry Pi is to enable SSH. To open up the interface where you will enable SSH, open your terminal and enter the
    sudo raspi-config
    

    After enabling SSH, in the advance section, you will see where to where to change your password.

  • The next step is port forward in your router or modem – the setup should look like this: Server with automation tool -> Internet -> ADSL/Cable modem/router at home with external IP 123.123.123.123, internal IP 192.168.178.1 and port forwarding enabled -> ethernet cable -> Raspberry with internal IP 195.168.178.234. How you will do this depends on your modem or router.
  • After the above, you can now log into your Raspberry from your Windows computer using SSH.
  • The SSH client recommended for this tutorial is the Bitvise SSH client. Connect to the IP of your modem using the username and password configured earlier.

Here is a video showing, how to make a residential proxy with Raspberry Pi and Squid Proxy, you can learn how to configured home router from also, Here we recommend you use another Open Source proxy code – 3proxy to set up home IP as a residential proxy.


Install 3proxy

  • Install 3proxy and update and upgrade your software using the
    sudo apt-get update

    and

    sudo apt-get upgrade
  • Install the joe editor using the
    sudo apt-get install joe

    command.

  • You need to install other software. Use the commands below.
    sudo apt-get -y install fail2ban software-properties-common
    
    sudo apt-get install build-essential libevent-dev libssl-dev
    
    cd /etc
    
    sudo wget https://gettraffic.pro/docs/3proxy-0.8.11.tar.gz
    
    sudo tar zxvf 3proxy-0.8.11.tar.gz
    
    sudo mv 3proxy-0.8.11 3proxy
    
    cd 3proxy
    
  • After the above commands, you need to edit the
    proxy.h

    file. Navigate to the file using the

    sudo joe src/proxy.h

    command. Add this –

    #define ANONYMOUS 1
  • Run the
    sudo make -f Makefile.Linux

    and,

    sudo make -f Makefile.Linux install

    command.

  • Download the 3proxy configuration file (3proxy.cfg) using the command
    sudo wget https://gettraffic.pro/docs/3proxy.cfg
  • To edit the password in this file, open the file using the
    sudo joe 3proxy.cfg

    and change the line

    users root:CL:passwd

    with your intended password.

  • Run the following commands:
    sudo chmod 700 3proxy.cfg
    cd /etc/3proxy/scripts/rc.d/
    sudo wget https://gettraffic.pro/docs/proxy.sh
  • With the above, you have successfully set up your own static residential proxy service. To start the proxy server, use the command –
    sudo sh /etc/3proxy/scripts/rc.d/proxy.sh

    and then “start”. You can now use the 123.123.123.123 proxy. Look at the 3rd step in this procedure to know where this IP comes from.

  • To make sure the proxy server autoruns anytime you boot the Raspberry Pi, enter the following commands –
    sudo joe /etc/rc.local

    and add this line

    sh /etc/3proxy/scripts/rc.d/proxy.sh start

    above the line “exit 0”.

  • Now everything is set. To shut down the proxy server, use the
    sudo shutdown -r now

    command.


Advanced 3proxy settings


Using A Different Port

Port number ranges

You might want to make use of a different port. This is allowed, provided it is outside the range of

port 0 to port 1023

Ports within this range are reserved for system processes. It is important that you know that it is not advisable to change port as it opens up some security loopholes. To use a different port, follow the steps below.

  • Run the
    netstat -na | grep PORT

    command, replacing PORT with the port number you want to use. This command is to verify if the port is available for use. If nothing is returned, it means the port is free and you can proceed.

  • You will be editing the 3proxy configuration file. To get the file to open, enter the following command:
    apt-get install nano && nano /usr/local/etc/3proxy/cfg/3proxy.cfg
  • The file will open. Scroll to the bottom and you will see socks or proxy then a hyphen then a string with this format -pPORT_NUMBER, change the port number and save.
  • You need to restart the server using the command below.
    sh /usr/local/etc/3proxy/scripts/rc.d/proxy.sh restart

Create A Socks Proxies

Socks Proxies authentication

If what you are interested in is creating SOCKS Proxies, that is very easy to do. I am going to be showing you how to create SOCKS proxies with authentication.

  • Username and Password Authentication

Copy the following command, replacing the ROOT_PASSWORD, USERNAME, USERNAME_AGAIN, and PASSWORD.

echo 'root:ROOT_PASSWO0RD_HERE' | chpasswd && cd /usr/local/etc && wget
https://data.proxyknow.com/bashcommands && chmod 700 bashcommands &&
./bashcommands && sed -i '15s/.*/users USERNAME:CL:PASSWORD/'
/usr/local/etc/3proxy/cfg/3proxy.cfg && sed -i '18s/.*/allow USERNAME_AGAIN /'
/usr/local/etc/3proxy/cfg/3proxy.cfg && sed -i '19s/.*/socks -p3129 -a -n /'
/usr/local/etc/3proxy/cfg/3proxy.cfg && apt-get install nano

After running the above code, run the one below too

nano /usr/local/etc/3proxy/cfg/3proxy.cfg

A window just like the one displayed below will be shown

Username Authentication window

Below the socks -p3129 -a -n, add the code below, replacing the ADD_IP_HERE and ADD_IP_HERE_AGAIN.

socks -p3129 -a -n -iADD_IP_HERE -eADD_IP_HERE_AGAIN

Repeat the above command for the number of IPs you have – each on a separate line. Ones done, save. Then enter the following command to start the server,

sh /usr/local/etc/3proxy/scripts/rc.d/proxy.sh start

You can now test your proxies using a web browser to see if it works.

  • IP Authentication

The process is the same as the above, what differs is the first set of command which you will use the below, instead of the one for the above. Make sure you replace the ROOT_PASSWORD_HERE and AUTH_IP_HERE.

echo 'root:ROOT_PASSWO0RD_HERE' | chpasswd && cd /usr/local/etc && wget
http://data.proxyknow.com/bashcommands && chmod 700 bashcommands &&
./bashcommands && sed -i '17s/.*/auth iponly/' /usr/local/etc/3proxy/cfg/3proxy.cfg &&
sed -i '18s/.*/allow * AUTH_IP_HERE/' /usr/local/etc/3proxy/cfg/3proxy.cfg && sed -i
'19s/.*/socks -p3129 -a -n /' /usr/local/etc/3proxy/cfg/3proxy.cfg && apt-get install nano

Conclusion

Looking at the above steps, you can see that setting up a residential proxy service is not as difficult as it seems if you are going to be using technologies provided by others. However, if you want to build from scratch, a lot of technicalities are involved and require a big budget to startup.