Тема: Установка 3proxy SOCKS5 прокси-сервера

3proxy — бесплатный кроссплатформенный прокси сервер. Основными отличительными особенностями являются небольшой размер (несколько сотен килобайт) и переносимость (есть версии для x86 и x64 платформ). Программа не имеет графического интерфейса, её настройка производится путём написания конфигурационного файла. Существует возможность запуска программы как в консольном режиме, так и в фоновом режиме в виде службы или демона.

В этой статье будет описано, как установить и настроить анонимный прокси-сервер SOCKS5 3Proxy, с аутентификацией по логину и паролю, в любом дистрибутиве Linux.
3proxy больше чем SOCKS прокси. Он также может быть использован как Squid в качестве прокси HTTP/HTTPS в анонимном режиме и в прозрачном. SOCKS5 является предпочтительным, из-за его способности к туннелированию UDP и TCP трафика, который означает, что он способен на большее, чем простое туннелирование HTTP или HTTPS трафика. Огромное преимущество над Squid или HTTP/HTTPS прокси в целом. К сожалению 3proxy, не доступна в качестве предварительно скомпилированного бинарного файла, и должен быть скомпилирован из исходников, чтобы использовать его.

Для того, чтобы скомпилировать 3proxy на вашем сервере, вы должны иметь установленный компилятор GCC. Компилятор GCC может быть установлен с помощью менеджера пакетов вашего дистрибутива.

Установка GCC, Make на Debian, Ubuntu:

apt-get install gcc make --yes
   
apt-get install gcc make --yes

Установка GCC, Make на Fedora, Centos:

yum -y install gcc make
   
yum -y install gcc make

Установка GCC, Make на OpenSUSE:

zypper install gcc make
   
zypper install gcc make

Установка GCC, Make на ArchLinux:

pacman -S gcc make
   
pacman -S gcc make

Скачиваем исходники 3proxy, создаем для них папку в /tmp:

mkdir /tmp/proxy
   
mkdir /tmp/proxy

Переходим в папку:

cd /tmp/proxy
   
cd /tmp/proxy

Скачиваем исходники:

wget http://3proxy.ru/0.7.1.2/3proxy-0.7.1.2.tgz
   
wget http://3proxy.ru/0.7.1.2/3proxy-0.7.1.2.tgz

или

wget http://supmag.ovh/files/3proxy-0.7.1.2.tgz
   
wget http://supmag.ovh/files/3proxy-0.7.1.2.tgz

Распаковываем скаченный архив:

tar -xvzf 3proxy-0.7.1.2.tgz
   
tar -xvzf 3proxy-0.7.1.2.tgz

Компиляция 3proxy.
Перейдем в папку с исходниками:

cd 3proxy/
   
cd 3proxy/

Скомпилируем 3proxy в исполняемый файл:

make -f Makefile.Linux
   
make -f Makefile.Linux

Перейдём в папку src:

cd src/
   
cd src/

Создадим каталог для 3proxy:

mkdir /root/3proxy
   
mkdir /root/3proxy

Переместим исполняемый файл в новый каталог:

mv 3proxy /root/3proxy/
   
mv 3proxy /root/3proxy/

Настройка 3proxy.
Перейдем в папку с 3proxy:

cd /root/3proxy/
   
cd /root/3proxy/

Создадим пустой конфигурационный файл:

touch 3proxy.cfg
   
touch 3proxy.cfg

Откроем данный файл текстовым редактором (например nano):

nano 3proxy.cfg
   
nano 3proxy.cfg

Скопируем следующий текст в этот файл, и сохраним:

#Starting 3proxy as a service/daemon
daemon

#DNS Servers to resolve domains and for the local DNS cache
#that providers faster resolution for cached entries
nserver 176.103.130.130
nserver 176.103.130.131
nscache 65536

#Authentication
#CL = Clear Text, CR = Encrypted Passswords (MD5)
#Add MD5 users with MD5 passwords with "" (see below)
#users "user:CR:$1$lFDGlder$pLRb4cU2D7GAT58YQvY49."
users eeeeee:CL:eeeeeee

#Logging
log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

#Auth type
#auth strong = username & password
auth strong

#Binding address
external 0.0.0.0
internal 0.0.0.0

proxy -n -p3128 -a
#SOCKS5
auth strong
flush
allow eeeeeee
maxconn 384
socks -p1080


Настройте параметры, такие, как «users yourusername:CL:yourpassword», чтобы добавить свой собственный логин и пароль, Nserver для разрешения доменных имен, локальный кэш DNS, и SOCKS -p1080 для порта на котором прокси SOCKS5 будет работать.

Важно изменить «allow username» на «allow yourusername». Где «yourusername» — ваш логин из «users yourusername:CL:yourpassword», «yourpassword» — ваш пароль, обязательно поменяйте эти два значения, на свои.

Теперь прокси-сервер настроен, и готов к запуску и использованию.
Дадим права на запись исполняемому файлу 3proxy:

chmod +x 3proxy
   
chmod +x 3proxy

Создадим папку для логов:

mkdir /var/log/3proxy
   
mkdir /var/log/3proxy

Запустим 3proxy:

./3proxy 3proxy.cfg
   
./3proxy 3proxy.cfg

Теперь 3proxy работает как SOCKS5 прокси, в фоновом режиме как демон.

Чтобы отключить 3proxy, найдём его процесс:

ps ax | grep 3proxy
   
ps ax | grep 3proxy

И отключаем найденный ID процесса:

kill -9 3proxypid
   
kill -9 3proxypid

Где 3proxypid — ID найденного процесса.

Установка завершена.