Reliable and fast IPv4 and IPv6 SOCKS5 proxies are needed in many areas of activity:

- for parsing the issuance of search engines,
- for registration of accounts in social networks,
- to hide your real IP,
- and for many other things.

This article describes how you can obtain private IPv4 and IPv6 SOCKS5 proxies with IP authorization on their VPS or dedicated server.
Part of the software that is used in this method was written by the author's team for their own needs and is being successfully used at the moment.
For now, we distribute everything for free, because You need to test the software in real conditions. Therefore, specific feedback (both positive and negative) is welcomed.

 
The advantages of this method are obvious:

- You get SOCKS5 proxies, which only you will be guaranteed to use.
- You will be 100% sure that your SOCKS5 proxies are anonymous.
- Many hosts give VPS a subnet /64 IPv6, which allows to use not only IPv4 proxy, but also a huge number of IPv6 SOCKS5 proxies almost free.
- Because The proxy server will be authorized for IP, then you do not need to enter passwords to use the proxy. The proxy server will always know your current IP address and the list of IP addresses from which you allow it to connect.

 

What you need for this:

- VPS or dedicated server with the Linux OS installed on it. I use CentOS 7 x64 for these purposes. Therefore, in the future, I will cite the configuration instructions for this OS.
VPS inexpensive initial plans for $ 1.5 - $ 4 dollars a month are quite suitable.
- It is advisable to buy VPS with additional IP (one IP - one SOCKS5 proxy). It is better to find hosters that offer additional IP addresses for $ 0.2 - $ 0.5 per month and give free /64 IPv6 networks.
- Knowledge of Linux for configuring VPS through SSH.
- Archive file with the software and examples of configs, which should be downloaded at:

https://www.twickbot.com/free/soft_for_proxy.zip

 Contents of the archive soft_for_proxy.zip:
Ip_check.tar.gz - archive with the server part of the software package for Linux
  - html - folder of the root web server. If you have a different name, you can rename it
  - ip-check - a folder with data. It is usually placed next to the root folder of the web server
Python.tar.gz - archive software for installing Python
  - Python-3.6.1.tar.xz - the sources of Python-3.6.1
  - python_setup.sh - Python installation script
  - python_upgrade.sh - script for installing and upgrading the required Python libraries
Ip-permitter_x64.exe - client for Windows x64
Ip-permitter_x86.exe - client for Windows x86

 

Installation procedure:

1. Install Python 3.6 using the altinstall method. The version that is installed in the system by default will not be affected.
2. Install the server part of the software to organize IP authorization on its VPS or dedicated.
3. Install the client part on your computer with Windows (version 7 and higher) and check the operation of the client-server complex.
4. Install and configure 3proxy as SOCKS5 proxy server.

 


Installing Python 3.6.

 Attention!!! All actions for installing Python should be performed from the root user.

 We upload the archive python.tar.gz somewhere in a temporary folder, for example in ~/tmp and unzip it:
# Tar -xvf python.tar.gz 
 If you want to download Python sources from the Internet, delete the attached Python-3.6.1.tar.xz file and uncomment line 10 in the python_setup.sh file:
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
Check that the python_setup.sh and python_upgrade.sh files are executable.
Install Python by running the python_setup.sh file
# ./python_setup.sh
Install the necessary libraries by running the python_upgrade.sh file
# ./python_upgrade.sh
 


Installing the server part to organize IP authorization on its VPS or dedicated.

The VPS must be configured with a virtual web server accessible from the Internet by a domain name, for example, http://yourowndomain.com or by IP address.
From the archive soft_for_proxy.zip, extract the archive containing the server part of the program complex ip_check.tar.gz and upload it to your VPS.
Unzip somewhere in the temporary folder:
# Tar -xvf ip_check.tar.gz
We get two folders:
- html - the root folder of the web server (on my servers it is called so).
- ip_check - data folder.
If your webserver root directory is called differently, copy the contents of the html folder there.
And put ip_check folder next to the root folder of the web server.
Open the file ip_check/proxy_ips/id_pY7VquPMw9BW_proxy_ips.txt and enter the IP addresses on your VPS that will be used as a proxy.
Recording format: One line - one IP.
IPv4 or IPv6 from the beginning of the line, then a space, and after a space, you can write any comments.
Verify that the html/ip_check /ip_check.py file has permission to run.
This completes the configuration of the server part.

 

Install the IP-permitter client under Windows.

Depending on what Windows 64 or 32 bit you have, use the ip-permitter_x64.exe or ip-permitter_x86.exe, respectively.
The program is written by me personally and does not contain any hidden functionality, other than the one stated.


Links to virus scanning:

https://virustotal.com/ru/file/06db2c37a9df7ccde57f39a490d8fa0fe9a986c6f672845f7338826def415972/analysis/1491753943/
and
https://virustotal.com/ru/file/155d6d68dae63fed855b8e53bd39abd18da2317a02441fc4aa546ad4994832de/analysis/1491754030/

After installation, run the program in a regular manner.
In the settings, select Language - English.
In the "Ping URLs:" field, enter the URL where the server part is available, which you installed according to the instructions above, for example
http:///yourowndomain.com/ip_check/ip_check.cgi

Check the box "Automatically detect my IP address".
Click the "Ping" button. If everything is configured correctly, the list of proxies that you wrote in the file id_pY7VquPMw9BW_proxy_ips.txt on the server should be displayed in the "My proxies list" field, and your address in the fields "My current IPv4 address".
Next, you can configure the client to automatically start it with WIndows in the system and automatically send requests to your server after a certain period of time.
In the field "My IPs:" you can prescribe additional IP, from which the proxy server will accept connections.
Detailed instructions for configuring the IP-permitter can be found at: https://www.twickbot.com/en/71

 

Installing the 3proxy proxy server

As a proxy server we will use 3proxy. I tried different proxy and chose 3proxy which showed excellent performance and functionality. In addition, it has a good developer support.
At the time of this writing, version 3proxy was 0.8.8.
All commands are typed from the root.
In the home directory, create a temporary folder and download the distribution:

mkdir  ~/tmp_3proxy
cd ~/tmp_3proxy
wget -O ~/tmp_3proxy/3proxy-0.8.8.tar.gz https://github.com/z3APA3A/3proxy/archive/3proxy-0.8.8.tar.gz
tar -xvzf 3proxy-0.8.8.tar.gz
cd ~/tmp_3proxy/3proxy-3proxy-0.8.8
make -f Makefile.Linux

 

Create folders:

mkdir /usr/local/etc/3proxy
mkdir /usr/local/etc/3proxy/bin
mkdir /usr/local/etc/3proxy/logs
mkdir /usr/local/etc/3proxy/stat

 

Transfer the executable file

cp src/3proxy /usr/local/etc/3proxy/bin

 
Create config

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

An example configuration file 3proxy.cfg is in the archive soft_for_proxy.zip.

Replace it with the paths to the files and IPv4 and IPv6 addresses.
If you do not use any protocol, simply delete or comment out the lines related to this protocol.
The actions below are only needed for CentOS 7. For CentOS 6, you do not need to do this.

 

Create an autorun file

vim /usr/lib/systemd/system/3proxy.service

File contents:

    ----- start -----
    [Unit]
    Description=3proxy server
    After=network.target

    [Service]
    Type=forking
    PIDFile=/usr/local/etc/3proxy/3proxy.pid
    ExecStart=/usr/local/etc/3proxy/bin/3proxy /usr/local/etc/3proxy/3proxy.cfg

    [Install]
    WantedBy=multi-user.target
    ----- end -----

 

Run the proxy server

For CentOS 7:
systemctl enable 3proxy
systemctl start 3proxy

For CentOS 6:
chkconfig 3proxy on
service 3proxy start


The configuration of the software is finished.

You can use your IPv4 and IPv6 proxies.