Madskillz.pngСкачать программу «Магадан» LITE — бесплатную, не ограниченную по времени редакцию парсера ключевых слов!

Настройка анонимного прокси при помощи программы 3proxy

Материал из "Магадан" - инструкция пользователя
Перейти к: навигация, поиск

3proxy позволяет оперативно организовать качественный прокси-сервер на самом бюджетном VPS, что делает эту программу идеальной для задачи построения собственной сети «белых» прокси. Сервера, построенные с использованием 3proxy в приведенной ниже конфигурации, идеально подходят для работы в связке с «Магаданом». Одно «но»: 3proxy не является анонимным (или т.н. «элитным») прокси «из коробки», что сводит его полезность в контексте задач парсинга ключевых слов к нулю. Также, анонимность нельзя включить через редактирование конфигурационных файлов. Задача решается только через директивы условной компиляции с последующей сборкой сервера из исходников. Возможно, звучит страшновато, но на самом деле ничего особенного. В настоящей статье приведена пошаговая инструкция по компиляции и настройке анонимного сервера 3proxy на среднестатистической Ubuntu.

Для создания собственного прокси вам понадобится как минимум один выделенный сервер (можно виртуальный, VDS/VPS) с как минимум одним внешним IP-адресом (NAT не подойдет). Адресов может быть несколько на одном сервере, на каждом из них будет отдельное прокси-соединение. Фактически, сколько внешних IP-адресов, столько у вас и прокси.

Итак, пройдя авторизацию в качестве администратора (root), либо выполнив предварительно команду sudo -s, последовательно выполняем следующие команды:

apt-get update; apt-get upgrade -y;
apt-get install nano build-essential libevent-dev libssl-dev -y
mkdir -p /opt/3proxy
cd /opt/3proxy

В следующем наборе команд используется фиксированная ссылка на архив 3proxy версии 0.8.11. На момент чтения настоящей статьи наверняка будет доступна более актуальная версия прокси-сервера, либо указанная ссылка перестанет быть активной, поэтому имеет смысл зайти на сайт автора и подсмотреть ссылку на актуальный комплект исходных кодов 3proxy (не путать с комплектом предварительно скомпилированных под ту или ину платформу бинарных файлов). Соответственно, используемые ниже имена файлов и пути необходимо будет обновить.

wget https://github.com/z3APA3A/3proxy/archive/0.8.11.tar.gz
tar zxvf 0.8.11.tar.gz
cd 3proxy-0.8.11/

Теперь необходимо изменить конфигурацию сервера, добавив директиву упомянутой выше анонимной конфигурации, и скомпилировать сервер, получив бинарные файлы для выполнения. Открываем файл src/proxy.h редактором nano на нужном смещении:

nano +29 src/proxy.h

Добавляем в открытый файл строчку

#define ANONYMOUS 1

Опять же, необходимо посмотреть по ситуации, возможно смещение нынче иное. В принципе, указанную выше строчку можно добавить практически в любом месте как отдельную строку.

Закрываем nano, не забыв сохранить результат (Ctrl + X, Y, ENTER). Продолжаем выполнять команды в консоли:

make -f Makefile.Linux
make -f Makefile.Linux install
cd ~/
mkdir -p ~/3proxy/logs

Открываем файл конфигурации...

nano ~/3proxy/3proxy.conf

...и заполняем его следующим содержимым (правки внесите по вкусу):

# Запуск в режиме демона
daemon

pidfile /root/3proxy/3proxy.pid

# Неймсервер (предустановленное хостером значение которого можно подсмотреть в выводе команды cat /etc/resolv.conf).
# Установленный по умолчанию сервер 8.8.8.8, это публичный DNS-сервер Гугла. Можно использовать и его.
nserver 8.8.8.8

nscache 65536

timeouts 1 5 30 60 180 1800 16 60

log /root/3proxy/logs/3proxy.log D

logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"

rotate 30

# IP адрес интерфейса принимающего интернет (internet ip), т.е. eth1.
external x.x.x.x

# IP адрес смотрящий в нашу локальную сеть. В случае с VPS, internal и external являются одним и тем же внешним адресом сервера.
# Фактически, эти глобальные значения можно вообще не настраивать, но они оставлены здесь для некоторой целостности подачи.
internal y.y.y.y

# Пользователи/пароли
users magadanparser:CL:password
users 99th:CL:password

auth strong

flush

# SOCKS на порту 8889 - раскомментируйте, если нужен. 
# socks -p8889

# FTP на любом порту выше 1024 (в данном случае - 3127)
# ftppr -p3127

# HTTP-прокси без поддержки NTLM на порту 8810 для нескольких внешних IP. Если IP-адрес один, оставляем одну строку, если много - добавляем по аналогии.
proxy -n -a -p8810 -iXXX.XXX.XXX.XXX -eXXX.XXX.XXX.XXX
proxy -n -a -p8810 -iYYY.YYY.YYY.YYY -eYYY.YYY.YYY.YYY

Еще немного телодвижений в консоли:

chmod 600 ~/3proxy/3proxy.conf

Запускаем прокси:

3proxy ~/3proxy/3proxy.conf

Проверяем успешность запуска:

ps ax | grep proxy | head -n 1

Если все хорошо, в результате выполнения предыдущей команды мы должны получить строчку с указанием имени процесса 3proxy. Готово!

«Солнечный»

Вопрос построения собственной сети дешевых и стабильных прокси стал еще более актуальным с выходом многопоточного парсера под кодовым названием «Солнечный», встроенного в «Магадан». В отличие от классического модуля однопоточного парсинга, доступного в Главном окне «Магадана», «Солнечный» заточен под использование множества пар аккаунт + прокси, что позволяет многократно ускорить сбор семантики.

TransparentPlugin

В комментариях к статье был упомянут TransparentPlugin, позволяющий сделать из 3proxy прямо таки конфетку анонимной прозрачности, но разбираться с плагином и переписывать инструкцию пока нет резона, ибо все и так отлично работает в рамках стоящих перед нами задач. Однако, кому-то это знание может пригодиться, поэтому имейте ввиду, что плагин входит в комплект сборок 3proxy начиная с версии 0.8.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты