вторник, 6 сентября 2016 г.

VKClient - программа для рассылки вконтакте | от devorigin.ru


   Страница программы на оф. сайте https://devorigin.ru/vkclient
   
 Функционал VKClient. Программа для раскрутки и продвижения вконтакте
— Многопоточная рассылка в личные сообщения с возможностью использовать имя получателя
— Многопоточная рассылка по беседам: создание, отправка, выход, удаление беседы у отправителя
— Многопоточная рассылка по друзьям с критериями: онлайн, пол, возраст. Можно использовать имя получателя при обращении, заменяя его на уменьшительно-ласкательное по собственному словарю, что вызовет больше доверия (допускается использование нескольких вариантов для одного имени)
— Многопоточный лайкинг и комментирование аватарок и постов пользователей,  добавление в друзья - все это можно делать одновременно
— Многопоточное вступление в открытые группы, лайкинг, репосты, комментирование постов (с возможностью добавления изображения) и видеозаписей в группах - все это можно делать одновременно
— Функция первонаха
— Многопоточная рассылка на стены групп с возможностью добавления изображения
— Многопоточный инвайтер друзей в группы с критериями пол и возраст
— Размещение постов на стене аккаунта
— Ведение диалогов с вложениями
— Автоответчик по ключевым словам и фильтром по полу
— Удаление сообщений после отправки
— Прием заявок в друзья
— Заполнение аккаунтов: подписка на сообщества, добавление видео, аудио, репосты, изменение города, статуса, аватарки, даты рождения, смена паролей
— Чистка аккаунтов: стена и фотографии
— Перепривязка сообщений с заблокированных аккаунтов
— Режим имитации активности человека: скроллинг новостей, переходы из ленты в паблики, на страницы друзей, рандомные лайки и репосты, лайки аватарок, написание сообщений. Отлично подойдет, если у вас есть авторег/ретрив аккаунты либо аккаунты, которыми давно не пользовались
— Парсер групп из поиска
— Парсер пользователей из групп
— Парсер пользователей, лайкнувших запись
— Парсер друзей
— Поддержка прокси, юзер агентов
— Учет дубликатов
— Проверка ссылок на бан вконтакте
— Возможность начать работу по заданному времени
— Возможность использовать собственное приложение для получения токена
— Поддержка рандомизации текста
— Создание отчета о работе
— Во всех режимах есть имитация набора текста

понедельник, 29 августа 2016 г.

Автоответчик для авито. Avito Talker | от devorigin.ru


     Страница программы на оф. сайте https://devorigin.ru/avito_monster_sender
 
    Устали проверять и отвечать на сообщения с авито? Или вы заняты чем-то другим и вам некогда?
     Есть отличное решение - автоответчик для сайта avito.ru. Он за вас узнает у клиента почту для связи или любую другую информацию, которую вы захотите, а вы в это время будете заниматься чем пожелаете. Универсальное решение для тех, кто очень плотно работает с данным сайтом и хочет максимально упростить рутинную работу.
     Вы сможете сами задавать сообщения для автоответа, работать с множеством аккаунтов через прокси + вы сможете выгружать отчет по новым сообщениям: кто ответил, что ответил, на какое объявление, с какого аккаунта и в какое время.

UPD 16.09.2016: Программа совмещена с avito monster sender. Подробнее ТУТ
       

воскресенье, 28 августа 2016 г.

Разгадывание reCaptcha с помощью java, phantomjs, jsoup и сервиса rucaptcha

     Есть 2 способа разгадывания recaptcha v2 (выбор картинок по параметрам): когда есть кнопка submit (например, при авторизации на сайте) и когда она отсутствует (при постинге на стене vk). Рассмотрим сначала первый и более простой вариант с кнопкой

     1. С наглядными и подробными пояснениями можно ознакомиться на оф. сайте рукапчи КЛАЦ. Я же объясню, как это сделать с помощью java
      Импортируем библиотеки phantomjs, jsoup и commons-lang
<dependency>
    <groupId>com.codeborne</groupId>
    <artifactId>phantomjsdriver</artifactId>
    <version>1.3.0</version>
</dependency>
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.7.2</version>
 </dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
 </dependency>
Как настроить phantomjs я уже писал ТУТ.

        //1. Получаем data-sitekey
String sitekey = Jsoup.parse(driver.getPageSource()).select(".g-recaptcha").attr("data-sitekey");

        //2. Получаем id капчи от сервиса рукапчи
            document = Jsoup.connect("http://rucaptcha.com/in.php?key=КЛЮЧ СЕРВИСА РУКАПЧИ&method=userrecaptcha&pageurl=домен сайта на котором вылезла капча&googlekey="+sitekey).get();
        String captchaId = StringUtils.substringAfter(document.text(), "OK|");

        //3. Ждем разгаданную капчу от сервиса рукапчи, делая запрос каждые 5 секунд
       String documentText;
        do {
            Thread.sleep(5000);
            document = Jsoup.connect("http://rucaptcha.com/res.php?key=КЛЮЧ СЕРВИСА РУКАПЧИ&action=get&id="+captchaId).get();
            documentText = document.text();
        } while (!documentText.contains("OK"));
        String captchaResponse = StringUtils.substringAfter(documentText, "OK|");

        //4. Делаем элемент g-recaptcha-response видимым
        JavascriptExecutor js = (JavascriptExecutor) driver;
        js.executeScript("document.getElementById('g-recaptcha-response').setAttribute('style', '')");

        //5. Вводим ответ от сервиса в текстовое поле, которое сделали видимым в предыдущем пункте
        driver.findElement(By.id("g-recaptcha-response")).sendKeys(captchaResponse);

        //6. Нажимаем кнопку отправки формы
        driver.findElement(By.id("submit button id")).click();

     На этом первый способ разгадывания завершен.  При втором способе, придется нажимать на картинки.

     2. Рассмотрим второй способ разгадывания капчи
     Для этого необходимо скачать и подключить jar библиотеку для взаимодействия с api rucaptcha.com ТУТ
     Теперь, если нам попалась капча, делаем следующее:
        //Переключаемся на фрейм с капчей и жмем кнопку "я не робот"
        driver.switchTo().frame("undefined");
        driver.findElementByClassName("recaptcha-checkbox-checkmark").click();

        //После чего отключаемся от этого фрейма и подключаемся к фрейму с картинкой
        driver.switchTo().defaultContent();
        WebElement elementByXPath = driver.findElementByXPath("//iframe[contains(@title,'проверка recaptcha')]");
        driver.switchTo().frame(elementByXPath);
     
        //Получаем текст инструкции, url картинки и список квадратов на которые она разбита
        String src = driver.findElementByXPath("//img[contains(@class,'rc-image-tile-')]").getAttribute("src");
        Document parse = Jsoup.parse(driver.getPageSource());
        String instruction= parse.select(".rc-imageselect-desc-no-canonical").first().text();
        List<WebElement> elements = driver.findElementByXPath("//table[contains(@class,'rc-imageselect-table-')]").findElements(By.className("rc-image-tile-wrapper"));

        //сохраняем капчу локально
        File file = new File("captcha.jpg");
        URL url = new URL(src);
        FileUtils.copyURLToFile(url, file);

        // Определяем размерность сетки (может, размерностей больше, но  пока я встречал              только  три типа)
        int columns;
        int rows;
        if (elements.size()==8){
            rows = 4;
            columns = 2;
        } else if (elements.size()==9){
            rows = 3;
            columns = 3;
        } else {
            rows = 4;
            columns = 4;
        }
   
        //Ждем индексы картинок, по которым нужно кликнуть
        RuCaptcha.API_KEY = "КЛЮЧ СЕРВИСА";
        String captchaID = RuCaptcha.postReCaptcha2(file, instruction, 1, columns, rows);
        captchaID = StringUtils.substringAfter(captchaID, "OK|");
        String resp;
        do {
            Thread.sleep(5000);
            resp = RuCaptcha.getDecryption(captchaID);
        } while (!resp.contains("OK"));
        String indicesStr = StringUtils.substringAfter(resp, "OK|");
        String[] indicesArr = indicesStr.split(":")[1].split("/");

        //кликаем по полученным индексам, после каждого клика выжидая небольшую паузу
        for (String strSquareInd : indicesArr) {
            int intSquareInd = Integer.parseInt(strSquareInd );
             elements = driver.findElementByXPath("//table[contains(@class,'rc-imageselect-table-')]").findElements(By.className("rc-image-tile-wrapper"));
            elements.get(intSquareInd -1).click();
            Thread.sleep(1000);
        }

        // Жмем кнопку подтвердить, после чего наш пост спокойно добавляется в группу vk
        driver.findElementById("recaptcha-verify-button").click();

суббота, 27 августа 2016 г.

Phantomjs with proxy and user agent using java

        

How to implement phantomjs using java

Download library for windows from the official site http://phantomjs.org/download.html
Phantomjs maven repo https://mvnrepository.com/artifact/com.codeborne/phantomjsdriver
Extract phantomjs.exe to the current working directory

public static Capabilities getCapabilities() {
        DesiredCapabilities cap = new DesiredCapabilities();
        String proxy = "--proxy=ip:port;"; //if you need proxy
        String auth = "--proxy-auth=login:pass"; //if you need proxy
        String type = "--proxy-type=http"; //if you need proxy
        String[] phantomArgs = new String[]{
                "--webdriver-loglevel=NONE",
                proxy, auth, type

        };
        String fileName = "phantomjs.exe";
        cap.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs);
     cap.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, fileName);
cap.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_SETTINGS_PREFIX + "userAgent",  "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0");
        return cap;
    }

PhantomJSDriver driver = new PhantomJSDriver(getCapabilities());

That's all

четверг, 25 августа 2016 г.

OKBot - программа для рассылки на одноклассниках | от devorigin.ru


Программа для рассылки по комментариям к видео, темам и загрузка фото с описаниями в альбомы. Фотографии, видео и темы активно обсуждаются, комментируются и показываются в новостной ленте. Использование программы - это отличный способ привлечения трафика. Выбирайте активные группы сами или используйте встроенный парсер групп.

  Страница программы на оф. сайте https://devorigin.ru/okbot

     Функционал OKBot. Рассылка и продвижение в одноклассниках

— Загрузка фото с описанием в группы
— Загрузка фото с описанием в альбомы по списку
— Комментирование видео в группах
— Комментирование видео по списку
— Комментирование тем в группах
— Прикрепление изображений к комментариям
— Возможность спарсить группы
— Поддержка прокси, юзер агентов
— Поддержка рандомизации текста
— Создание отчета о работе

Рассылка сообщений на авито программой Avito Monster Sender | от devorigin.ru


     Страница программы на оф. сайте https://devorigin.ru/avito_monster_sender

Вашему вниманию представляется программа для рассылки в личные сообщения сайта avito.ru. Программа многопоточная, работает с сервисами распознавания капчи, поддерживает работу через прокси, исключает дубликаты. После быстрой и легкой настройки, вы можете указать нужную категорию объявлений, по которой будет производиться рассылка и запустить программу.
     Например:
     1. Вы занимаетесь строительными работами.
         Выбираете категорию "квартир" и тип объявлений "куплю" для вашего региона. Людям, которые покупают квартиру, скорее всего, понадобится ремонт, от косметического до капитального, вот тут вы и можете пойти на опережение, прорекламировав свой сайт по ремонту, либо себя, как мастера.
     2. У вас есть автосервис, либо вы занимаетесь ремонтом авто.
       Схема такая же, как и для квартир, только категория "автомобили".
     3. Вы предоставляете юридические услуги.
       Вам идеально подойдет рассылка для людей, которые продают/покупают жилье, продают автомобили или другой дорогой товар, в оформлении купли-продажи, страхования которого требуется помощь специалиста
     4. Вы владелец сток-магазина.
      С помощью данной программы вы с легкостью сможете направлять к себе людей, продающих б/у вещи, для дальнейшей их перепродажи.
     5. Вы в поисках работы.
       Обратите на себя внимание максимальное число работодателей, занимаясь в это время своими делами.


Функционал Avito Monster Sender + Avito Talker. Рассылка и автоответчик авито
— Многопоточная рассылка в личные сообщения по заданной категории
— Отправка тестового сообщения в момент работы для проверки доставляемости
— Многопоточные автоответы на личные сообщения в двух режимах
— Выгрузка непрочитанных диалогов в текстовый файл
— Поддержка прокси, юзер агентов
— Учет дубликатов
— Поддержка рандомизации текста
— Создание отчета о работе