ХОТКЕИ


ПЕРЕМЕННЫЕ


ОПРЕДЕЛЕНИЯ

Полностью наследуют логику, все определения пишутся точно так же, как и логические операции.


ЛОГИЧЕСКИЕ ОПЕРАТОРЫ


ЛОГИЧЕСКИЕ БЛОКИ

Логическая операция состоит из блоков. Пример:
1|>|2|OR|2|>|1. То, что между оператором |OR| является логическими блоками.

Логические блоки имеют свои команды:


СКРИПТ-БОКС

Скрипт-бокс позволяет выполнять логические операции, логические блоки, функции и парсеры различных видов. Ниже описаны основные возможности и примеры использования.

Теги для многострочного кода

Пример:
#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| - обозначение результата.

Пример: |CONCLUSION| = 0 устанавливает результат как “плохой”.

Пример полноценного скрипта

|DOLOGIC||PARS|[1]|>|0|ENDLOGIC|
|PARS|[1] = Есть баланс
|DOLOGIC|

|DOLOGIC||PARS|[1]|<>|Есть баланс|AND||PARS|[1]|<|0|ENDLOGIC|
|CONCLUSION| = 0
|DOLOGIC|

Пояснение:

Работает только при хорошем ответе и в самую последнюю очередь (до вывода лога).

Подключение кода из динамических переменных

Для подключения кода, хранящегося в динамической переменной, используйте префикс |SB| вместо |DV|.

Специальная функция

|SCRIPTBOX| - позволяет использовать функционал Скрипт-бокса, включая все описанные возможности.


РАСШИРЕННАЯ СТАТИСТИКА

Пример настройки статистики:

Расширенная статистика обновляется раз в 50 миллисекунд.
Если вы подсчитываете какие-либо данные, например: кол-во строк с цифрами, обязательно используйте глобальные переменные.


КОНТЕЙНЕР


ФУНКЦИИ

Начальная функция должна указваться в скобках
Пример с несколькими функциями - (|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|

Описание:
Шифрование выделенной строки данным тегом в MD5.


|BASE64|

Описание:
Шифрование выделенной строки данным тегом в Base64.


|SHA1|

Описание:
Шифрование выделенной строки данным тегом в Sha1.


|SHA256|

Описание:
Шифрование выделенной строки данным тегом в Sha256.


|SHA512|

Описание:
Шифрование выделенной строки данным тегом в Sha512.


|FILETOBASE64|

Описание:
Шифрование файла по ссылке в Base64.

Пример использования:


|RANDOM|

Описание:
Генерирует рандомное значение по своей маске с длиной по диапазону.

Пример использования:

Примеры:


|LOWER|

Описание:
Перевод выделенной строки данным тегом в нижний регистр.


|UPPER|

Описание:
Перевод выделенной строки данным тегом в верхний регистр.


|FUPPER|

Описание:
Ставит первый символ в верхнем регистре.


|REMOVENUM|

Описание:
Убирает все цифры из строки.


|URLENCODE|

Описание:
URL-кодирует строку.


|URLDECODE|

Описание:
Декодирует строку в URL формате.


|FDSPACE|

Описание:
Удаляет все пустые символы с начала строки.


|EDSPACE|

Описание:
Удаляет все пустые символы с конца строки.


|SCRIPT|

Описание:
Запрос к скрипту на сервер, указанный в настройках.


|DEMPTYSTR|

Описание:
Удаляет пустые строки.


|DUPDEL|

Описание:
Удаляет дубликаты.


|GETLINE|

Описание:
Возвращает указанную строку.

Пример использования:


|GETCHAR|

Описание:
Возвращает указанный символ.

Пример использования:


|GETCOUNT|

Описание:
Достает количество строк.


|MATH|

Описание:
Математические уравнения, возможно делать очень сложные вычисления.

Пример уравнения:

Дополнительная информация:
Используется библиотека TMS Analytix. Ссылка на документацию: TMS Analytix

Принимает дополнительный аргумент:

Пример использования:


|LENGTH|

Описание:
Возвращает длину указанной строки.


|SIMPLEPARS|

Описание:
Парсит значение из строки, имеет свои команды: |FROM|, |TO|, |IN|, |INDEX|

Команды:

Также принимает команды:

Пример использования:


|REGEXPARS|

Описание:
Парсит значения по регулярке, имеет свои команды: |GROUP|, |EXPR|, |IN|

Команды:

Пример использования:


|REPLACESTR|

Описание:
Заменяет все найденные значения в строке, имеет свои команды: |FROM|, |TO|, |IN|, |IGNORECASE|

Команды:

Пример использования:


|REGREPLACE|

Описание:
Заменяет все найденные значения в строке, имеет свои команды: |EXPR|, |TO|, |IN|

Команды:

Пример использования:


|EVAL|

Описание:
Запускает интерпретацию JavaScript-кода с помощью движка QuickJS, применяя глобальный контекст исполнения без использования ES6 модулей. Для активации устаревшего JavaScript-движка вставьте команду |USEOLDJS| внутри вызова |EVAL|.

Дополнительная информация:
В устаревшем движке, чтобы функция что-то возвратила, вам нужно перенести ваш JS скрипт в функцию и возвратить нужное значение и потом вызывать эту функцию.


|JSESCAPE|

Описание:
Экранирует строку для вставки в JS код.

Пример использования:


|SCRIPTBOX|

Описание:
Функционал Скрипт-бокса. Описание выше (конечная функция, желательно чтобы она была и начальной, возвращает пустоту).


|DLL|

Описание:
Вызов функции из DLL.

Дополнительная информация:
Принимаются только нативные библиотеки. Все параметры (если они есть) и возвращаемые значения должны быть типа PChar\PWideChar и также должна быть указана директива stdcall.

Команды:

Пример использования:

Для обзора плагинов должны быть указаны:


|SLEEP|

Описание:
Ждет указанное время (время указывается в миллисекундах).

Пример использования:


|REPEAT|

Описание:
Повторяет текущий запрос. Есть два вида повторений: local и обычный (пустой, не нужно ничего указывать).

Команды:

Пример использования:


|STOP|

Описание:
Останавливает работу проекта с возможностью вывода сообщения.

Пример использования:


|PAUSE|

Описание:
Приостанавливает работу проекта с возможностью вывода сообщения.

Пример использования:


|ADDID|

Описание:
Добавляет идентификатор в список идентификаторов. Возвращает пустоту.

Пример использования:


|DELID|

Описание:
Удаляет идентификатор из списка идентификаторов. При успешном удалении (если идентификатор был найден) возвращает success, иначе not found.

Пример использования:


|DELPROXY|

Описание:
Удаляет текущую проксю.

Пример использования:


|FREEZEPROXY|

Описание:
Замораживает текущую проксю на указанное время в секундах.

Пример использования:


|NEXTPROXY|

Описание:
Меняет проксю на следующую по списку. Возвращает новую проксю.

Пример использования:


|UNIXTODATE|

Описание:
Преобразовывает UNIX значение с указанным форматом в дату.

Пример использования:

Дополнительная информация:
Список форматов можно посмотреть здесь: Delphi Basics


|USEPROXY|

Описание:
Использовать указанную прокси.

Пример использования:


|PRINT|

Описание:
Выводит в лог указанный текст (только в студии).


|REGEXGLUE|

Описание:
Функция |REGEXGLUE| склеивает данные из |REGEX| по индексам с добавлением разделителя.

Пример использования: 1, | ,2, \ ,3

Входные параметры:

Возвращаемое значение:


|SIMPLEGLUE|

Описание:
Функция |SIMPLEGLUE| склеивает данные из |REGEX| по индексу и значению.

Пример использования: 3, Значение

Входные параметры:

Возвращаемое значение:


|ESCJSON|

Описание:
Функция |ESCJSON| экранирует JSON значение.

Возвращаемое значение:


|PBKDF2KEY|

Описание:
Функция |PBKDF2KEY| генерирует ключ с использованием алгоритма PBKDF2 на основе заданного пароля и соли.

Входные параметры:

Возвращаемое значение:

Исключения:


|SCRYPT|

Описание:
Функция |SCRYPT| генерирует ключ с использованием алгоритма scrypt на основе заданного пароля и соли.

Входные параметры:

Возвращаемое значение:

Исключения:


|BASE64DECODE|

Описание:
Функция |BASE64DECODE| декодирует входную строку из формата Base64.

Входные параметры:

Возвращаемое значение:


|SHA3HASH|

Описание:
Функция |SHA3HASH| выполняет хеширование текста с использованием алгоритма SHA-3.

Входные параметры:

Возвращаемое значение:

Исключения:


|SHA2HASH|

Описание:
Функция |SHA2HASH| выполняет хеширование текста с использованием алгоритма SHA-2.

Входные параметры:

Возвращаемое значение:

Исключения:


|BCRYPT|

Описание:
Функция |BCRYPT| выполняет хеширование строки с использованием алгоритма BCrypt. Она принимает JSON-объект с параметрами, позволяя гибко задавать исходный текст и желаемую "стоимость" вычислений.

Входные параметры:

Пример входных данных:

{"text": "input text","cost": 12}

Возвращаемое значение:

Примечания:


|AESENCRYPT|

Описание:
Функция |AESENCRYPT| выполняет шифрование текста с использованием алгоритма AES.

Входные параметры:

Возвращаемое значение:

Исключения:


|AESDECRYPT|

Описание:
Функция |AESDECRYPT| выполняет расшифровку текста с использованием алгоритма AES.

Входные параметры:

Возвращаемое значение:

Исключения:


|AESGCMENCRYPT|

Описание:
Функция |AESGCMENCRYPT| выполняет шифрование текста с использованием алгоритма AES-GCM.

Входные параметры:

Возвращаемое значение:

Исключения:


|AESGCMDECRYPT|

Описание:
Функция |AESGCMDECRYPT| выполняет расшифровку зашифрованного текста с использованием алгоритма AES-GCM.

Входные параметры:

Возвращаемое значение:

Исключения:


Функция |RSAENCRYPT|

Описание:
Функция |RSAENCRYPT| выполняет шифрование текста с использованием алгоритма RSA.

Входные параметры:

Возвращаемое значение:


Функция |RSADECRYPT|

Описание:
Функция |RSADECRYPT| выполняет расшифровку текста с использованием алгоритма RSA.

Входные параметры:

Возвращаемое значение:

Общие исключения для обеих функций:


Возвращаемое значение

Возвращает расшифрованный текст в формате UTF-8 или сообщение об ошибке, если расшифровка не удалась.

Исключения

Функция выбрасывает исключения в следующих случаях:


Функция |RSAKEYGEN|

Описание:
Функция |RSAKEYGEN| генерирует пару ключей RSA заданного размера и возвращает как PEM-строки, так и разобранные компоненты ключей в формате JSON.

Входные параметры:

Возвращаемое значение:


|RANDOMBYTES|

Описание:
Функция |RANDOMBYTES| генерирует массив случайных байтов указанной длины.

Входные параметры:

Возвращаемое значение:

Исключения:


|STRTOBYTES|

Описание:
Функция |STRTOBYTES| преобразует строку в массив байтов и возвращает его в формате JSON.

Входные параметры:

Возвращаемое значение:

Исключения:


|BYTESTOSTR|

Описание:
Функция |BYTESTOSTR| преобразует массив байтов, представленный в формате JSON, в строку с использованием кодировки UTF-8.

Входные параметры:

Возвращаемое значение:

Исключения:


|UUIDV4|

Описание:
Функция |UUIDV4| возвращает уникальный UUIDV4.


|GETVALUEBYKEY|

Описание:
Функция |GETVALUEBYKEY| извлекает значение по ключу из многострочного текста.

Входные параметры:

Возвращаемое значение:

Исключения:


|SAVEFILE|

Описание:
Функция сохраняет данные в файл относительно пути созданной сессии с возможностью перезаписи, добавления к существующему файлу или сохранения с инкрементированным именем. Также поддерживается сохранение текстовых и бинарных данных (в виде Base64). В случае ошибок при сохранении или создании директорий функция возвращает сообщение об ошибке.

Команды:

Пример использования:


|HEXTOBASE64|

Описание:
Функция преобразует шестнадцатеричную строку в строку в формате Base64. Если длина входной строки нечетная или если данные не могут быть преобразованы, функция возвращает сообщение об ошибке.

Команды:

Пример использования:


|BASE64TOHEX|

Описание:
Функция преобразует строку в формате Base64 в шестнадцатеричную строку. В случае ошибок при декодировании входной строки функция возвращает сообщение об ошибке.

Команды:

Пример использования:


Функция |PROTOBUF|

Функция |PROTOBUF| предназначена для работы с данными в формате Protobuf. Она позволяет создавать новые сообщения, декодировать существующие сообщения и обновлять данные в сообщениях на основе JSON маппинга.

Поддерживаемые типы данных

Параметры

Возвращаемые значения

Исключения

Функция выбрасывает исключения в следующих случаях:

Генератор

Проще всего для генерации мапинга использовать данного агента по ссылке: GPT ProtoBuf3 Agent


|BLAKE2BENCODE|

Описание:
Функция |BLAKE2BENCODE| выполняет вычисление Blake2b хеша строки.

Входные параметры:

Возвращаемое значение:


|WHIRLPOOLENCODE|

Описание:
Функция |WHIRLPOOLENCODE| выполняет вычисление Whirlpool хеша строки.

Входные параметры:

Возвращаемое значение:


|XXHASHENCODE|

Описание:
Функция |XXHASHENCODE| выполняет вычисление XXHash хеша строки.

Входные параметры:

Возвращаемое значение:


|KECCAK256HASH|

Описание:
Функция |KECCAK256HASH| выполняет вычисление Keccak-256 хеша строки.

Входные параметры:

Возвращаемое значение:


|BLAKE3ENCODE|

Описание:
Функция |BLAKE3ENCODE| выполняет вычисление Blake3 хеша строки.

Входные параметры:

Возвращаемое значение:


|ZLIBCOMPRESS|

Описание:
Функция |ZLIBCOMPRESS| сжимает строку с использованием ZLib.

Входные параметры:

Возвращаемое значение:


|ZLIBDECOMPRESS|

Описание:
Функция |ZLIBDECOMPRESS| декомпрессирует строку, сжатую с использованием ZLib.

Входные параметры:

Возвращаемое значение:


|GZIPCOMPRESS|

Описание:
Функция |GZIPCOMPRESS| сжимает строку с использованием GZIP.

Входные параметры:

Возвращаемое значение:


|GZIPDECOMPRESS|

Описание:
Функция |GZIPDECOMPRESS| декомпрессирует строку, сжатую с использованием GZIP.

Входные параметры:

Возвращаемое значение:


|BASEENCODEDECODE|

Описание:
Функция |BASEENCODEDECODE| выполняет кодирование или декодирование на основе указанного Base алгоритма.

Входные параметры:

Возвращаемое значение:


|ARGON2HASH|

Описание:
Функция |ARGON2HASH| генерирует хеш с использованием алгоритма Argon2.

Входные параметры:

Возвращаемое значение:


|SALSA20ENCRYPT|

Описание:
Функция |SALSA20ENCRYPT| шифрует сообщение с использованием алгоритма Salsa20.

Входные параметры:

Возвращаемое значение:


|CHACHA20ENCRYPT|

Описание:
Функция |CHACHA20ENCRYPT| шифрует сообщение с использованием алгоритма ChaCha20.

Входные параметры:

Возвращаемое значение:


|BLOWFISHENCRYPT|

Описание:
Функция |BLOWFISHENCRYPT| выполняет шифрование текста с использованием алгоритма Blowfish.

Входные параметры полностью как в |AESENCRYPT|


|BLOWFISHDECRYPT|

Описание:
Функция |BLOWFISHDECRYPT| выполняет расшифровку текста с использованием алгоритма Blowfish.

Входные параметры полностью как в |AESDECRYPT|


|SHUFFLE|

Описание:
Функция |SHUFFLE| перемешивает символы входной строки случайным образом.

Входные параметры:

Возвращаемое значение:


|HMAC|

Описание:
Функция |HMAC| вычисляет HMAC с использованием заданного алгоритма хеширования.

Входные параметры:

Возвращаемое значение:


|ANSITOUTF8|

Описание:
Функция |ANSITOUTF8| преобразует строку в формате ANSI в UTF-8.

Входные параметры:

Возвращаемое значение:


|ADDCOOKIES|

Описание:
Функция |ADDCOOKIES| добавляет новые куки к существующим кукам HTTP-запроса. Каждая кука должна быть указана в формате "Имя=Значение".

Входные параметры:

Возвращаемое значение:


|REPLACECOOKIES|

Описание:
Функция |REPLACECOOKIES| заменяет существующие куки на новые или добавляет их, если они отсутствуют. Каждая кука должна быть указана в формате "Имя=Значение".

Входные параметры:

Возвращаемое значение:


|DELETECOOKIES|

Описание:
Функция |DELETECOOKIES| удаляет указанные куки из текущих HTTP-заголовков. Можно удалять как отдельные куки, так и несколько куки одновременно.

Входные параметры:

Возвращаемое значение:


|SETCOOKIES|

Описание:
Функция |SETCOOKIES| устанавливает все куки HTTP-запроса, заменяя существующие. Каждая кука должна быть указана в формате "Имя=Значение". Все предыдущие куки будут удалены перед установкой новых.

Входные параметры:

Возвращаемое значение:


|GENERATEUSERAGENT|

Описание:
Функция |GENERATEUSERAGENT| генерирует строку User-Agent на основе входных параметров в формате JSON. Она позволяет создать корректную строку User-Agent для заданных браузера, операционной системы, типа устройства и других параметров. Если некоторые параметры не указаны, функция автоматически подбирает подходящие значения, обеспечивая совместимость между браузером, ОС и устройством.

Возможности функции:

Входные параметры:

Возвращаемое значение:

Примеры использования:

МОДУЛЬ РАСПОЗНАВАНИЯ КАПЧИ

В дополнительных настройках есть возможность установить Модуль распознавания капчи как необязательный параметр. Также в дополнительных настройках есть возможность передать API-параметры на сервер.

Список API параметров:

Параметр “regsense” по умолчанию в системе in-Line Kit идет 1. Разделять параметры нужно символом &.

Пример:

Дополнительная ссылка нужна, если у вас в одном запросе идет выполнение модуля и сразу отправка запроса на сайт. Пример:

Программа перейдет на Login, сделает все нужное (авторизация, проверка определений и т.д.). Если вылезла капча, дальше под авторизацию подставит дополнительную ссылку.

Для распознавания картинки в base64 нужно указать в поле для ссылки “Ссылка на изображение капчи | Ключ сайта”:

Для распознавания картинки в SVG нужно указать в поле для ссылки “Ссылка на изображение капчи | Ключ сайта”:

Для распознавания новых видов капчи нужно указать в поле для ссылки “Ссылка на изображение капчи | Ключ сайта”:

Есть возможность указать свой pageurl.

Для работы с Recaptcha 2.0+ вам необходимо в своем личном кабинете установить минимальную ставку от 2.2 долларов (Anti-Captcha.com). Для работы с CapMonster необходимо в настройках убрать “Получение ответа с задержкой”, если капча не готова (к другим эмуляторам это не относится).

Также, результат капчи конвертируется из ANSI в UTF8 и кодируется с помощью urlencode


MAIL CONNECTOR

Все ответы от Mail Connector необходимо вручную обрабатывать, то есть, определение валидности аккаунта, того, что поисковой запрос был выполнен корректно и т.д. Все это можно делать через статусы Mail Connector.

Поддерживаемые почтовые сервисы:

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

Также все исходные ответы от сайтов и т.д. хранятся в обычных переменных: |RESPONSE|, |HEADERS|, |COOKIES|


ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ