ХОТКЕИ
- F1 - Проверить проект
- CTRL+S - Сохранить проект
- CTRL+SHIFT+S - Сохранить проект на сервере
- CTRL+R - Восстановить последний сохраненный проект
- CTRL+SHIFT+R - Скачать и загрузить последний сохраненный проект на сервере
ПЕРЕМЕННЫЕ
- |PARS| - Обычный парсер, нужно указывать индекс.
- |REGEX| - Парсер по регулярке, нужно указывать индекс.
- |REGEXGLUE| - Склеивает регулярки по индексам и добавляет разделитель между ними, количество индексов не ограничено. Пример: |REGEXGLUE|[1, | ,2, \ ,3]
- |SIMPLEGLUE| - Склеивает регулярку по индексу и какое-то значение. Пример: |SIMPLEGLUE|[1, Пароль - |PWD|]
- |REGEXCYCLE| - Цикличный парсер из результатов парсинга по регулярке, нужно указывать индекс полученного результата от парсера по регуляркам.
- |PARSCYCLE| - Цикличный парсер по результатам обычного парсинга, нужно указывать индекс.
- |CYCLE| - Создает цикличный запрос с диапазоном от и до. Пример: |CYCLE|[1-9]
- |CUSTOMCYCLE| - Создает цикличный запрос по значениям, которые ввел клиент. Пример: https://google.com/?req=|CUSTOMCYCLE|[|DYNAMICSTR|(Ваша динамическая настройка)|DL|(разделитель для значений),]
- |REGEXCOUNT| - Достает количество строк в результате от парсера по регулярке, нужно указывать индекс.
- |VALUE| - Обращение к частям входных данных. Пример: |VALUE|[1] (Логин).
- |LOGIN| - Логин.
- |PWD| - Пароль.
- |LOGIN|D| - Домен логина.
- |LOGIN|ND| - Логин с убранным доменом.
- |IP| - IP прокси сервера.
- |PORT| - Порт прокси сервера.
- |PROXYTYPE| - Тип прокси сервера.
- |PROXY| - Возвращает полную строку прокси сервера (ip:port|type:user:password).
- |REDIRECT| - Ссылка на последний редирект.
- |USERAGENT| - Текущий юзерагент.
- |RANDOMSTRING| - Хранит все сгенерированные данные командой |RANDOM|. Пример: |RANDOMSTRING|[2] - выдаст второй по счету сгенерированный текст.
- |DV| - Обращение к динамической переменной. Пример: |DV|[Test].
- |SB| - Обращение к динамической переменной для вставки куска кода в Скрипт-бокс. Пример: |SB|[Test].
ОПРЕДЕЛЕНИЯ
Полностью наследуют логику, все определения пишутся точно так же, как и логические операции.
- |RESPONSE| - Ответ от сервера.
- |HEADERS| - Заголовки от сервера.
- |COOKIES| - Сохраненные куки.
- |ALLOTHER| - Все другие ответы являются плохими (Применяется только в определении для плохого запроса).
- |ID| - Идентификатор (Указывается при определениях). Пример: |ID|block|.
ЛОГИЧЕСКИЕ ОПЕРАТОРЫ
- |OR| - Или. Пример: 1|>|2|OR|2|>|1. Результат: Истина, т.к. 2 больше 1.
- |AND| - И. Пример: 1|>|2|AND|2|>|1. Результат: Ложь, т.к. 1 не больше 2.
- |>| - Больше. Пример: 1|>|2 (Только численные значения). Результат: Ложь, т.к. 1 не больше 2.
- |<| - Меньше. Пример: 1|<|2 (Только численные значения). Результат: Истина, т.к. 1 меньше 2.
- |>=| - Больше равно. Пример: 1|>=|2 (Только численные значения). Результат: Ложь, т.к. 1 не больше равно 2.
- |<=| - Меньше равно. Пример: 1|<=|2 (Только численные значения). Результат: Истина, т.к. 1 меньше равно 2.
- |pos=0| - Подстрока не существует в строке. Пример: @mail.ru|pos=0|login@mail.ru. Результат: Ложь, т.к. значение @mail.ru находится в строке login@mail.ru.
- |pos>0| - Подстрока существует в строке. Пример: @mail.ru|pos>0|login@mail.ru. Результат: Истина, т.к. значение @mail.ru находится в строке login@mail.ru.
- |=| - Равно. Пример: 1|=|2 (Также можно использовать строковые значения). Результат: Ложь, т.к. 1 не равно 2.
- |<>| - Не равно. Пример: 1|<>|2 (Также можно использовать строковые значения). Результат: Истина, т.к. 1 не равно 2.
- ( ) - Операторы, которые позволяют совершать сложные логические операции. Пример:
- Поиск писем|pos>0|Авторизация-Чекер-Поиск писем|OR|Авторизация-Чекер-Поиск писем|=|@mail.ru|pos>0|login@mail.ru|OR|@bk.ru|pos>0|login@mail.ru|OR|@list.ru|pos>0|login@mail.ru|OR|@mail.ua|pos>0|login@mail.ru|OR|@inbox.ru|pos>0|login@mail.ru
- Результат: Истина, т.к. подстрока “Поиск писем” существует в строке “Авторизация-Чекер-Поиск писем” и подстрока "@mail.ru" существует в строке "login@mail.ru".
- |LFNC| - Экранизация символа (.
- |RFNC| - Экранизация символа ).
- |DOLOGIC| - Ставит блок лога под условие и выводит его в случае истины. Пример:
- |DOLOGIC|Чекер|pos>0||METHOD||ENDLOGIC|Баланс - |PARS|[1]|DOLOGIC|
- Если указан “Чекер” в динам настройках, тогда данный блок лога выведет в результат.
- |LLR| - Хранит в себе историю результатов от логических операций. Пример: |LLR|[1]. Возвращает True или False, определения не сохраняют историю.
- |LNS| - Запрещает сохранение истории. Пример: 1|>|2|OR|2|>1|LNS|. История в массиве |LLR| не сохранится.
- |THIS| - Текущий парсер для логических правил парсеров.
- || - Начало линейного логического блока в Скрипт-боксе (он не выполняется прежде всего, а ждет своей очереди).
- В логических операциях доступны все виды функций, переменных, а также значения динамических настроек.
- Есть возможность вписать чисто одну команду. Пример: |DV|[logicField] - в данной динамической переменной хранится логическая операция, она рекурсивно интерпретируется и интерпретатор логических операций примет данную команду как логическую операцию.
- Все результаты от логических операций хранятся в команде |LLR|. Команда |LNS| запрещает сохранение истории. Пример: 1|>|2|OR|2|>1|LNS|. История в массиве |LLR| не сохранится.
ЛОГИЧЕСКИЕ БЛОКИ
Логическая операция состоит из блоков. Пример:
1|>|2|OR|2|>|1. То, что между оператором |OR| является логическими блоками.
Логические блоки имеют свои команды:
- |USEAG| - Указывается при определениях, обозначает, что при найденном проверяемом значении будет использоваться модуль.
- |AGREPORT| - Указывается при определениях, обозначает, что если капча была введена неверно, тогда отправляется жалоба на нее в указанный сервис.
СКРИПТ-БОКС
Скрипт-бокс позволяет выполнять логические операции, логические блоки, функции и парсеры различных видов. Ниже описаны основные возможности и примеры использования.
Теги для многострочного кода
#beginScript
- начало блока многострочного кода.
#endScript
- конец блока многострочного кода.
Пример:
#beginScript
|PARS|[1] = test
message
#endScript
В итоге |PARS|[1] будет содержать значение - test
message
Операторы
Присваивание
=
- оператор присваивания.
Пример: |PARS|[1] = |PARS|[1]Test присваивает |PARS|[1] значение с добавленным словом “Test”.
Комментарии
//
- строки, начинающиеся с этого оператора, будут пропускаться интерпретатором.
Линейные логические блоки
||
- начало линейного логического блока. После него идет логическая операция.
Пример:
|||PARS|[1]|>|2
|PARS|[1] = |PARS|[1] руб.
|PARS|[2] = |PARS|[2] руб.
||END
||END - конец линейного логического блока. Если не указать данную команду, только первая строка будет считаться частью блока.
Критическая секция
|SYNCHOLE|
- обозначение критической секции.
Пример:
|SYNCHOLE| = enter (вход)
|SYNCHOLE| = leave (выход)
Результаты
|CONCLUSION|
- обозначение результата.
0
- плохой результат
1
- хороший результат
3
- капча/блок
99
- не подходящие под настройки
Пример: |CONCLUSION| = 0 устанавливает результат как “плохой”.
Пример полноценного скрипта
|DOLOGIC||PARS|[1]|>|0|ENDLOGIC|
|PARS|[1] = Есть баланс
|DOLOGIC|
|DOLOGIC||PARS|[1]|<>|Есть баланс|AND||PARS|[1]|<|0|ENDLOGIC|
|CONCLUSION| = 0
|DOLOGIC|
Пояснение:
- В первом блоке: если парсер 1 больше 0, тогда |PARS|[1] присваивается значение “Есть баланс”.
- Во втором блоке: если парсер 1 не равен “Есть баланс” и парсер 1 меньше 0, тогда результат равен 0 (плохой результат).
Работает только при хорошем ответе и в самую последнюю очередь (до вывода лога).
Подключение кода из динамических переменных
Для подключения кода, хранящегося в динамической переменной, используйте префикс |SB| вместо |DV|.
Специальная функция
|SCRIPTBOX|
- позволяет использовать функционал Скрипт-бокса, включая все описанные возможности.
РАСШИРЕННАЯ СТАТИСТИКА
Пример настройки статистики:
- Последняя строка |DEL||VALUE|[1];|VALUE|[2]
- Колонки разделяются командой |DEL|
Расширенная статистика обновляется раз в 50 миллисекунд.
Если вы подсчитываете какие-либо данные, например: кол-во строк с цифрами, обязательно используйте глобальные переменные.
КОНТЕЙНЕР
- Цикл WHILE - Повторяет запросы в контейнере до тех пор, пока срабатывает логическая операция.
- Цикл FOR - Интервал значений, повторяет запросы в контейнере от значения и до значения. Значения разделяются командой |TO|. Пример: 1|TO||DV|[pagesCount] (цикл FOR резервирует переменную |COUNTER|, в которой хранится текущая итерация). Также разрешен интервал по убыванию чисел. Пример: 9|TO|1
- Оператор IF - Ставит под условие запросы в контейнере.
- Контейнер может распаковываться даже если результат будет плохой (|CONCLUSION| = 0), так как существует условие использования запроса в случае плохого результата. Если у вас до распаковки контейнера (именно первый запрос до запроса с контейнером) результат может выйти плохим, делайте условие при распаковке контейнера (|CONCLUSION||=|1, оператор IF) и в таком случае он будет распаковываться только в случае хорошего результата.
ФУНКЦИИ
Начальная функция должна указваться в скобках
Пример с несколькими функциями - (|MD5||BASE64||LOGIN||BASE64||MD5|)
Функции можно использовать в логических операциях:
((|UPPER||PARS|[1]||UPPER|)|=|ASD|OR||PARS|[1]|=|asd)|AND|(|PARS|[2]|=|DSA|OR|(|LOWER||PARS|[2]|
LOWER|)|=|dsa)
- Функции могут принимать такой вид:
|MD5||BASE64||LOGIN||BASE64| - |MD5||PWD||MD5||MD5|
- Фукнция(функция() функция())
- Две функции внутри одной функции, так же в этих функциях тоже могут быть функции
- Самые простые виды:
- (|BASE64||LOGIN||BASE64|) - 1 параметр
- (|UUIDV4||UUIDV4|) - без параметров
- При вызове функции только начальная должна иметь скобки, для экранизации скобок используйте |LFNC| - “(” и |RFNC| - “)”
|MD5|
Описание:
Шифрование выделенной строки данным тегом в MD5.
|BASE64|
Описание:
Шифрование выделенной строки данным тегом в Base64.
|SHA1|
Описание:
Шифрование выделенной строки данным тегом в Sha1.
|SHA256|
Описание:
Шифрование выделенной строки данным тегом в Sha256.
|SHA512|
Описание:
Шифрование выделенной строки данным тегом в Sha512.
|FILETOBASE64|
Описание:
Шифрование файла по ссылке в Base64.
Пример использования:
- |FILETOBASE64|https://captcha.com/images/captcha/botdetect3-captcha-ancientmosaic.jpg|FILETOBASE64|
|RANDOM|
Описание:
Генерирует рандомное значение по своей маске с длиной по диапазону.
Пример использования:
- |RANDOM|ABC123(АЛФАВИТ СИМВОЛОВ)|1-9(ДИАПАЗОН ДЛИНЫ)|RANDOM|
Примеры:
- Русский алфавит символов: |RANDOM|абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ|1-9|RANDOM|
- Английский алфавит символов: |RANDOM|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ|1-9|RANDOM|
- Алфавит цифр: |RANDOM|1234567890|1-9|RANDOM|
|LOWER|
Описание:
Перевод выделенной строки данным тегом в нижний регистр.
|UPPER|
Описание:
Перевод выделенной строки данным тегом в верхний регистр.
|FUPPER|
Описание:
Ставит первый символ в верхнем регистре.
|REMOVENUM|
Описание:
Убирает все цифры из строки.
|URLENCODE|
Описание:
URL-кодирует строку.
|URLDECODE|
Описание:
Декодирует строку в URL формате.
|FDSPACE|
Описание:
Удаляет все пустые символы с начала строки.
|EDSPACE|
Описание:
Удаляет все пустые символы с конца строки.
|SCRIPT|
Описание:
Запрос к скрипту на сервер, указанный в настройках.
|DEMPTYSTR|
Описание:
Удаляет пустые строки.
|DUPDEL|
Описание:
Удаляет дубликаты.
|GETLINE|
Описание:
Возвращает указанную строку.
Пример использования:
- |GETLINE||PARS|[1],5|GETLINE|
|GETCHAR|
Описание:
Возвращает указанный символ.
Пример использования:
- |GETCHAR||PARS|[1],5|GETCHAR|
|GETCOUNT|
Описание:
Достает количество строк.
|MATH|
Описание:
Математические уравнения, возможно делать очень сложные вычисления.
Пример уравнения:
- 21*v(34)+((58)/(12^13))*sin((343)/(?))
Дополнительная информация:
Используется библиотека TMS Analytix. Ссылка на документацию: TMS Analytix
Принимает дополнительный аргумент:
- removeChars. Он будет удалять из строки уравнения все символы кроме: 1234567890±*/,()^
Пример использования:
- |MATH|431+(123-431-(-43+45)),removeChars|MATH|
|LENGTH|
Описание:
Возвращает длину указанной строки.
|SIMPLEPARS|
Описание:
Парсит значение из строки, имеет свои команды: |FROM|, |TO|, |IN|, |INDEX|
Команды:
- |FROM| - Первый тег для парса (От)
- |TO| - Второй тег для парса (До)
- |IN| - Из какой строки парсить (Где)
- |INDEX| - Индекс среди повторяющихся значений, если оставить пустым (или не указывать совсем), то будет указан 1
Также принимает команды:
Пример использования:
- |SIMPLEPARS||FROM|value="|FROM||IN||RESPONSE||IN||TO|"|TO||INDEX|2|INDEX||SIMPLEPARS|
|REGEXPARS|
Описание:
Парсит значения по регулярке, имеет свои команды: |GROUP|, |EXPR|, |IN|
Команды:
- |IN| - Из какой строки парсить (Где)
- |GROUP| - Группа, если оставить пустым (или не указывать совсем), то будет указана группа 1
- |EXPR| - Регулярное выражение
Пример использования:
- |REGEXPARS||EXPR|value="(.*?)"|EXPR||IN||RESPONSE||IN||REGEXPARS|
|REPLACESTR|
Описание:
Заменяет все найденные значения в строке, имеет свои команды: |FROM|, |TO|, |IN|, |IGNORECASE|
Команды:
- |FROM| - Заменяемая строка (Что заменяем)
- |TO| - Новая строка (На что заменяем)
- |IN| - В какой строке заменяем (Где)
- |IGNORECASE| - Если указана эта команда, то регистр текста будет игнорироваться
Пример использования:
- |REPLACESTR||IN||PARS|[1]|IN||FROM||ANSI|13||ANSI|10||FROM||TO|, |TO||IGNORECASE||REPLACESTR|
|REGREPLACE|
Описание:
Заменяет все найденные значения в строке, имеет свои команды: |EXPR|, |TO|, |IN|
Команды:
- |EXPR| - Регулярное выражение заменяемой строки (Что заменяем)
- |TO| - Новая строка (На что заменяем)
- |IN| - В какой строке заменяем (Где)
Пример использования:
- |REGREPLACE||IN||PARS|[1]|IN||EXPR||ANSI|13||ANSI|10||EXPR||TO|, |TO|
|EVAL|
Описание:
Запускает интерпретацию JavaScript-кода с помощью движка QuickJS, применяя глобальный контекст исполнения без использования ES6 модулей. Для активации устаревшего JavaScript-движка вставьте команду |USEOLDJS| внутри вызова |EVAL|.
Дополнительная информация:
В устаревшем движке, чтобы функция что-то возвратила, вам нужно перенести ваш JS скрипт в функцию и возвратить нужное значение и потом вызывать эту функцию.
|JSESCAPE|
Описание:
Экранирует строку для вставки в JS код.
Пример использования:
- |EVAL|myFunction("|JSESCAPE||PARS|[1]|JSESCAPE|")|EVAL|
|SCRIPTBOX|
Описание:
Функционал Скрипт-бокса. Описание выше (конечная функция, желательно чтобы она была и начальной, возвращает пустоту).
|DLL|
Описание:
Вызов функции из DLL.
Дополнительная информация:
Принимаются только нативные библиотеки. Все параметры (если они есть) и возвращаемые значения должны быть типа PChar\PWideChar и также должна быть указана директива stdcall.
Команды:
- dllName - Имя библиотеки (без .dll)
- funcName - Имя функции
- parametrs - Параметры функции, разделяются командой |PDEL| (parametrs delimiter)
Пример использования:
- |DLL|dllName:myDll;funcName:myFunc;parametrs:|PARS|[1]|PDEL||PARS|[2];|DLL|
Для обзора плагинов должны быть указаны:
- info_getAuthor - Имя автора
- info_getVersion - Версия
- info_getDescription - Описание
|SLEEP|
Описание:
Ждет указанное время (время указывается в миллисекундах).
Пример использования:
- |SLEEP|5000|SLEEP| (ждем 5 секунд)
|REPEAT|
Описание:
Повторяет текущий запрос. Есть два вида повторений: local и обычный (пустой, не нужно ничего указывать).
Команды:
- local - Повторяет конкретно запрос (если например у вас циклический запрос, в таком случае не будет идти все с самого начала, а начнет с того же запроса). Работает только перед и после отправки запроса.
- обычный (пустой) - Повторяет запрос целиком (в таком случае циклический запрос начнет свою работу с самого начала).
Пример использования:
- |REPEAT||REPEAT| (повторяем текущий запрос полностью)
- |REPEAT|local|REPEAT| (повторяем отправление запроса)
|STOP|
Описание:
Останавливает работу проекта с возможностью вывода сообщения.
Пример использования:
- |STOP||STOP| (без сообщения)
- |STOP|Сообщение|STOP| (можно вывести сообщение)
|PAUSE|
Описание:
Приостанавливает работу проекта с возможностью вывода сообщения.
Пример использования:
- |PAUSE||PAUSE| (без сообщения)
- |PAUSE|Сообщение|PAUSE| (можно вывести сообщение)
|ADDID|
Описание:
Добавляет идентификатор в список идентификаторов. Возвращает пустоту.
Пример использования:
|DELID|
Описание:
Удаляет идентификатор из списка идентификаторов. При успешном удалении (если идентификатор был найден) возвращает success, иначе not found.
Пример использования:
|DELPROXY|
Описание:
Удаляет текущую проксю.
Пример использования:
- |DELPROXY||DELPROXY|, но ваша текущая прокся не изменилась. Для этого необходимо вызывать |NEXTPROXY| (если хотите продолжать работу по списку запросов)
|FREEZEPROXY|
Описание:
Замораживает текущую проксю на указанное время в секундах.
Пример использования:
- |FREEZEPROXY|60|FREEZEPROXY|, прокся замораживается на 60 секунд. Ваша текущая прокся не изменилась, для этого необходимо вызывать |NEXTPROXY| (если хотите продолжать работу по списку запросов)
|NEXTPROXY|
Описание:
Меняет проксю на следующую по списку. Возвращает новую проксю.
Пример использования:
|UNIXTODATE|
Описание:
Преобразовывает UNIX значение с указанным форматом в дату.
Пример использования:
- |UNIXTODATE|1571994528|UNIXTODATE| - стандартный формат преобразования - dd/mm/yy
- |UNIXTODATE|1571994528|dd/mm/yy|UNIXTODATE|
Дополнительная информация:
Список форматов можно посмотреть здесь: Delphi Basics
|USEPROXY|
Описание:
Использовать указанную прокси.
Пример использования:
- |USEPROXY|127.0.0.1,HTTPS|USEPROXY| (Типы - HTTPS, SOCKS4, SOCKS5)
|PRINT|
Описание:
Выводит в лог указанный текст (только в студии).
|REGEXGLUE|
Описание:
Функция |REGEXGLUE|
склеивает данные из |REGEX| по индексам с добавлением разделителя.
Пример использования: 1, | ,2, \ ,3
Входные параметры:
- 1{индекс парсера}, - Разделитель, 2{индекс парсера}, - Разделитель, 3{индекс парсера}
Возвращаемое значение:
- Итоговое значение, в котором ко всем значениям в |REGEX|[1], |REGEX|[2] и |REGEX|[3] будет добавлен указанный разделитель. Количество указанных индексов неограничено.
|SIMPLEGLUE|
Описание:
Функция |SIMPLEGLUE|
склеивает данные из |REGEX| по индексу и значению.
Пример использования: 3, Значение
Входные параметры:
- 3{индекс парсера}, - Значение
Возвращаемое значение:
- Итоговое значение, в котором ко всем значениям в |REGEX|[3] будет добавлено указанное значение.
|ESCJSON|
Описание:
Функция |ESCJSON|
экранирует JSON значение.
Возвращаемое значение:
- Экранированное значение JSON.
|PBKDF2KEY|
Описание:
Функция |PBKDF2KEY|
генерирует ключ с использованием алгоритма PBKDF2 на основе заданного пароля и соли.
Входные параметры:
text
: Текст для генерации ключа.
salt
: Соль для генерации ключа.
keyLength
(опционально, по умолчанию 128): Длина ключа в байтах.
hashSizeBits
(опционально, по умолчанию 256): Размер хеша в битах (256, 512 для SHA-2; 224, 256, 384, 512 для SHA-3).
counter
(опционально, по умолчанию 10000): Количество итераций.
outputFormat
(опционально, по умолчанию ‘hexa’): Формат выходных данных (hexa, base64, base64url, base32).
hashFunction
(опционально, по умолчанию ‘sha2’): Хеш-функция (sha2, sha3).
Возвращаемое значение:
- Сгенерированный ключ в указанном формате.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|SCRYPT|
Описание:
Функция |SCRYPT|
генерирует ключ с использованием алгоритма scrypt на основе заданного пароля и соли.
Входные параметры:
password
: Пароль для генерации ключа.
salt
: Соль для генерации ключа.
N
: Параметр N (cost factor) для scrypt.
r
: Параметр r (block size) для scrypt.
p
: Параметр p (parallelization factor) для scrypt.
outputSize
(опционально, по умолчанию 64): Размер выходного ключа в байтах.
Возвращаемое значение:
- Сгенерированный ключ в шестнадцатеричном формате.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|BASE64DECODE|
Описание:
Функция |BASE64DECODE|
декодирует входную строку из формата Base64.
Входные параметры:
- строка в формате Base64, которую необходимо декодировать.
Возвращаемое значение:
|SHA3HASH|
Описание:
Функция |SHA3HASH|
выполняет хеширование текста с использованием алгоритма SHA-3.
Входные параметры:
text
: Текст для хеширования.
type
(опционально, по умолчанию ‘sha’): Тип SHA-3 (sha, xof).
hashSizeBits
(опционально, по умолчанию 256): Размер хеша в битах для типа ‘sha’ (224, 256, 384, 512) или в байтах для типа ‘xof’.
outputFormat
(опционально, по умолчанию ‘hexa’): Формат выходных данных (hexa, base64, base64url, base32).
version
(опционально, по умолчанию 256): Версия SHA-3 (224, 256, 384, 512).
Возвращаемое значение:
- Строка, представляющая собой хеш, сгенерированный алгоритмом SHA-3.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|SHA2HASH|
Описание:
Функция |SHA2HASH|
выполняет хеширование текста с использованием алгоритма SHA-2.
Входные параметры:
text
: Текст для хеширования.
hashSizeBits
(опционально, по умолчанию 256): Размер хеша в битах (256, 384, 512).
outputFormat
(опционально, по умолчанию ‘hexa’): Формат выходных данных (hexa, base64, base64url, base32).
Возвращаемое значение:
- Строка, представляющая собой хеш, сгенерированный алгоритмом SHA-2.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|BCRYPT|
Описание:
Функция |BCRYPT|
выполняет хеширование строки с использованием алгоритма BCrypt.
Входные параметры:
- строка, которую необходимо захешировать.
Возвращаемое значение:
- Строка, представляющая собой хеш, сгенерированный алгоритмом BCrypt.
|AESENCRYPT|
Описание:
Функция |AESENCRYPT|
выполняет шифрование текста с использованием алгоритма AES.
Входные параметры:
text
: Текст для шифрования.
key
: Ключ шифрования.
mode
(опционально, по умолчанию ‘CBC’): Режим работы AES (ECB, CBC, OFB, CTR).
keyLength
(опционально, по умолчанию 256): Длина ключа в битах (128, 192, 256).
outputFormat
(опционально, по умолчанию ‘hexa’): Формат выходных данных (hexa, base64, base64url, base32, raw).
padding
(опционально, по умолчанию False): Использовать ли паддинг (PKCS7 или nopadding).
Возвращаемое значение:
- Зашифрованный текст или сообщение об ошибке, если шифрование не удалось.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|AESDECRYPT|
Описание:
Функция |AESDECRYPT|
выполняет расшифровку текста с использованием алгоритма AES.
Входные параметры:
text
: Зашифрованный текст.
key
: Ключ шифрования.
mode
(опционально, по умолчанию ‘CBC’): Режим работы AES (ECB, CBC, OFB, CTR).
keyLength
(опционально, по умолчанию 256): Длина ключа в битах (128, 192, 256).
outputFormat
(опционально, по умолчанию ‘hexa’): Формат выходных данных (hexa, base64, base64url, base32, raw).
padding
(опционально, по умолчанию False): Использовать ли паддинг (PKCS7 или nopadding).
Возвращаемое значение:
- Расшифрованный текст или сообщение об ошибке, если расшифровка не удалась.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|AESGCMENCRYPT|
Описание:
Функция |AESGCMENCRYPT|
выполняет шифрование текста с использованием алгоритма AES-GCM.
Входные параметры:
text
: Текст для шифрования.
key
: Ключ шифрования.
associatedData
(опционально): Ассоциированные данные.
keyLength
(опционально, по умолчанию 256): Длина ключа в битах (128, 192, 256).
tagSizeBits
(опционально, по умолчанию 16): Размер тега в байтах (1-16).
outputFormat
(опционально, по умолчанию ‘hexa’): Формат вывода (hexa, base64, base64url, base32).
Возвращаемое значение:
- Зашифрованный текст в формате JSON, содержащий
tag
и encryptedText
.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|AESGCMDECRYPT|
Описание:
Функция |AESGCMDECRYPT|
выполняет расшифровку зашифрованного текста с использованием алгоритма AES-GCM.
Входные параметры:
encryptedText
: Зашифрованный текст.
tag
: Тег для верификации.
key
: Ключ шифрования.
associatedData
(опционально): Ассоциированные данные.
keyLength
(опционально, по умолчанию 256): Длина ключа в битах (128, 192, 256).
tagSizeBits
(опционально, по умолчанию 16): Размер тега в байтах (1-16).
outputFormat
(опционально, по умолчанию ‘hexa’): Формат вывода (hexa, base64, base64url, base32).
Возвращаемое значение:
- Расшифрованный текст или сообщение об ошибке, если расшифровка не удалась.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|RSAENCRYPT|
Описание:
Функция |RSAENCRYPT|
выполняет шифрование текста с использованием алгоритма RSA.
Входные параметры:
text
: Текст для шифрования.
modulus
: Модуль ключа RSA.
publicExponent
: Публичный экспонент ключа RSA.
privateExponent
: Приватный экспонент ключа RSA.
keyLength
(опционально, по умолчанию 2048): Длина ключа в битах (2048, 3072, 4096).
inputFormat
(опционально, по умолчанию ‘hexa’): Формат входных данных (hexa, base64, base64url, base32, raw).
outputFormat
(опционально, по умолчанию ‘hexa’): Формат выходных данных (hexa, base64, base64url, base32, raw).
encType
(опционально, по умолчанию ‘oaep/pss’): Тип шифрования (oaep/pss, v1.5).
Возвращаемое значение:
- Зашифрованный текст или сообщение об ошибке, если шифрование не удалось.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|RSADECRYPT|
Описание:
Функция |RSADECRYPT|
выполняет расшифровку текста с использованием алгоритма RSA.
Входные параметры:
text
: Зашифрованный текст.
modulus
: Модуль ключа RSA.
publicExponent
: Публичный экспонент ключа RSA.
privateExponent
: Приватный экспонент ключа RSA.
keyLength
(опционально, по умолчанию 2048): Длина ключа в битах (2048, 3072, 4096).
inputFormat
(опционально, по умолчанию ‘hexa’): Формат входных данных (hexa, base64, base64url, base32, raw).
outputFormat
(опционально, по умолчанию ‘hexa’): Формат выходных данных (hexa, base64, base64url, base32, raw).
encType
(опционально, по умолчанию ‘oaep/pss’): Тип шифрования (oaep/pss, v1.5).
Возвращаемое значение:
- Расшифрованный текст или сообщение об ошибке, если расшифровка не удалась.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
|RANDOMBYTES|
Описание:
Функция |RANDOMBYTES|
генерирует массив случайных байтов указанной длины.
Входные параметры:
- строка, представляющая длину массива случайных байтов. Пример: “16” для генерации массива из 16 случайных байтов.
Возвращаемое значение:
- Массив случайных байтов в формате JSON.
Исключения:
- Выбрасывает исключение, если входная строка не может быть преобразована в целое число.
|STRTOBYTES|
Описание:
Функция |STRTOBYTES|
преобразует строку в массив байтов и возвращает его в формате JSON.
Входные параметры:
- строка, которую необходимо преобразовать в массив байтов.
Возвращаемое значение:
- Массив байтов в формате JSON. Пример результата:
[104, 101, 108, 108, 111]
, что соответствует строке “hello” в UTF-8.
Исключения:
- Выбрасывает исключение, если входная строка не может быть обработана.
|BYTESTOSTR|
Описание:
Функция |BYTESTOSTR|
преобразует массив байтов, представленный в формате JSON, в строку с использованием кодировки UTF-8.
Входные параметры:
- строка в формате JSON, представляющая массив байтов. Пример:
[104, 101, 108, 108, 111]
, что соответствует строке “hello” в UTF-8.
Возвращаемое значение:
- Строка, полученная из массива байтов.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если элементы массива не являются числами.
|UUIDV4|
Описание:
Функция |UUIDV4|
возвращает уникальный UUIDV4.
|GETVALUEBYKEY|
Описание:
Функция |GETVALUEBYKEY|
извлекает значение по ключу из многострочного текста.
Входные параметры:
- “Многострочный текст|KEYNAME|Ключ”, где:
- Первая часть (до |KEYNAME|) содержит многострочный текст формата “ключ: значение”.
- Вторая часть (после |KEYNAME|) содержит ключ, по которому нужно найти значение.
Возвращаемое значение:
- Значение, соответствующее ключу в многострочном тексте. Если ключ не найден, возвращает сообщение “Key not found: Ключ”.
Исключения:
- Выбрасывает исключение, если входная строка имеет некорректный формат (не содержит |KEYNAME|).
|SAVEFILE|
Описание:
Функция сохраняет данные в файл относительно пути созданной сессии с возможностью перезаписи, добавления к существующему файлу или сохранения с инкрементированным именем. Также поддерживается сохранение текстовых и бинарных данных (в виде Base64). В случае ошибок при сохранении или создании директорий функция возвращает сообщение об ошибке.
Команды:
- Имя файла - Имя файла, включая путь (если необходимо). Поддерживаются вложенные директории.
- Опции - Действия при сохранении:
- overwrite - Перезаписать существующий файл.
- append - Добавить данные в конец файла.
- increment - Сохранить с инкрементированным именем (например, file1.txt, file2.txt и т.д.).
- Тип данных (опционально) - Тип данных:
- text - Текстовые данные (по умолчанию).
- bytes - Бинарные данные в формате Base64.
- Данные - Содержимое для сохранения. Если тип данных text, это обычный текст. Если bytes, строка должна быть в формате Base64.
Пример использования:
- |SAVEFILE|C:\Documents\report.txt|overwrite|This is a report|SAVEFILE|
Описание: Сохраняет текст "This is a report" в файл C:\Documents\report.txt, перезаписывая его.
- |SAVEFILE|logs\error.log|append|text|Error logged at 3:00 PM|SAVEFILE|
Описание: Добавляет строку "Error logged at 3:00 PM" в файл logs\error.log, создавая директорию logs, если она отсутствует.
- |SAVEFILE|log.txt|increment|Log entry|SAVEFILE|
Описание: Сохраняет текст "Log entry" в файл log.txt. Если файл уже существует, сохраняет как log1.txt, log2.txt и т.д.
- |SAVEFILE|C:\Documents\data\data.bin|overwrite|SGVsbG8sIFdvcmxkIQ==|SAVEFILE|
Описание: Сохраняет бинарные данные "SGVsbG8sIFdvcmxkIQ==" (Base64 строка, соответствующая "Hello, World!") в файл C:\Documents\data\data.bin, перезаписывая его.
- |SAVEFILE|backup.dat|append|bytes|QmFja3VwIERhdGE=|SAVEFILE|
Описание: Добавляет бинарные данные "QmFja3VwIERhdGE=" (соответствующие "Backup Data") в файл backup.dat, который находится по пути относительно созданой сессии.
- |SAVEFILE|\\server\share\backup\data.bin|increment|VGhpcyBpcyBhIGJpbmFyeSBmaWxl|SAVEFILE|
Описание: Сохраняет бинарные данные "VGhpcyBpcyBhIGJpbmFyeSBmaWxl" (Base64 строка, соответствующая "This is a binary file") в файл \\server\share\backup\data.bin. Если файл уже существует, сохраняет как data1.bin, data2.bin и т.д.
|HEXTOBASE64|
Описание:
Функция преобразует шестнадцатеричную строку в строку в формате Base64. Если длина входной строки нечетная или если данные не могут быть преобразованы, функция возвращает сообщение об ошибке.
Команды:
- Шестнадцатеричная строка - Входные данные в шестнадцатеричном формате, которые необходимо преобразовать в Base64. Длина строки должна быть четной.
Пример использования:
- |HEXTOBASE64|a0000005350002|HEXTOBASE64|
Описание: Преобразует шестнадцатеричную строку "a0000005350002" в строку Base64.
|BASE64TOHEX|
Описание:
Функция преобразует строку в формате Base64 в шестнадцатеричную строку. В случае ошибок при декодировании входной строки функция возвращает сообщение об ошибке.
Команды:
- Base64 строка - Входные данные в формате Base64, которые необходимо преобразовать в шестнадцатеричную строку.
Пример использования:
- |BASE64TOHEX|qA==|BASE64TOHEX|
Описание: Преобразует строку Base64 "qA==" в шестнадцатеричную строку.
МОДУЛЬ РАСПОЗНАВАНИЯ КАПЧИ
- |USEAG| - Указывается при определениях, обозначает, что при найденном проверяемом значении будет использоваться модуль.
- |AGREPORT| - Указывается при определениях, обозначает, что если капча была введена неверно, тогда отправляется жалоба на нее в указанный сервис.
- |AGFIELD| - ID капчи при распознавании ReCaptcha.
- |AGRESULT| - Ответ капчи.
- |AGHEADERS| - Прописывается в поле для доп. заголовков, передает указанные заголовки при переходе на капчу. Пример (текст в дополнительных заголовках):
- accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
- accept-encoding:gzip, deflate, sdch, br
- |AGHEADERS|Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,uk;q=0.2|AGHEADERS|
- Заголовки в теге |AGHEADERS| передаются при получении картинки по ссылке.
В дополнительных настройках есть возможность установить Модуль распознавания капчи как необязательный параметр. Также в дополнительных настройках есть возможность передать API-параметры на сервер.
Список API параметров:
Параметр “regsense” по умолчанию в системе in-Line Kit идет 1. Разделять параметры нужно символом &.
Пример:
Дополнительная ссылка нужна, если у вас в одном запросе идет выполнение модуля и сразу отправка запроса на сайт. Пример:
Программа перейдет на Login, сделает все нужное (авторизация, проверка определений и т.д.). Если вылезла капча, дальше под авторизацию подставит дополнительную ссылку.
Для распознавания картинки в base64 нужно указать в поле для ссылки “Ссылка на изображение капчи | Ключ сайта”:
- data:image/BASE64IMAGE;base64
Для распознавания новых видов капчи нужно указать в поле для ссылки “Ссылка на изображение капчи | Ключ сайта”:
- Recaptcha 2.0 - “sitekey:Ключ сайта”
- Recaptcha 2.0 invisible - “sitekey:Ключ сайта;invisible”
- Recaptcha 3.0 - “sitekey:Ключ сайта;pageaction:pageaction”
- Recaptcha 3.0 enterprise - “sitekey:Ключ сайта;pageaction:pageaction;enterprise”
- Recaptcha HCaptcha - “hsitekey:Ключ сайта”
Есть возможность указать свой pageurl.
Для работы с Recaptcha 2.0+ вам необходимо в своем личном кабинете установить минимальную ставку от 2.2 долларов (Anti-Captcha.com). Для работы с CapMonster необходимо в настройках убрать “Получение ответа с задержкой”, если капча не готова (к другим эмуляторам это не относится).
MAIL CONNECTOR
-
|MCSTATUS| - Ответ от Mail Connector. Виды ответов:
- Пустой ответ - результат удачен (В логе работы выдает как “Запрос выполнен успешно”). Пример логики для определения: |MCSTATUS||=|
- Домен не обнаружен.
- Ошибка соединения - автоматически кидает в ошибку, за исключением удаления писем (На удаление писем стоит игнорирование ошибок).
- Страница не была получена корректно - обычно бывает если выполнить какое-то действие без предварительной авторизации. Если вы были авторизованы и у вас выдает такую ошибку, кидайте ее по желанию в ошибки. Если она постоянная - сообщите разработчику.
- Плохой аккаунт.
- Писем не найдено.
- Письма не найдено - если введен некорректный ID письма и такого письма не существует.
- Письмо пусто, ID - Ид письма - не стандартный вид письма, Mail Connector не смог спарсить содержимое письма - сообщите разработчику.
-
|MCIDS| - Содержит ID писем из поискового запроса.
-
|MCMSGFIELD| - Хранит содержимое обозреваемого письма.
Все ответы от Mail Connector необходимо вручную обрабатывать, то есть, определение валидности аккаунта, того, что поисковой запрос был выполнен корректно и т.д. Все это можно делать через статусы Mail Connector.
Поддерживаемые почтовые сервисы:
- Mail - Сайт (Мобильная API авторизация, другой функционал напрямую через мобильный сайт. Куки из API дают доступ ко всему сайту. Можете доделывать свой функционал дополнительными запросами типа: Парсер номеров, парсер даты рождения и т.д.)
- Yandex - На данный момент работает через IMAP.
- Все другое - IMAP (Автоматическая генерация, настройки IMAP серверов находятся в глобальных настройках).
В глобальных настройках можно добавлять свои сервера, редактировать уже существующие и добавлять исключения. Все автоматически сгенерированные сервера попадают в данный список.
Также все исходные ответы от сайтов и т.д. хранятся в обычных переменных: |RESPONSE|, |HEADERS|, |COOKIES|
ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ
- |MAINLOG| - Используется в дополнительных файлах, наследует основной лог.
- |USEURLENC| - Преобразование результатов от обычного парсера или по регулярке (только циклические) в вид, поддерживаемый для запросов.
- |ANSI| - Символы из ASCII таблицы, нужен индекс символа.
- |TIME| - Текущее время.
- Пример: |TIME|Разделитель|
- |DATE| - Текущий день.
- Пример: |DATE|Разделитель|
- |TIMESTAMP| - Unix время.
- |FIRSTCHAR| - Первый символ в ответе (применяется для парсинга).
- |LASTCHAR| - Последний символ в ответе (применяется для парсинга).
- |LDEL| (L - левый), |RDEL| (R - правый) - Разделители для групп в регулярных парсерах.
- |CLEAR| - Очищает лог от пустых строк (строки где пробелы не учитываются) и от строк где результат переменных равен |NOT USED|.
- Индекс указывается так - [ИНДЕКС] (Пример: |PARS|[1])