Скачать программу «Магадан» 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.