суббота, 16 июля 2011 г.

Делаем модификацию для LiveStreet

Я хочу вам показать возможности Xrumer`a, а точней как его заточить под определенные ресурсы или движки. Кто не знает Xrumer можно приобрести на официальном сайте BotmasterRu.Com
Перед нами стоит задача автоматизировать регистрацию и постинг сообщений в блоги на движке LiveStreet.
Для начала надо сделать  копию папки с хрумером.
Делаем авторегисратор
Для примера я взял первый попавшийся сайт на LiveStreet  это http://argadgets.ru/
Заходим на сайт.
Смотрим, что надо сделать хрумеру.
Перейти по ссылке регистрация, заполнить форму, скачать капчу и нажать кнопку регистрация.
Редактируем файл xurl.txt Данный файл задаёт логику "следования" программы по ресурсу (нахождение ссылки на просмотр раздела форума, создания топика / сообщения, регистрацию и т.п.)
Для этого переходим в браузере по ссылке зарегистрироваться и смотрим адрес ссылки ведущую регистрацию
http://argadgets.ru/registration/
Т-е нам надо чтобы хрумер переходил по ссылки содержащую слово registration.
 Для этого открываем файл
xurl.txt   (он находится в папке с хрумером), очищаем его содержимое(Зачем! Ответ: т-к хрумер заточен в основном под форумы, то он в первую очередь будет искать форум, а если он его не найдет, только тогда он будет переходить на нужную нам ссылку(а это лишний трафик и лишнее время обработки сайта) и тут есть два варианта очистить файл или вставить правило после запрещающих правил), вставляем вот такое правило
1 это ссылка как есть в HTML-коде.
AddLinkRule([1,' registration'], URL_TOREGISTRATION);
Registration признак ссылки ведущую на регистрацию.
URL_TOREGISTRATION  - это как хрумер должен поступить с этой ссылкой, в нашем случае это ссылка на регистрацию.
Сохраняем файл.
Редактируем файл xas.txt данный файл отвечает за заполнения полей форм. Очищаем его содержимое.
Открываем исходный код страницы и смотрим код формы регистрации

<form action="http://argadgets.ru/registration/" method="POST">
                               <h2>Регистрация</h2>

                              

                               <p><label>Логин<br />
                               <input type="text" name="login" value="" class="input-wide" /><br />
                               <span class="note">Может состоять только из букв (A-Z a-z), цифр (0-9). Знак подчеркивания (_) лучше не использовать. Длина логина не может быть меньше 3 и больше 30 символов.</span></label></p>

                               <p><label>Электропочта<br />
                               <input type="text" name="mail" value="" class="input-wide" /><br />
                               <span class="note">Для проверки регистрации и в целях безопасности нам нужен адрес вашей электропочты.</span></label></p>

                               <p><label>Пароль<br />
                               <input type="password" name="password" value="" class="input-wide" /><br />
                               <span class="note">Должен содержать не менее 5 символов и не может совпадать с логином. Не используйте простые пароли, будьте разумны.</span></label></p>

                               <p><label>Повторите пароль<br />
                               <input type="password" value="" id="repass" name="password_confirm" class="input-wide" /></label></p>

                               Введите цифры и буквы<br />
                               <img src="http://argadgets.ru/engine/lib/external/kcaptcha/index.php?PHPSESSID=fa2153fa0705d68e6ee03be777553ff5" onclick="this.src='http://argadgets.ru/engine/lib/external/kcaptcha/index.php?PHPSESSID=fa2153fa0705d68e6ee03be777553ff5&n='+Math.random();" />

                               <p><input type="text" name="captcha" value="" maxlength="3" class="input-100" /></p>

                              

                               <input type="submit" name="submit_register" value="Зарегистрироваться" />
                </form>
Заполняем xas.txt Синтаксис файла можно прочитать в справке.(Справку переписывать не буду)


#login
NICKNAME
#mail
EMAIL
#!pass
PASSWORD
#captcha
SECRETCODE
Сохраняем файл
Редактируем файл DeCaptcha\default.mask.txt Он отвечает за поведение XRumer-а при обнаружении ссылок на изображения (капчи). Прописываем в конец файла следующее содержимое, можно отредактировать последнее правило

[Include] [inLink]kcaptcha[/]
[inForm]captcha[/]
[/]
Редактируем xmessages.txt Очищаем его содержимое кроме флага FORUM
Укажем, что это форма регистрации. Для этого берем часть кода из формы регистрации и прописываем к флагу RFORM

#<input type="submit" name="submit_register" value="Зарегистрироваться" />
RFORM
Теперь пробуем зарегистрироваться на сайте.  Так требуется активация учетной записи. Сделаем чтобы хрумер писал это в отчете, для этого открываем исходный код страницы и находим сообщение об успешной регистрации

<h2>
Активация аккаунта</h2>
Вы почти зарегистрировались, осталось только активировать аккаунт. Инструкции по активации отправлены по электронной почте на адрес, указанный при регистрации
Прописываем часть текста к флагу ACTIVATION
Получиться вот так

#Инструкции по активации отправлены по электронной почте
ACTIVATION
Проверка
Запускаем хрумер, включаем режим только регистрация, режим распознавания капчи полуручной. Заполняем в проекте все необходимые поля.
Вставляем адрес сайта в поле и нажимаем кнопку тест. Хрумер успешно зарегистрировался, но требуется активация аккуанта.
Теперь обучим его чтобы он находил ссылки активации в письме
Редактируем файл xpop.txt
Ссылка активации выглядит так
http://argadgets.ru/registration/activate/f6956d2e8cc1c517f1720496e6b0287f/
Шаблон будет вот такой

http://[...]/registration/activate/[...]
И прописываем шаблон в секцию [LINKNEEDS].
В настройках скачивания почты установите скачивать все письма без фильтрации по заголовку.
Обучаем хрумер для постинга сообщений в блоги
Смотрим какая задача стоим перед хрумером
Нажать ссылку войти, заполнить форму входа на сайт, Нажать ссылку написать, заполнить форму отправки сообщения.
Опять редактируем файл xurl.txt
Но на этот раз туда прописываем ссылку для входа на сайт
Ссылка выглядит вот так
http://argadgets.ru/login
Правило значит будет вот такое

AddLinkRule([1,'login'
],URL_TOLOGIN);
Сразу пропишем ссылку на создание нового сообщений.
Ссылка выглядит вот так
http://argadgets.ru/topic/add/
Правило значит будет вот такое

AddLinkRule([1,'topic/add'
],URL_TONEWPOST);
Проверяем имена полей для входа на сайт

<p>
<label>Логин или эл. почта:

<input type="text" class="input-text" name="login" id="login-input"/></label></p>

<p>
<label>Пароль:

<input type="password" name="password" class="input-text" /></label></p>
Они в xas.txt у нас уже прописаны.
Прописываем имена полей для создание нового сообщения.

#topic_title
SUBJ1
#topic_text
MESSAGE
#topic_tags
SUBJ2
Сохраняем файл. Запускаем хрумер. Включаем режим рассылка от ранее зарегистрированного пользователя
И нажимаем кнопку тест.
Переходим по ссылки и видим что хрумер оставил наш пост, что и требовалось сделать.
Но это мы сделали только наброски.
На самом деле ещё много работы. Надо прописать все варианты возможных ошибок при регистрации, отправки сообщения. Например данный логин уже занят, неверно введена капча, данный email запрещен для регистрации и т. Д.
И опять же мы сделали это для одного сайта. На других сайтах могут отличаться адрес отправки сообщения, при регистрации могут стоять дополнительный текстовые вопросы, могут различаться имена полей, различаться ответы на успешную регистрацию и т д.
Т-е надо проработать так пару десятков сайтов,  потом пройтись  по небольшой базе и анализировать, почему хрумер не смог зарегистрироваться(отправить сообщение) на том или ином сайте.
Кому лень делать самому, вот готовые файлы Скачать
Кому что то не понятно, ниже видео создания этой модификации.
Меня всегда можно найти на форуме.

среда, 6 июля 2011 г.

Делаем модификацию для постинга в личные сообщения на дле

BotmasterRu.Com проводит уже третий конкурс статей.
Для начала нам надо приготовить базу. В базе должны содержатся ссылки ведущие на регистрацию.
Базу можно приготовить специальным инструментом DLE Spider который можно скачать в Вашем аккаунте на BotmasterRu.Com
Итак После того как запустили DLE Spider видим следующее окно
В поле 1 указываем адрес до базы дле сайтов, в комплекте хрумера уже есть база дле сайтов LinkList id200.txt.
Второе и третье поле заполняются автоматически.
Т-к ссылки на комментирования нам не нужны указываем сбор ссылок на комментирование по одной с каждого сайта
Также указываем количество потоков я выбрал 30.
Вот видео работы DLE Spider

После того как сделали базу запускаем хрумер.
Теперь наша задача зарегистрировать учетные записа на сайтах.
Сначала настройки.
Заходим в Настройки –Дополнительные настройки. Включаем режим только регистрация. Сохраняем
Выбираем полученую базу в моем случае это LinkList id201.txt.
Включаем автоматический режим распознования капчи (Не надо антикапчи хрумер её сам распознает)
Включаем рассылку. На выходе получим отчет профили, вот он нам и нужен будет.
Анализ сайта
Для этого берем первый профиль (в моем случае это http://muzsib.net/user/cvbxccxvgb/ )
Заходим на сайт и логинимся.
Нажимаем написать ПС.
И смотрим адрес ссылки создания ПС
http://muzsib.net/index.php?do=pm&doaction=newpm&user=12103
ПС на дле можно рассылать по диапазону id, для этого приготовим базу ведущую на создание нового сообщения каждому пользователю.
Т-е наша задача слелать базу чтобы user= был от 1 до 12103.
Для этого нам надо сделать диапазон чисел я не буду делать 12000 сделаю 100.
Это можно сделать в экселе, для этого надо написать в одной ячейке 1, в ячейке ниже 2, выделить их и потянуть за правый нижний угол до 100ой ячейки .
Копируем числа в буфер.
Запускаем хрумер Инструменты - Конвертор ссылок и заполняем также как у меня на скрине
Нажимаем кнопку сгенерировать и получим нужную нам базу
Сохраняем её в R базу я сохранил её по именем RLinksList id201.txt
Включаем в настройках хрумера режим рассылка от ранее зарегистрированного пользователя.
Берем одну ссылку, вставляем в поле и нажимаем кнопку тест (проект оставить старый).
Перед этим надо проверить через браузер можем ли мы отправить сообщение этому пользователю. Я взял ссылку http://muzsib.net/index.php?do=pm&doaction=newpm&user=2
После обработки ссылки хрумер написал профиль отредактирован; вошли; успех;
Но это ещё не все надо проверить правильно ли хрумер заполнил поля.
Для этого заходим в папку Debug открываем файл FormFields id201.txt и видим следующее содержимое ( я взял часть когда хрумер заполнял форму входа на сайт и отправки сообщения)
=====[ FormAction: http://muzsib.net/index.php?do=pm&doaction=newpm&user=2, FormEnctype: ]=====
[text] [Text before = "login:"] login_name = cvbxccxvgb
[password] [Text before = "pass:"] login_password = *********
[image] [Text before = "pass:"] image =
[hidden] login = submit
=====[ FormAction: http://muzsib.net/index.php?do=pm&doaction=newpm&user=2, FormEnctype: ]=====
[text] [Text before = "Получатель:"] name = cvbxccxvgb
[text] [Text before = "Тема:"] subj = Test, just a test
[textarea] [Text before = "Тема:"] comments = Hello. And Bye.
[checkbox] [Text before = "Тема:"] outboxcopy =
[submit] [Text before = "Сохранить сообщение в папке Отправленные"] add = отправить
[hidden] send = send
И видим, что он поле получатель заполнил данными из поля никнейм, что нам не надо.
Ещё он не поставил галочку в Сохранить сообщение в папке Отправленные.
Обучение хрумера правильно заполнять форму
Для этого закрываем хрумер, находим в директории хрумера файл xas.txt.(Данный файл содержит ассоциативную информацию для заполнения полей форм) И Делаем его копию.
Теперь открываем его (не копию)и находим секцию NICKNAME.
Самым первым там прописано поле !name, т-е везде где в имени поля содержится фраза name он будет заполнять её из поля в проекте никнейм. Меняем её на login_name это имя поля для входа на сайт.
Теперь сделаем чтобы ставил галочку сохранять сообщение в папке Отправленные. Для этого берем имя чекбокса и присваеваем ему значение 1
#outboxcopy
1
Вот скрин как должно получится
Что мы сделали. При открытии формы для отправки сообщения поле Получатель уже заполнено. А так как хрумер теперь его не знает он его не будет трогать, то есть оставит в нем содержимое какое есть, а это нам и надо что там осталось имя пользователя кому пойдет письмо
Теперь запускаем хрумер попробуем что получилось у нас на этот раз. Также вставляем адрес сайта нажимаем кнопку тест. Смотрим FormFields id201.txt
=====[ FormAction: http://muzsib.net/index.php?do=pm&doaction=newpm&user=2, FormEnctype: ]=====
[text] [Text before = "Получатель:"] name = sanyt
[text] [Text before = "Тема:"] subj = Test, just a test
[textarea] [Text before = "Тема:"] comments = Hello. And Bye.
[checkbox] [Text before = "Тема:"] outboxcopy = 1
[submit] [Text before = "Сохранить сообщение в папке Отправленные"] add = отправить
[hidden] send = send
Как видим форма заполнена верно.
Заходим на сайт в папку отправленные сообщения и видим, что письмо ушло по адресу.
Также можно сделать отчеты хрумера более правдивыми, для этого отправляем сообщение любому пользователю и смотрим ответ сайта, в нашем случае это
Ваше сообщение было успешно отправлено
Смотрим как эта фраза выглядит в исходном коде.(это на всякий случай т-к может содержатся между словами какой нибудь код)
Далее копируем её в буффер.
Запускаем хрумер заходим в
Настройки - Внутриконтекстный поиск.
И сохраняем туда нашу фразу.
Теперь при рассылки, если хрумер где её встретит, он об это напишет.
Теперь можно включить рассылку по всей базе.
Это я разобрал пример для одного сайта. На самом деле тут не чего сложного нет как кажится на первый взгляд. Да не забудте после рассылки сообщений вернуть старый хас обратно так-как при регистрации на том же сайте поля для ввода ника называетя name.
Если кому лень читать или что-то не понятно вот видео