ХОТКЕИ


ПЕРЕМЕННЫЕ


ОПРЕДЕЛЕНИЯ

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


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


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

Логическая операция состоит из блоков. Пример:
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||BASE64||LOGIN||BASE64| - |MD5||PWD||MD5||MD5|)
    ВАЖНО! Вложенные функции скобками не закрываются
    Для экранирования скобок используйте |LFNC| - “(” и |RFNC| - “)”
  • Фукнция(функция() функция())
  • Две функции внутри одной функции, так же в этих функциях тоже могут быть функции

  • Самые простые виды:
  • (|BASE64||LOGIN||BASE64|) - 1 параметр
  • (|UUIDV4||UUIDV4|) - без параметров

|MD5|

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

Пример использования
Пример:
|DV|[Hash]=(|MD5||PARS|[7]|MD5|)
Результат: 70cf59a4caa800ace32ab9d78b1092b4
При значении: |PARS|[7]|=|SessionKey=R4w2-82a1

|BASE64|

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

Пример использования
Пример:
|DV|[B64]=(|BASE64||PARS|[3]|BASE64|)
Результат: Q29udGVudFR5cGU9YXBwbGljYXRpb24vanNvbg==
При значении: |PARS|[3]|=|ContentType=application/json

|SHA1|

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

Пример использования
Пример:
|DV|[Sha1]=(|SHA1||PARS|[9]|SHA1|)
Результат: 1f96b5cc450bbb11a48345ac853e5d90c8768ed4
При значении: |PARS|[9]|=|UserAgent=Mozilla/5.0

|SHA256|

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

Пример использования
Пример:
|DV|[Sha256]=(|SHA256||PARS|[2]|SHA256|)
Результат: 2ef56748e6d4610ec830961a8d26b42677a7b8ce2f9a836715a90e014a6a2e69
При значении: |PARS|[2]|=|ApiEndpoint=/v1/items?page=1

|SHA512|

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

Пример использования
Пример:
|DV|[Sha512]=(|SHA512||PARS|[8]|SHA512|)
Результат: ca8968c077dccf599567b1619e5ece44f888841c2af81e7c8c3e026157f0ab9f79545ae3eea62715d4189d27d2937f2b13a810055d584270e4ab1bb59fb4da4a
При значении: |PARS|[8]|=|ProjectName=PrivateKeeperDocs

|FILETOBASE64|

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

Пример использования
Пример:
|DV|[FileB64]=(|FILETOBASE64|https://example.com/image.png|FILETOBASE64|)

|RANDOM|

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

Примеры:

  • Русский алфавит символов: |RANDOM|абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ|1-9|RANDOM|
  • Английский алфавит символов: |RANDOM|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ|1-9|RANDOM|
  • Алфавит цифр: |RANDOM|1234567890|1-9|RANDOM|
Пример использования
Пример:
|DV|[Rand]=(|RANDOM|ABC123|5-5|RANDOM|)

|LOWER|

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

Пример использования
Пример:
|DV|[Lower]=(|LOWER||PARS|[5]|LOWER|)
Результат: profilename=mainteam
При значении: |PARS|[5]|=|ProfileName=MainTeam

|UPPER|

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

Пример использования
Пример:
|DV|[Upper]=(|UPPER||PARS|[6]|UPPER|)
Результат: LOCALE=RU-RU
При значении: |PARS|[6]|=|Locale=ru-RU

|FUPPER|

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

Пример использования
Пример:
|DV|[Title]=(|FUPPER||PARS|[1]|FUPPER|)
Результат: PageTitle=каталог
При значении: |PARS|[1]|=|pageTitle=каталог

|REMOVENUM|

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

Пример использования
Пример:
|DV|[Clean]=(|REMOVENUM||PARS|[7]|REMOVENUM|)
Результат: RouteSegment
При значении: |PARS|[7]|=|Route42Segment9

|URLENCODE|

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

Пример использования
Пример:
|DV|[Encoded]=(|URLENCODE||PARS|[3]|URLENCODE|)
Результат: q%3DData%20Export%26lang%3Dru
При значении: |PARS|[3]|=|q=Data Export&lang=ru

|URLDECODE|

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

Пример использования
Пример:
|DV|[Decoded]=(|URLDECODE||PARS|[9]|URLDECODE|)
Результат: PageTitle=Каталог
При значении: |PARS|[9]|=|PageTitle%3D%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3

|FDSPACE|

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

Пример использования
Пример:
|DV|[TrimLeft]=(|FDSPACE||PARS|[2]|FDSPACE|)
Результат: Currency=EUR
При значении: |PARS|[2]|=| Currency=EUR

|EDSPACE|

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

Пример использования
Пример:
|DV|[TrimRight]=(|EDSPACE||PARS|[8]|EDSPACE|)
Результат: SessionId=8f3c1b2a
При значении: |PARS|[8]|=|SessionId=8f3c1b2a

|SCRIPT|

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

Пример использования
Пример:
(|SCRIPT|validate.php?login=|LOGIN||SCRIPT|)

|DEMPTYSTR|

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

Пример использования
Пример:
|DV|[NoEmpty]=(|DEMPTYSTR||REGEX|[3]|DEMPTYSTR|)
Результат:
apple-watch-se
iphone-15-case
usb-c-charger
При значении:
|REGEX|[3]|=|apple-watch-se

             iphone-15-case

             usb-c-charger

|DUPDEL|

Описание:
Удаляет повторяющиеся строки, оставляя первое вхождение каждой строки.

Пример использования
Пример:
|DV|[Unique]=(|DUPDEL||REGEX|[1]|DUPDEL|)
Результат:
/catalog/analytics
/catalog/pricing
/catalog/reports
При значении:
|REGEX|[1]|=|/catalog/analytics
             /catalog/pricing
             /catalog/analytics
             /catalog/reports
             /catalog/pricing

|GETLINE|

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

Пример использования
Пример:
|DV|[Line5]=(|GETLINE||REGEX|[6],5|GETLINE|)
Результат: utm_medium=cpc
При значении:
|REGEX|[6]|=|utm_source=google
             utm_campaign=summer_sale
             utm_content=banner_a
             utm_term=wireless_mouse
             utm_medium=cpc

|GETCHAR|

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

Пример использования
Пример:
|DV|[Char3]=(|GETCHAR||PARS|[1],3|GETCHAR|)
Результат: -
При значении: |PARS|[1]|=|RU-SEO

|GETCOUNT|

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

Пример использования
Пример:
|DV|[Lines]=(|GETCOUNT||REGEX|[7]|GETCOUNT|)
Результат: 4
При значении:
|REGEX|[7]|=|Monitors
             Keyboards
             Mice
             Headsets

|MATH|

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

Пример сложного уравнения:

  • 21*v(34)+((58)/(12^13))*sin((343)/(?))

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

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

  • removeChars. Он будет удалять из строки уравнения все символы кроме: 1234567890±*/,()^
Пример использования
Пример:
|DV|[Sum]=(|MATH||PARS|[3]+10|MATH|)
Результат: 25
При значении: |PARS|[3]|=|15

|LENGTH|

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

Пример использования
Пример:
|DV|[Len]=(|LENGTH||PARS|[9]|LENGTH|)
Результат: 15
При значении: |PARS|[9]|=|page=12&lang=ru

|SIMPLEPARS|

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

Команды:

  • |FROM| - Первый тег для парса (От)
  • |TO| - Второй тег для парса (До)
  • |IN| - Из какой строки парсить (Где)
  • |INDEX| - Индекс среди повторяющихся значений, если оставить пустым (или не указывать совсем), то будет указан 1

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

  • |FIRSTCHAR|
  • |LASTCHAR|
Пример использования
Пример:
|DV|[Value]=(|SIMPLEPARS||FROM|id="|FROM||TO|"|TO||IN||RESPONSE||IN||SIMPLEPARS|)
Результат: 984531
При значении: |RESPONSE|=|<div class="product-card" id="984531">Монитор 27"</div>

|REGEXPARS|

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

Команды:

  • |IN| - Из какой строки парсить (Где)
  • |GROUP| - Группа, если оставить пустым (или не указывать совсем), то будет указана группа 1
  • |EXPR| - Регулярное выражение
Пример использования
Пример:
|DV|[Price]=(|REGEXPARS||EXPR|price:(\d+)|EXPR||IN||RESPONSE||IN||REGEXPARS|)
Результат: 14990
При значении: |RESPONSE|=|product=Keyboard;price:14990;currency:RUB

|REPLACESTR|

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

Команды:

  • |FROM| - Заменяемая строка (Что заменяем)
  • |TO| - Новая строка (На что заменяем)
  • |IN| - В какой строке заменяем (Где)
  • |IGNORECASE| - Если указана эта команда, то регистр текста будет игнорироваться
Пример использования
Пример:
|DV|[Clean]=(|REPLACESTR||IN||PARS|[4]|IN||FROM|;|FROM||TO|,|TO||REPLACESTR|)
Результат: Status=ok,Locale=ru-RU,Currency=EUR
При значении: |PARS|[4]|=|Status=ok;Locale=ru-RU;Currency=EUR

|REGREPLACE|

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

Команды:

  • |EXPR| - Регулярное выражение заменяемой строки (Что заменяем)
  • |TO| - Новая строка (На что заменяем)
  • |IN| - В какой строке заменяем (Где)
Пример использования
Пример:
|DV|[Clean]=(|REGREPLACE||IN||PARS|[10]|IN||EXPR|\s+|EXPR||TO| |TO||REGREPLACE|)
Результат: PageTitle=Каталог Товаров
При значении: |PARS|[10]|=|PageTitle=Каталог Товаров

|EVAL|

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

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

Пример использования
Пример:
#beginScript
|DV|[Encrypted] = (|EVAL|
function getRandomMultiple(base, minMultiplier, maxMultiplier) {
    var multiplier = Math.floor(Math.random() * (maxMultiplier - minMultiplier + 1)) + minMultiplier;
    return base * multiplier;
}

function lazyEncrypt(text, step) {
    step = Number(step);

    if (typeof text !== "string") {
        return "Ошибка: |PARS| [1] не является строкой";
    }

    if (!isFinite(step) || step <= 0 || Math.floor(step) !== step) {
        return "Ошибка: |PARS| [2] должно быть положительным целым числом";
    }

    var result = "";

    for (var i = 0; i < text.length; i++) {
        var ch = text.charAt(i);
        var rnd = getRandomMultiple(step, 1, 9); // 3, 6, 9 ... 27 при step=3
        result += ch + String(rnd);
    }

    return result;
}

lazyEncrypt(PK.getPars(1), PK.getPars(2));
|EVAL|)
#endScript

|JSESCAPE|

Описание:
Подготавливает строку для безопасной вставки в текст JavaScript-кода, например внутрь |EVAL| или в JS-строку в кавычках. Необходимо применять в случаях, когда значение подставляется в исходный текст JavaScript до его выполнения. Функция экранирует кавычки, обратные слэши, переводы строк и другие спецсимволы, чтобы они не сломали код и не исказили значение.

Если значение получается уже внутри JavaScript через объект PK, например через PK.getPars(...), отдельное экранирование обычно не требуется, так как в этом случае строка не встраивается в исходный текст JS, а передаётся как готовое значение.

Пример использования
Пример:
#beginScript
|DV|[NearestCampaign] = (|EVAL|
(function () {
    var rows = "|JSESCAPE||PARS|[2]|JSESCAPE|".split("\n");
    var bestName = "";
    var bestDate = "";

    for (var i = 0; i < rows.length; i++) {
        var parts = rows[i].split(" -> ");
        if (parts.length !== 2) continue;

        var name = parts[0].trim();
        var date = parts[1].trim();

        if (!bestDate || date < bestDate) {
            bestName = name;
            bestDate = date;
        }
    }

    return bestName;
})()
|EVAL|)
#endScript
Результат: Акция "Выходные"
При значении: |PARS|[2]|=|Акция "Выходные" -> 2026-05-01 Акция "Лето" -> 2026-06-01 Акция "Школа" -> 2026-08-15

|SCRIPTBOX|

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

Пример использования
Пример:
(|SCRIPTBOX||PARS|[1] = Ready|SCRIPTBOX|)

|DLL|

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

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

Команды:

  • dllName - Имя библиотеки (без .dll)
  • funcName - Имя функции
  • parametrs - Параметры функции, разделяются командой |PDEL| (parametrs delimiter)

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

  • info_getAuthor - Имя автора
  • info_getVersion - Версия
  • info_getDescription - Описание
Пример использования
Пример:
|DV|[DllResult]=(|DLL|dllName:myDll;funcName:myFunc;parametrs:|PARS|[1]|PDEL||PARS|[2];|DLL|)

|SLEEP|

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

Пример использования
Пример:
(|SLEEP||RANDOM|1234567890|2-3|RANDOM||SLEEP|)

|REPEAT|

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

Команды:

  • local - Повторяет конкретно запрос (если например у вас циклический запрос, в таком случае не будет идти все с самого начала, а начнет с того же запроса). Работает только перед и после отправки запроса.
  • обычный (пустой) - Повторяет запрос целиком (в таком случае циклический запрос начнет свою работу с самого начала).
Пример использования
Пример:
|||DV|[Check]|=|0
(|REPEAT|local|REPEAT|)

|STOP|

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

Пример использования
Пример:
|||DV|[Errors]|>|100
(|STOP|Слишком много ошибок|STOP|)

|PAUSE|

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

Пример использования
Пример:
|||DV|[Caution]|=|True
(|PAUSE|Ошибка взаимодействия с |LOGIN|:|PWD|, проверьте вручную|PAUSE|)

|ADDID|

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

Пример использования
Пример:
||Good Response|pos>0||RESPONSE|
(|ADDID|GOOD1|ADDID|)

|DELID|

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

Пример использования
Пример:
||Good Response|pos=0||RESPONSE|
(|DELID|GOOD1|DELID|)

|DELPROXY|

Описание:
Удаляет текущую прокси из пула загруженных прокси. Не меняет прокси на другую, для этого необходимо вызвать |NEXTPROXY|.

Пример использования
Пример:
||Your proxy has been banned|pos>0||RESPONSE|
(|DELPROXY||DELPROXY|)

|FREEZEPROXY|

Описание:
Замораживает текущую прокси на указанное время в секундах. Не меняет прокси на другую, для этого необходимо вызвать |NEXTPROXY|.

Пример использования
Пример:
||Your proxy has been banned|pos>0||RESPONSE|
(|FREEZEPROXY|180|FREEZEPROXY|)

|NEXTPROXY|

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

Пример использования
Пример:
||Your proxy has been banned|pos>0||RESPONSE|
(|FREEZEPROXY|180|FREEZEPROXY|)
(|NEXTPROXY||NEXTPROXY|)
||END

|UNIXTODATE|

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

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

Пример использования
Пример:
|DV|[Date]=(|UNIXTODATE||PARS|[2]|UNIXTODATE|)
Результат: 25/10/19
При значении: |PARS|[2]|=|1571994528

Пример:
|DV|[Date]=(|UNIXTODATE||PARS|[2]|dd.mm.yy|UNIXTODATE|)
Результат: 25.10.19
При значении: |PARS|[2]|=|1571994528

|USEPROXY|

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

Пример использования
Пример:
|||DV|[Counter]|>|3
(|USEPROXY|127.0.0.1:8080,HTTPS|USEPROXY|)

|PRINT|

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

Пример использования
Пример:
|||DV|[Flag]|=|True
(|PRINT|Блок выполнен успешно|PRINT|)

|REGEXGLUE|

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

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

  • 1{индекс парсера}, - Разделитель, 2{индекс парсера}, - Разделитель, 3{индекс парсера}

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

  • Итоговое значение, в котором ко всем значениям в |REGEX|[1], |REGEX|[2] и |REGEX|[3] будет добавлен указанный разделитель. Количество указанных индексов неограничено.
Пример использования
Пример:
|DV|[Joined]=(|REGEXGLUE|1,: ,2, | ,3,: ,4|REGEXGLUE|)
Результат: Функция: REGEXGLUE | Статус: Тестирование
При значении:
|REGEX|[1]|=|Функция
|REGEX|[2]|=|REGEXGLUE
|REGEX|[3]|=|Статус
|REGEX|[4]|=|Тестирование

|SIMPLEGLUE|

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

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

  • Индекс парсера
  • Значение

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

  • Итоговое значение, в котором ко всем значениям в |REGEX|[3] будет добавлено указанное значение.
Пример использования
Пример:
|DV|[Added]=(|SIMPLEGLUE|2, - сообщение отправлено|SIMPLEGLUE|)
Результат: [email protected] - сообщение отправлено
При значении: |REGEX|[2]|=|[email protected]

|ESCJSON|

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

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

  • Экранированное значение JSON.
Пример использования
Пример:
{
  "filters": {
    "brand": "(|ESCJSON||PARS|[1]|ESCJSON|)",
    "inStock": true
  },
  "page": 1,
  "limit": 24
}
Результат: Бренд \"North Wind\"
При значении: |PARS|[1]|=|Бренд "North Wind"

|PBKDF2KEY|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • 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 или если отсутствуют обязательные параметры.
Однострочный пример
Пример:
|DV|[Key]=(|PBKDF2KEY|{"text":"|PARS|[3]","salt":"salt123","keyLength":32}|PBKDF2KEY|)
Результат: 1666fe3c298eeb2536a12df117ab1eea36e15c4e60a837fd9ae26167db77a6b7
При значении: |PARS|[3]|=|demo
Многострочный пример
Пример:
#beginScript
|DV|[Key]=(|PBKDF2KEY|{
  "text":"|PARS|[3]",
  "salt":"salt123",
  "keyLength":32,
  "hashSizeBits":256
}|PBKDF2KEY|)
#endScript
Результат: 1666fe3c298eeb2536a12df117ab1eea36e15c4e60a837fd9ae26167db77a6b7
При значении: |PARS|[3]|=|demo

|SCRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • password: Пароль для генерации ключа.
    • salt: Соль для генерации ключа.
    • N: Параметр N (cost factor) для scrypt.
    • r: Параметр r (block size) для scrypt.
    • p: Параметр p (parallelization factor) для scrypt.
    • outputSize (опционально, по умолчанию 64): Размер выходного ключа в байтах.

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

  • Сгенерированный ключ в шестнадцатеричном формате.

Исключения:

  • Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
Однострочный пример
Пример:
|DV|[Key]=(|SCRYPT|{"password":"|PARS|[3]","salt":"salt123","N":16384,"r":8,"p":1}|SCRYPT|)
Результат: 6FEEBF483F338E2F2A7800177AB8E32DFE62D51E9C1AD2F589403095924174C1DB9652F8DA09C57C251464D8509BFDE3EAD4D9F83C1FC0992BBEF1174965EDA1
При значении: |PARS|[3]|=|demo
Многострочный пример
Пример:
#beginScript
|DV|[Key]=(|SCRYPT|{
  "password":"|PARS|[3]",
  "salt":"salt123",
  "N":16384,
  "r":8,
  "p":1,
  "outputSize":32
}|SCRYPT|)
#endScript
Результат: 6FEEBF483F338E2F2A7800177AB8E32DFE62D51E9C1AD2F589403095924174C1DB9652F8DA09C57C251464D8509BFDE3EAD4D9F83C1FC0992BBEF1174965EDA1
При значении: |PARS|[3]|=|demo

|BASE64DECODE|

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

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

  • строка в формате Base64, которую необходимо декодировать.

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

  • Декодированная строка.
Пример использования
Пример:
|DV|[Decoded]=(|BASE64DECODE||PARS|[5]|BASE64DECODE|)
Результат: https://example.com/feed?page=1&lang=ru
При значении: |PARS|[5]|=|aHR0cHM6Ly9leGFtcGxlLmNvbS9mZWVkP3BhZ2U9MSZsYW5nPXJ1

|SHA3HASH|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • 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 или если отсутствуют обязательные параметры.
Однострочный пример
Пример:
|DV|[Hash]=(|SHA3HASH|{"text":"|PARS|[3]","hashSizeBits":256,"outputFormat":"hexa"}|SHA3HASH|)
Результат: 7F23E6CA181CC91D57245809EDB1097A1F14ED011E4A9520A8DD10AA3EF82789
При значении: |PARS|[3]|=|demo
Многострочный пример
Пример:
#beginScript
|DV|[Hash]=(|SHA3HASH|{
  "text":"|PARS|[3]",
  "hashSizeBits":256,
  "outputFormat":"hexa"
}|SHA3HASH|)
#endScript
Результат: 7F23E6CA181CC91D57245809EDB1097A1F14ED011E4A9520A8DD10AA3EF82789
При значении: |PARS|[3]|=|demo

|SHA2HASH|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • text: Текст для хеширования.
    • hashSizeBits (опционально, по умолчанию 256): Размер хеша в битах (256, 384, 512).
    • outputFormat (опционально, по умолчанию ‘hexa’): Формат выходных данных (hexa, base64, base64url, base32).

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

  • Строка, представляющая собой хеш, сгенерированный алгоритмом SHA-2.

Исключения:

  • Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
Однострочный пример
Пример:
|DV|[Hash]=(|SHA2HASH|{"text":"|PARS|[3]","hashSizeBits":256,"outputFormat":"hexa"}|SHA2HASH|)
Результат: 2a97516c354b68848cdbd8f54a226a0a55b21ed138e207ad6c5cbb9c00aa5aea
При значении: |PARS|[3]|=|demo
Многострочный пример
Пример:
#beginScript
|DV|[Hash]=(|SHA2HASH|{
  "text":"|PARS|[3]",
  "hashSizeBits":256,
  "outputFormat":"hexa"
}|SHA2HASH|)
#endScript
Результат: 2a97516c354b68848cdbd8f54a226a0a55b21ed138e207ad6c5cbb9c00aa5aea
При значении: |PARS|[3]|=|demo

|BCRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • text (строка) — текст, который необходимо захешировать.
    • cost (целое число, необязательный) — фактор сложности хеширования (по умолчанию 10). Допустимые значения: от 4 до 31.

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

  • Строка, представляющая собой хеш, сгенерированный алгоритмом BCrypt.

Примечания:

  • Если параметр cost не указан или некорректен, будет использовано значение по умолчанию: 10.
  • BCrypt — адаптивный алгоритм: с увеличением cost хеширование становится медленнее, но безопаснее для защиты от перебора паролей.
Однострочный пример
Пример:
|DV|[Hash]=(|BCRYPT|{"text":"demo","cost":10}|BCRYPT|)
Многострочный пример
Пример:
#beginScript
|DV|[Hash]=(|BCRYPT|{
  "text":"demo",
  "cost":12
}|BCRYPT|)
#endScript

|AESENCRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • inputFormat (опционально, по умолчанию 'plaintext'): Формат входных данных. Возможные значения:
      • plaintext: Обычный текст.
      • hexa: Шестнадцатеричное представление.
      • base64: Base64 кодировка.
    • text: Текст для шифрования.
    • key: Ключ шифрования.
    • mode (опционально, по умолчанию ‘CBC’): Режим работы AES. Возможные значения:
      • ECB: Электронный кодовый блок (без использования IV).
      • CBC: Режим цепочки блочного шифрования (требуется IV).
      • OFB: Выходной режим обратной связи (требуется IV).
      • CTR: Режим счетчика (требуется IV).
      • CFB: Режим обратной связи по шифротексту (требуется IV).
      • SIC: Счётный режим с обратной связью (требуется IV).
      Примечание: Для режимов, отличных от ECB, необходимо предоставить параметр iv или установить includeIV в true для автоматической генерации и включения IV в результат.
    • keyLength (опционально, по умолчанию 256): Длина ключа в битах. Возможные значения: 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448.
    • padding (опционально, по умолчанию ‘PKCS7’): Метод выравнивания. Возможные значения:
      • ISO10126-2: Добавление паддинга ISO10126-2.
      • ISO7816-4: Добавление паддинга ISO7816-4.
      • BIT: Добавление битового паддинга.
      • PKCS5: Добавление паддинга PKCS5.
      • PKCS7: Добавление паддинга PKCS7.
      • TBC: Добавление паддинга TBC.
      • ANSI X9.23: Добавление паддинга ANSI X9.23.
      • Zero: Добавление нулевого паддинга.
    • blockSize (опционально, по умолчанию 128): Размер блока в битах. Обычно используется значение 128.
    • includeIV (опционально, по умолчанию false): Включать ли IV в начало зашифрованного текста. Применимо только для режимов, требующих IV (CBC, OFB, CTR, CFB, SIC).
    • iv (опционально): Инициализационный вектор в формате hexa. Требуется для режимов, отличных от ECB, если includeIV не установлен в true.
    • outputFormat (опционально, по умолчанию ‘hexa’): Формат выходных данных. Возможные значения:
      • hexa: Шестнадцатеричное представление.
      • base64: Base64 кодировка.
      • plaintext: Необработанные байты.

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

  • Зашифрованный текст или сообщение об ошибке, если шифрование не удалось.

Исключения:

  • Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
  • Выбрасывает исключение, если длина ключа не соответствует выбранной длине ключа.
  • Выбрасывает исключение, если длина IV некорректна для выбранного режима.
  • Выбрасывает исключение, если требуется IV, но он не предоставлен и includeIV не установлен.
Однострочный пример
Пример:
|DV|[Encrypted]=(|AESENCRYPT|{"inputFormat":"plaintext","text":"|PARS|[3]","key":"00112233445566778899aabbccddeeff","mode":"ECB","keyLength":256,"outputFormat":"base64"}|AESENCRYPT|)
Результат: dVn4D/ovmeF6wtd8GO+nnA==
При значении: |PARS|[3]|=|hello
Многострочный пример
Пример:
#beginScript
|DV|[Encrypted]=(|AESENCRYPT|{
  "inputFormat":"plaintext",
  "text":"|PARS|[3]",
  "key":"00112233445566778899aabbccddeeff",
  "mode":"ECB",
  "keyLength":256,
  "outputFormat":"base64"
}|AESENCRYPT|)
#endScript
Результат: dVn4D/ovmeF6wtd8GO+nnA==
При значении: |PARS|[3]|=|hello

|AESDECRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • text (обязательный): Зашифрованный текст в формате, указанном параметром inputFormat.
    • key (обязательный): Ключ шифрования.
    • mode (опционально, по умолчанию 'CBC'): Режим работы AES. Возможные значения:
      • ECB: Электронный кодовый блок (без использования IV).
      • CBC: Режим цепочки блочного шифрования (требуется IV).
      • OFB: Выходной режим обратной связи (требуется IV).
      • CTR: Режим счетчика (требуется IV).
      • CFB: Режим обратной связи по шифротексту (требуется IV).
      • SIC: Счётный режим с обратной связью (требуется IV).
      • CTS: Режим последовательного шифрования (требуется IV).
      Примечание: Для режимов, отличных от ECB, необходимо предоставить параметр iv или предусмотреть, что IV включен в зашифрованный текст с помощью параметра includeIV.
    • keyLength (опционально, по умолчанию 128): Длина ключа в битах. Возможные значения: 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448.
    • padding (опционально, по умолчанию 'PKCS7'): Метод выравнивания. Возможные значения:
      • ISO10126-2: Удаление паддинга ISO10126-2 после расшифровки.
      • ISO7816-4: Удаление паддинга ISO7816-4 после расшифровки.
      • BIT: Удаление битового паддинга после расшифровки.
      • PKCS5: Удаление паддинга PKCS5 после расшифровки.
      • PKCS7: Удаление паддинга PKCS7 после расшифровки.
      • TBC: Удаление паддинга TBC после расшифровки.
      • ANSI X9.23: Удаление паддинга ANSI X9.23 после расшифровки.
      • Zero: Удаление нулевого паддинга после расшифровки.
    • blockSize (опционально, по умолчанию 128): Размер блока в битах. Обычно используется значение 128. Применяется для режимов работы CFB и OFB.
    • includeIV (опционально, по умолчанию false): Указывает, что IV включен в начало зашифрованного текста. Применимо только для режимов, требующих IV (CBC, OFB, CTR, CFB, SIC).
    • iv (опционально): Инициализационный вектор в формате hexa. Требуется для режимов, отличных от ECB, если includeIV не установлен в true.
    • outputFormat (опционально, по умолчанию 'hexa'): Формат выходных данных. Возможные значения:
      • plaintext: Необработанный текст.
      • base64: Base64 кодировка.
      • hexa: Шестнадцатеричное представление.
    • inputFormat (опционально, по умолчанию 'base64'): Формат входных данных. Возможные значения:
      • base64: Base64 кодировка.
      • plaintext: Необработанный текст.
      • hexa: Шестнадцатеричное представление.

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

  • Расшифрованный текст в формате, указанном в параметре outputFormat, или сообщение об ошибке, если расшифровка не удалась.

Исключения:

  • Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
  • Выбрасывает исключение, если длина ключа не соответствует выбранной длине ключа.
  • Выбрасывает исключение, если длина IV некорректна для выбранного режима.
  • Выбрасывает исключение, если требуется IV, но он не предоставлен и includeIV не установлен.
Однострочный пример
Пример:
|DV|[Decrypted]=(|AESDECRYPT|{"text":"|PARS|[4]","key":"00112233445566778899aabbccddeeff","mode":"ECB","keyLength":256,"outputFormat":"plaintext","inputFormat":"base64"}|AESDECRYPT|)
Результат: hello
При значении: |PARS|[4]|=|dVn4D/ovmeF6wtd8GO+nnA==
Многострочный пример
Пример:
#beginScript
|DV|[Decrypted]=(|AESDECRYPT|{
  "text":"|PARS|[4]",
  "key":"00112233445566778899aabbccddeeff",
  "mode":"ECB",
  "keyLength":256,
  "outputFormat":"plaintext",
  "inputFormat":"base64"
}|AESDECRYPT|)
#endScript
Результат: hello
При значении: |PARS|[4]|=|dVn4D/ovmeF6wtd8GO+nnA==

|AESGCMENCRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • text: Текст для шифрования.
    • key: Ключ шифрования.
    • associatedData (опционально): Ассоциированные данные.
    • keyLength (опционально, по умолчанию 256): Длина ключа в битах (128, 192, 256).
    • tagSizeBits (опционально, по умолчанию 16): Размер тега в байтах (1-16).
    • outputFormat (опционально, по умолчанию ‘hexa’): Формат вывода (hexa, base64, base64url, base32).

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

  • Зашифрованный текст в формате JSON, содержащий tag и encryptedText.

Исключения:

  • Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
Однострочный пример
Пример:
|DV|[Encrypted]=(|AESGCMENCRYPT|{"text":"hello","key":"00112233445566778899aabbccddeeff0011223344556677","outputFormat":"base64"}|AESGCMENCRYPT|)
Многострочный пример
Пример:
#beginScript
|DV|[Encrypted]=(|AESGCMENCRYPT|{
  "text":"hello",
  "key":"00112233445566778899aabbccddeeff0011223344556677",
  "outputFormat":"base64"
}|AESGCMENCRYPT|)
#endScript

|AESGCMDECRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • encryptedText: Зашифрованный текст. Ожидается в формате указанном в `outputFormat`.
    • tag: Тег для верификации. Формат зависит от параметра outputFormat (hexa, base64, base64url, base32).
    • key: Ключ шифрования. Должен быть представлен в формате hexa.
    • associatedData (опционально): Ассоциированные данные. Ожидается в формате hexa.
    • keyLength (опционально, по умолчанию 256): Длина ключа в битах (128, 192, 256).
    • tagSizeBits (опционально, по умолчанию 16): Размер тега в байтах (1-16).
    • outputFormat (опционально, по умолчанию hexa): Формат вывода (hexa, base64, base64url, base32).

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

  • Расшифрованный текст или сообщение об ошибке, если расшифровка не удалась.

Исключения:

  • Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
Однострочный пример
Пример:
|DV|[Decrypted]=(|AESGCMDECRYPT|{"iv":"|PARS|[1]","tag":"|PARS|[2]","encryptedText":"|PARS|[3]","key":"00112233445566778899aabbccddeeff0011223344556677","outputFormat":"base64"}|AESGCMDECRYPT|)
Результат: hello
При значении: |PARS|[1]|=|Af4ymBLP6LMv72Uv9bmcfg== |PARS|[2]|=|zY+0U11FknbHL0FEXNrQJg== |PARS|[3]|=|m4VOIxk=
Многострочный пример
Пример:
#beginScript
|DV|[Decrypted]=(|AESGCMDECRYPT|{
  "encryptedText":"|PARS|[3]",
  "tag":"|PARS|[2]",
  "iv":"|PARS|[1]",
  "key":"00112233445566778899aabbccddeeff0011223344556677",
  "outputFormat":"base64"
}|AESGCMDECRYPT|)
#endScript
Результат: hello
При значении: |PARS|[1]|=|Af4ymBLP6LMv72Uv9bmcfg== |PARS|[2]|=|zY+0U11FknbHL0FEXNrQJg== |PARS|[3]|=|m4VOIxk=

|RSAENCRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • text: Текст для шифрования.
    • modulus: Модуль ключа RSA (в формате PEM или HEX).
    • publicExponent: Публичная экспонента ключа RSA (в формате HEX).
    • encType (опционально, по умолчанию 'oaep'): Режим шифрования. Возможные значения:
      • oaep: Optimal Asymmetric Encryption Padding
      • v1.5: PKCS#1 v1.5 Padding
    • oaepHash (опционально): Хэш-функция для OAEP padding.
    • oaepMgfHash (опционально): Хэш-функция для MGF в OAEP padding.
    • oaepLabel (опционально): Метка для OAEP padding (в HEX формате).
    • littleEndian (опционально, по умолчанию false): Порядок байтов.

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

  • Зашифрованный текст в формате Base64 или сообщение об ошибке.
Однострочный пример
Пример:
|DV|[Encrypted]=(|RSAENCRYPT|{"text":"hello","modulus":"A2398C89CAE81C0A7E65E11FE4550474B1619068D1DA029F8111EDBAD366A1D32BA7669389A7427269D3D05DF2ADC623F26F3B113318E9BC7EEA21E7CB3C3CDD41B17983A0389C2559C2DC81A5832458FE65BDC7B0C75102BCC4915E8CA56D95553DDEEEF3D9045CD2651AC330AFD211002C858A34459037FC1B3241A05F7C47","publicExponent":"010001","encType":"oaep"}|RSAENCRYPT|)
Многострочный пример
Пример:
#beginScript
|DV|[Encrypted]=(|RSAENCRYPT|{
  "text":"hello",
  "modulus":"A2398C89CAE81C0A7E65E11FE4550474B1619068D1DA029F8111EDBAD366A1D32BA7669389A7427269D3D05DF2ADC623F26F3B113318E9BC7EEA21E7CB3C3CDD41B17983A0389C2559C2DC81A5832458FE65BDC7B0C75102BCC4915E8CA56D95553DDEEEF3D9045CD2651AC330AFD211002C858A34459037FC1B3241A05F7C47",
  "publicExponent":"010001",
  "encType":"oaep"
}|RSAENCRYPT|)
#endScript

|RSADECRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • encryptedText: Зашифрованный текст для расшифровки.
    • privateKeyPem: Приватный ключ RSA (в формате PEM или HEX).
    • encType (опционально, по умолчанию 'oaep'): Режим шифрования. Возможные значения:
      • oaep: Optimal Asymmetric Encryption Padding
      • v1.5: PKCS#1 v1.5 Padding
    • oaepHash (опционально): Хэш-функция для OAEP padding.
    • oaepMgfHash (опционально): Хэш-функция для MGF в OAEP padding.
    • oaepLabel (опционально): Метка для OAEP padding (в HEX формате).
    • littleEndian (опционально, по умолчанию false): Порядок байтов.

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

  • Расшифрованный текст или сообщение об ошибке.

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

  • Неверный формат JSON или отсутствие обязательных параметров
  • Некорректный формат ключей (PEM или HEX)
  • Ошибки при импорте ключей
  • Ошибки в процессе шифрования/расшифровки
  • Некорректный формат OAEP Label (должен быть в HEX)
  • Неподдерживаемый тип шифрования
Однострочный пример
Пример:
|DV|[Decrypted]=(|RSADECRYPT|{"encryptedText":"|PARS|[4]","privateKeyPem":"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDunAOuyY54aLcWsnF52tVWWXokWKzdA9v8w1nme/nv+p0Cu5nz\nharxofG9mVdpj/RL2VelnAgfMpxoennwVp3JpEQW2BfSXVdvUE5cvlLZkE1aebvF\nLzaxWyNlDDk+fu2iB1Agl88iR09luDge5WKMxfShgxvXBusT9sjb4dJkmQIDAQAB\nAoGAUJUl9UCiue17b9Hh2upZxCjBxEaiUp38DHgZA2r5NN+paQPccU7CNYqgrox7\n5e207my/WfHBGHAqPGqohc9qx8iKBUMiUxOCRD9pCQEcd3l94OuW8iQWasOqXVJj\nKR0Ku+P5W2MuvvEUWk0u5yuXAUjfC+gXzJFoRfMLH0bDfQECQQD/C6BKgvEvaBel\nlcN3daR/JuKhu5gHFRMnVfPBu2MNW0Q38I6fceVRwHe6boBWa8809QR9wn0oCmvF\n1gnjd5e5AkEA74Cj1XjFTmXgzWTdTxUW7OKpMTzAwXYOAKpxUSX4N/YJBRXCtHTD\nSEQ6q6/GnnAM/pwcH3U38aDr+ns4OBXj4QJARktfB4pljUpkUhggArni98Sw7CC3\nOyR83febsobCOzkvaTedJ6cNrGWe2jyAlNEsEA2ECmFje3i70ZA3s4EPyQJBAISq\n/pYOi0UtPASqncjjxso7mDtVCvVffswxngm0fbYKDN8LOcqab15FpTZbbStwqFIV\niaKHXRD08iLTRMYUoiECQCqBMg+5LSwnhfG/6aitHQkGUHHpAr6f03pfkeRRnRlU\nuLVNyL4h/tPw86uVClh3GrxW55MXqAjwPXpieCSCP7E=\n-----END RSA PRIVATE KEY-----","encType":"oaep"}|RSADECRYPT|)
Результат: hello
При значении: |PARS|[4]|=|gmplw/m42d1N3wTW12BnrkFYlkBSkMLN4DEflspnz7f1JAHsXRe7akkGE0bwc4j2MHMofiXjIW2uMMv+Lk9FpfLipfCEs01UETqGYC14fqZPv0Sb2iiDmKaIJFG210dSrsXiRK5YFTxa4RBj7sc0lm8W+9g3ZiJgf0oiP9X1i9w=
Многострочный пример
Пример:
#beginScript
|DV|[Decrypted]=(|RSADECRYPT|{
  "encryptedText":"|PARS|[4]",
  "privateKeyPem":"-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDunAOuyY54aLcWsnF52tVWWXokWKzdA9v8w1nme/nv+p0Cu5nz\nharxofG9mVdpj/RL2VelnAgfMpxoennwVp3JpEQW2BfSXVdvUE5cvlLZkE1aebvF\nLzaxWyNlDDk+fu2iB1Agl88iR09luDge5WKMxfShgxvXBusT9sjb4dJkmQIDAQAB\nAoGAUJUl9UCiue17b9Hh2upZxCjBxEaiUp38DHgZA2r5NN+paQPccU7CNYqgrox7\n5e207my/WfHBGHAqPGqohc9qx8iKBUMiUxOCRD9pCQEcd3l94OuW8iQWasOqXVJj\nKR0Ku+P5W2MuvvEUWk0u5yuXAUjfC+gXzJFoRfMLH0bDfQECQQD/C6BKgvEvaBel\nlcN3daR/JuKhu5gHFRMnVfPBu2MNW0Q38I6fceVRwHe6boBWa8809QR9wn0oCmvF\n1gnjd5e5AkEA74Cj1XjFTmXgzWTdTxUW7OKpMTzAwXYOAKpxUSX4N/YJBRXCtHTD\nSEQ6q6/GnnAM/pwcH3U38aDr+ns4OBXj4QJARktfB4pljUpkUhggArni98Sw7CC3\nOyR83febsobCOzkvaTedJ6cNrGWe2jyAlNEsEA2ECmFje3i70ZA3s4EPyQJBAISq\n/pYOi0UtPASqncjjxso7mDtVCvVffswxngm0fbYKDN8LOcqab15FpTZbbStwqFIV\niaKHXRD08iLTRMYUoiECQCqBMg+5LSwnhfG/6aitHQkGUHHpAr6f03pfkeRRnRlU\nuLVNyL4h/tPw86uVClh3GrxW55MXqAjwPXpieCSCP7E=\n-----END RSA PRIVATE KEY-----",
  "encType":"oaep"
}|RSADECRYPT|)
#endScript
Результат: РУЧНАЯ ПРОВЕРКА
При значении: |PARS|[4]|=|gmplw/m42d1N3wTW12BnrkFYlkBSkMLN4DEflspnz7f1JAHsXRe7akkGE0bwc4j2MHMofiXjIW2uMMv+Lk9FpfLipfCEs01UETqGYC14fqZPv0Sb2iiDmKaIJFG210dSrsXiRK5YFTxa4RBj7sc0lm8W+9g3ZiJgf0oiP9X1i9w=

|RSAKEYGEN|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • keySize (целое, опционально, по умолчанию 2048): Размер ключа в битах.

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

  • Строка в формате JSON со следующими полями:
    • privateKeyPem: Закрытый ключ в формате PEM (PKCS#1), начиная с -----BEGIN RSA PRIVATE KEY-----.
    • publicKeyPem: Открытый ключ в формате PEM (OpenSSL), начиная с -----BEGIN PUBLIC KEY-----.
    • privateKey: JSON-объект с компонентами закрытого ключа:
      • modulus
      • d
      • p
      • q
      • dp
      • dq
      • inverseQ
    • publicKey: JSON-объект с компонентами открытого ключа:
      • modulus
      • exponent
    • keySize: Размер сгенерированного ключа в битах.
  • В случае ошибки возвращается строка с текстом сообщения об ошибке.
Однострочный пример
Пример:
|DV|[Keys]=(|RSAKEYGEN|{"keySize":2048}|RSAKEYGEN|)
Многострочный пример
Пример:
#beginScript
|DV|[Keys]=(|RSAKEYGEN|{
  "keySize":2048
}|RSAKEYGEN|)
#endScript

|RANDOMBYTES|

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

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

  • строка, представляющая длину массива случайных байтов. Пример: “16” для генерации массива из 16 случайных байтов.

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

  • Массив случайных байтов в формате JSON.

Исключения:

  • Выбрасывает исключение, если входная строка не может быть преобразована в целое число.
Пример использования
Пример:
|DV|[Bytes]=(|RANDOMBYTES|16|RANDOMBYTES|)

|STRTOBYTES|

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

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

  • строка, которую необходимо преобразовать в массив байтов.

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

  • Массив байтов в формате JSON. Пример результата: [104, 101, 108, 108, 111], что соответствует строке “hello” в UTF-8.

Исключения:

  • Выбрасывает исключение, если входная строка не может быть обработана.
Пример использования
Пример:
|DV|[Bytes]=(|STRTOBYTES||PARS|[3]|STRTOBYTES|)
Результат: [104,101,108,108,111]
При значении: |PARS|[3]|=|hello

|BYTESTOSTR|

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

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

  • строка в формате JSON, представляющая массив байтов. Пример: [104, 101, 108, 108, 111], что соответствует строке “hello” в UTF-8.

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

  • Строка, полученная из массива байтов.

Исключения:

  • Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если элементы массива не являются числами.
Однострочный пример
Пример:
|DV|[Text]=(|BYTESTOSTR||PARS|[4]|BYTESTOSTR|)
Результат: hello
При значении: |PARS|[4]|=|[104, 101, 108, 108, 111]

|UUIDV4|

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

Пример использования
Пример:
|DV|[Uuid]=(|UUIDV4||UUIDV4|)

|GETVALUEBYKEY|

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

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

  • “Многострочный текст|KEYNAME|Ключ”, где:
    • Первая часть (до |KEYNAME|) содержит многострочный текст формата “ключ: значение”.
    • Вторая часть (после |KEYNAME|) содержит ключ, по которому нужно найти значение.

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

  • Значение, соответствующее ключу в многострочном тексте. Если ключ не найден, возвращает сообщение “Key not found: Ключ”.

Исключения:

  • Выбрасывает исключение, если входная строка имеет некорректный формат (не содержит |KEYNAME|).
Пример использования
Пример:
|DV|[Value]=(|GETVALUEBYKEY||REGEX|[7]|KEYNAME|Status|GETVALUEBYKEY|)
Результат: Active
При значении:
|REGEX|[7]|=|Status: Active
             Plan: Monitoring
             Owner: SEO Team

|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 и т.д.


|BASE64TOHEX|

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

Команды:

  • Base64 строка - Входные данные в формате Base64, которые необходимо преобразовать в шестнадцатеричную строку.
Пример использования
Пример:
|DV|[Hex]=(|BASE64TOHEX||PARS|[6]|BASE64TOHEX|)
Результат: a8
При значении: |PARS|[6]|=|qA==

|HEXTOBASE64|

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

Команды:

  • Шестнадцатеричная строка - Входные данные в шестнадцатеричном формате, которые необходимо преобразовать в Base64. Длина строки должна быть четной.
Пример использования
Пример:
|DV|[B64]=(|HEXTOBASE64||PARS|[6]|HEXTOBASE64|)
Результат: oAAABTUAAg==
При значении: |PARS|[6]|=|a0000005350002

|PROTOBUF|

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

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

  • int32: Целое число с 32 битами.
  • int64: Целое число с 64 битами.
  • uint32: Беззнаковое целое число с 32 битами.
  • uint64: Беззнаковое целое число с 64 битами.
  • bool: Логическое значение (true или false).
  • float: Число с плавающей запятой одинарной точности.
  • double: Число с плавающей запятой двойной точности.
  • string: Строка.
  • bytes: Массив байтов (используется для бинарных данных).
  • message: Вложенное сообщение с набором полей.
  • enum: Перечисляемый тип данных с возможными значениями.

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • action: Действие, которое нужно выполнить. Возможные значения:
      • "encode": Создание нового Protobuf сообщения.
      • "decode": Декодирование существующего Protobuf сообщения.
      • "update": Обновление существующего Protobuf сообщения.
    • message_type: Название сообщения, для которого необходимо создать маппинг.
    • field_mapping: JSON объект, описывающий структуру полей сообщения. Включает:
      • name: Имя поля.
      • number: Номер поля.
      • type: Тип данных (см. выше список поддерживаемых типов).
      • fields (для вложенных сообщений): Описание структуры полей вложенного сообщения.
      • values (для типа enum): Возможные значения enum с их числовым представлением.
    • field_values: (Опционально, для действий "encode" и "update") JSON объект с данными полей, которые должны быть сериализованы или обновлены.
    • protobuf_base64: (Обязательно для действий "decode" и "update") Base64 строка закодированного сообщения Protobuf.

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

  • Для действия "encode": Закодированное Protobuf сообщение в формате Base64.
  • Для действия "decode": JSON объект с расшифрованными данными полей.
  • Для действия "update": Обновленное Protobuf сообщение в формате Base64.

Исключения

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

  • Если входная строка имеет некорректный формат JSON.
  • Если отсутствуют обязательные параметры.
  • Если не удалось корректно выполнить указанное действие.

Генератор

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

Однострочный пример
Пример:
|DV|[pb_b64]=(|PROTOBUF|{"action":"encode","message_type":"AuthRequest","field_mapping":{"AuthRequest":{"login":{"number":1,"type":"string"},"password":{"number":2,"type":"string"}}},"field_values":{"login":"|PARS|[1]","password":"|PARS|[2]"}}|PROTOBUF|)
Результат: CgZBcnRoYXMSB1Njb3VyZ2U=
При значении: |PARS|[1]|=|Arthas |PARS|[2]|=|Scourge
Многострочный пример
Пример:
#beginScript
|DV|[pb_b64]=(|PROTOBUF|{
  "action": "encode",
  "message_type": "AuthRequest",
  "field_mapping": {
    "AuthRequest": {
      "login": {
        "number": 1,
        "type": "string"
      },
      "password": {
        "number": 2,
        "type": "string"
      }
    }
  },
  "field_values": {
    "login": "|PARS|[1]",
    "password": "|PARS|[2]"
  }
}|PROTOBUF|)
#endScript
Результат: CgZBcnRoYXMSB1Njb3VyZ2U=
При значении: |PARS|[1]|=|Arthas |PARS|[2]|=|Scourge

|BLAKE2BENCODE|

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

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

  • Input: Входная строка для вычисления Blake2b хеша.

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

  • Возвращает Blake2b хеш в шестнадцатеричном формате или сообщение об ошибке.
Пример использования
Пример:
|DV|[Hash]=(|BLAKE2BENCODE||PARS|[8]|BLAKE2BENCODE|)
Результат: 964E1609610692BA43D054160B40B72FD037A9DEF98B22E253816C13904F5AAF
При значении: |PARS|[8]|=|SEO_AUDIT_2026

|WHIRLPOOLENCODE|

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

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

  • Input: Входная строка для вычисления Whirlpool хеша.

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

  • Возвращает Whirlpool хеш в шестнадцатеричном формате или сообщение об ошибке.
Пример использования
Пример:
|DV|[Hash]=(|WHIRLPOOLENCODE||PARS|[4]|WHIRLPOOLENCODE|)
Результат: 9F5F1B7BB8D665798E7861190DD67A8313CA1161369F32269F9C8DEF2AE94B2E8E6CA7D8785D483F7DDD64E50A1758D9AAFF7105C5349514C8B95356B66EFCFD
При значении: |PARS|[4]|=|BrandSafetyCheck

|XXHASHENCODE|

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

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

  • Input: Входная строка для вычисления XXHash хеша.

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

  • Возвращает XXHash хеш в шестнадцатеричном формате или сообщение об ошибке.
Пример использования
Пример:
|DV|[Hash]=(|XXHASHENCODE||PARS|[10]|XXHASHENCODE|)
Результат: 8D933F06
При значении: |PARS|[10]|=|feed/products?page=4

|KECCAK256HASH|

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

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

  • Input: Входная строка для вычисления Keccak-256 хеша.

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

  • Возвращает Keccak-256 хеш в шестнадцатеричном формате или сообщение об ошибке.
Пример использования
Пример:
|DV|[Hash]=(|KECCAK256HASH||PARS|[5]|KECCAK256HASH|)
Результат: 9672A44DB522A7C421E549C0529118BAC02C8EB7ACA5213362EE3C41CF5E4388
При значении: |PARS|[5]|=|wallet-checksum-demo

|BLAKE3ENCODE|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • message: Входная строка для вычисления Blake3 хеша.
    • key: Ключ для Blake3 в шестнадцатеричном формате.

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

  • Возвращает Blake3 хеш в шестнадцатеричном формате или сообщение об ошибке.
Однострочный пример
Пример:
|DV|[Hash]=(|BLAKE3ENCODE|{"message":"|PARS|[3]","key":"00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"}|BLAKE3ENCODE|)
Результат: 0DBC850AE7FF1B987BAAF1AD7BE3AED2705DD79AFABD09DF3D5571C397AC2E2D
При значении: |PARS|[3]|=|demo
Многострочный пример
Пример:
#beginScript
|DV|[Hash]=(|BLAKE3ENCODE|{
  "message":"|PARS|[3]",
  "key":"00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"
}|BLAKE3ENCODE|)
#endScript
Результат: 0DBC850AE7FF1B987BAAF1AD7BE3AED2705DD79AFABD09DF3D5571C397AC2E2D
При значении: |PARS|[3]|=|demo

|ZLIBCOMPRESS|

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

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

  • Input: Входная строка для сжатия.

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

  • Возвращает сжатую строку или сообщение об ошибке.
Пример использования
Пример:
|DV|[Compressed]=(|ZLIBCOMPRESS||PARS|[6]|ZLIBCOMPRESS|)
Результат: eJyrVkotS80rUbJSykhNLCpJSk0sUaoFAFHbB40=
При значении: |PARS|[6]|=|{"event":"heartbeat"}

|ZLIBDECOMPRESS|

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

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

  • Input: Входная строка в формате Base64 для декомпрессии.

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

  • Возвращает декомпрессированную строку или сообщение об ошибке.
Пример использования
Пример:
|DV|[Decompressed]=(|ZLIBDECOMPRESS||PARS|[1]|ZLIBDECOMPRESS|)
Результат: {"event":"heartbeat"}
При значении: |PARS|[1]|=|eJyrVkotS80rUbJSykhNLCpJSk0sUaoFAFHbB40=

|GZIPCOMPRESS|

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

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

  • Input: Входная строка для сжатия.

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

  • Возвращает сжатую строку в формате Base64 или сообщение об ошибке.
Пример использования
Пример:
|DV|[Compressed]=(|GZIPCOMPRESS||PARS|[7]|GZIPCOMPRESS|)
Результат: H4sIAAAAAAAAAKtWSi1LzStRslIqrsxLVqoFADsT6ZcQAAAA
При значении: |PARS|[7]|=|{"event":"sync"}

|GZIPDECOMPRESS|

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

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

  • Input: Входная строка в формате Base64 для декомпрессии.

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

  • Возвращает декомпрессированную строку или сообщение об ошибке.
Пример использования
Пример:
|DV|[Decompressed]=(|GZIPDECOMPRESS||PARS|[3]|GZIPDECOMPRESS|)
Результат: {"event":"sync"}
При значении: |PARS|[3]|=|H4sIAAAAAAAAAKtWSi1LzStRslIqrsxLVqoFADsT6ZcQAAAA

|BASEENCODEDECODE|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • algorithm: Алгоритм кодирования Base (`Base16`, `Base32`, `Base64`, `Base58BitCoin`, `Base58Ripple`, `Base58Flickr`, `Base58Custom`, `Ascii85`, `Z85`).
    • action: `encode` или `decode` (что выполнить).
    • message: Сообщение для кодирования или декодирования.
    • usePadding (опционально для `Base64`): Логический флаг, указывающий, использовать ли паддинг в Base64 кодировании. По умолчанию `true`.
    • customAlphabet (опционально для `Base58Custom`): Пользовательский алфавит для кодирования/декодирования в Base58.

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

  • Возвращает закодированное или декодированное сообщение, или сообщение об ошибке в случае неудачи.
Однострочный пример
Пример:
|DV|[Encoded]=(|BASEENCODEDECODE|{"algorithm":"Base64","action":"encode","message":"|PARS|[3]"}|BASEENCODEDECODE|)
Результат: ZGVtbw==
При значении: |PARS|[3]|=|demo
Многострочный пример
Пример:
#beginScript
|DV|[Encoded]=(|BASEENCODEDECODE|{
  "algorithm":"Base64",
  "action":"encode",
  "message":"|PARS|[3]"
}|BASEENCODEDECODE|)
#endScript
Результат: ZGVtbw==
При значении: |PARS|[3]|=|demo

|ARGON2HASH|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • password: Пароль для хеширования.
    • salt: Соль для хеширования.
    • iterations (опционально, по умолчанию 2): Количество итераций.
    • memory (опционально, по умолчанию 65536): Объем памяти в KB.
    • type (опционально, по умолчанию Argon2id): Тип Argon2 (`Argon2d`, `Argon2i`, `Argon2id`).
    • version (опционально, по умолчанию '1.3'): Версия Argon2 ('1.0' или '1.3').
    • outputLength (опционально, по умолчанию 32): Длина выходного хеша.
    • secret (опционально): Секретные данные.
    • additional (опционально): Дополнительные данные.

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

  • Возвращает Argon2 хеш в шестнадцатеричном формате или сообщение об ошибке. Выполняется без параллелизма.
Однострочный пример
Пример:
|DV|[Hash]=(|ARGON2HASH|{"password":"|PARS|[3]","salt":"salt123","iterations":2,"memory":65536}|ARGON2HASH|)
Результат: F93E5BA3CA100DB943168CF43533D89F8E40A8736D47AE2C068E3A8A6C5301FF
При значении: |PARS|[3]|=|demo
Многострочный пример
Пример:
#beginScript
|DV|[Hash]=(|ARGON2HASH|{
  "password":"|PARS|[3]",
  "salt":"salt123",
  "iterations":2,
  "memory":65536
}|ARGON2HASH|)
#endScript
Результат: F93E5BA3CA100DB943168CF43533D89F8E40A8736D47AE2C068E3A8A6C5301FF
При значении: |PARS|[3]|=|demo

|SALSA20ENCRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • key: Ключ для шифрования.
    • nonce: Нонс для шифрования.
    • message: Сообщение для шифрования.
    • keyLength (необязательный, по умолчанию 256): Длина ключа шифрования (128 или 256 бит).
    • rounds (необязательный, по умолчанию 20): Количество раундов для Salsa20 (8, 12 или 20).

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

  • Возвращает зашифрованное сообщение в формате Base64 или сообщение об ошибке.
Однострочный пример
Пример:
|DV|[Encrypted]=|PARS|[1] = (|SALSA20ENCRYPT|{"key":"1234567890abcdef","nonce":"|PARS|[2]","message":"|PARS|[3]","keyLength":128}|SALSA20ENCRYPT|)
Результат: oymXuqc=
При значении: |PARS|[2]|=|12345678 |PARS|[3]|=|hello
Многострочный пример
Пример:
#beginScript
|DV|[Encrypted]=(|SALSA20ENCRYPT|{
  "key":"1234567890abcdef",
  "nonce":"|PARS|[2]",
  "message":"|PARS|[3]",
  "keyLength":128
}|SALSA20ENCRYPT|)
#endScript
Результат: oymXuqc=
При значении: |PARS|[2]|=|12345678 |PARS|[3]|=|hello

|CHACHA20ENCRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • key: Ключ для шифрования.
    • nonce: Нонс для шифрования.
    • message: Сообщение для шифрования.
    • keyLength (необязательный, по умолчанию 256): Длина ключа шифрования (128 или 256 бит).
    • rounds (необязательный, по умолчанию 20): Количество раундов для ChaCha20 (8, 12 или 20).

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

  • Возвращает зашифрованное сообщение в формате Base64 или сообщение об ошибке.
Однострочный пример
Пример:
|DV|[Encrypted]=(|CHACHA20ENCRYPT|{"key":"00112233445566778899aabbccddeeff","nonce":"|PARS|[2]","message":"|PARS|[3]","keyLength":256}|CHACHA20ENCRYPT|)
Результат: V4dc2fw=
При значении: |PARS|[2]|=|00000000 |PARS|[3]|=|hello
Многострочный пример
Пример:
#beginScript
|DV|[Encrypted]=(|CHACHA20ENCRYPT|{
  "key":"00112233445566778899aabbccddeeff",
  "nonce":"|PARS|[2]",
  "message":"|PARS|[3]",
  "keyLength":256
}|CHACHA20ENCRYPT|)
#endScript
Результат: V4dc2fw=
При значении: |PARS|[2]|=|00000000 |PARS|[3]|=|hello

|BLOWFISHENCRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • inputFormat (опционально, по умолчанию 'plaintext'): Формат входных данных. Возможные значения:
      • plaintext: Обычный текст.
      • hexa: Шестнадцатеричное представление.
      • base64: Base64 кодировка.
    • text: Текст для шифрования.
    • key: Ключ шифрования.
    • mode (опционально, по умолчанию ‘CBC’): Режим работы Blowfish. Возможные значения:
      • ECB: Электронный кодовый блок (без использования IV).
      • CBC: Режим цепочки блочного шифрования (требуется IV).
      • OFB: Выходной режим обратной связи (требуется IV).
      • CTR: Режим счетчика (требуется IV).
      • CFB: Режим обратной связи по шифротексту (требуется IV).
      • SIC: Счётный режим с обратной связью (требуется IV).
      Примечание: Для режимов, отличных от ECB, необходимо предоставить параметр iv или установить includeIV в true для автоматической генерации и включения IV в результат.
    • keyLength (опционально, по умолчанию 256): Длина ключа в битах. Возможные значения: 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448.
    • padding (опционально, по умолчанию ‘PKCS7’): Метод выравнивания. Возможные значения:
      • ISO10126-2: Добавление паддинга ISO10126-2.
      • ISO7816-4: Добавление паддинга ISO7816-4.
      • BIT: Добавление битового паддинга.
      • PKCS5: Добавление паддинга PKCS5.
      • PKCS7: Добавление паддинга PKCS7.
      • TBC: Добавление паддинга TBC.
      • ANSI X9.23: Добавление паддинга ANSI X9.23.
      • Zero: Добавление нулевого паддинга.
    • blockSize (опционально, по умолчанию 128): Размер блока в битах. Обычно используется значение 128.
    • includeIV (опционально, по умолчанию false): Включать ли IV в начало зашифрованного текста. Применимо только для режимов, требующих IV (CBC, OFB, CTR, CFB, SIC).
    • iv (опционально): Инициализационный вектор в формате hexa. Требуется для режимов, отличных от ECB, если includeIV не установлен в true.
    • outputFormat (опционально, по умолчанию ‘hexa’): Формат выходных данных. Возможные значения:
      • hexa: Шестнадцатеричное представление.
      • base64: Base64 кодировка.
      • plaintext: Необработанные байты.
Однострочный пример
Пример:
|DV|[Encrypted]=(|BLOWFISHENCRYPT|{"inputFormat":"plaintext","text":"|PARS|[3]","key":"0011223344556677","mode":"ECB","keyLength":128,"outputFormat":"base64"}|BLOWFISHENCRYPT|)
Результат: Vgb2ZTXpEMw=
При значении: |PARS|[3]|=|hello
Многострочный пример
Пример:
#beginScript
|DV|[Encrypted]=(|BLOWFISHENCRYPT|{
  "inputFormat":"plaintext",
  "text":"|PARS|[3]",
  "key":"0011223344556677",
  "mode":"ECB",
  "keyLength":128,
  "outputFormat":"base64"
}|BLOWFISHENCRYPT|)
#endScript
Результат: Vgb2ZTXpEMw=
При значении: |PARS|[3]|=|hello

|BLOWFISHDECRYPT|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • text (обязательный): Зашифрованный текст в формате, указанном параметром inputFormat.
    • key (обязательный): Ключ шифрования.
    • mode (опционально, по умолчанию 'CBC'): Режим работы Blowfish. Возможные значения:
      • ECB: Электронный кодовый блок (без использования IV).
      • CBC: Режим цепочки блочного шифрования (требуется IV).
      • OFB: Выходной режим обратной связи (требуется IV).
      • CTR: Режим счетчика (требуется IV).
      • CFB: Режим обратной связи по шифротексту (требуется IV).
      • SIC: Счётный режим с обратной связью (требуется IV).
      • CTS: Режим последовательного шифрования (требуется IV).
      Примечание: Для режимов, отличных от ECB, необходимо предоставить параметр iv или предусмотреть, что IV включен в зашифрованный текст с помощью параметра includeIV.
    • keyLength (опционально, по умолчанию 128): Длина ключа в битах. Возможные значения: 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448.
    • padding (опционально, по умолчанию 'PKCS7'): Метод выравнивания. Возможные значения:
      • ISO10126-2: Удаление паддинга ISO10126-2 после расшифровки.
      • ISO7816-4: Удаление паддинга ISO7816-4 после расшифровки.
      • BIT: Удаление битового паддинга после расшифровки.
      • PKCS5: Удаление паддинга PKCS5 после расшифровки.
      • PKCS7: Удаление паддинга PKCS7 после расшифровки.
      • TBC: Удаление паддинга TBC после расшифровки.
      • ANSI X9.23: Удаление паддинга ANSI X9.23 после расшифровки.
      • Zero: Удаление нулевого паддинга после расшифровки.
    • blockSize (опционально, по умолчанию 128): Размер блока в битах. Обычно используется значение 128. Применяется для режимов работы CFB и OFB.
    • includeIV (опционально, по умолчанию false): Указывает, что IV включен в начало зашифрованного текста. Применимо только для режимов, требующих IV (CBC, OFB, CTR, CFB, SIC).
    • iv (опционально): Инициализационный вектор в формате hexa. Требуется для режимов, отличных от ECB, если includeIV не установлен в true.
    • outputFormat (опционально, по умолчанию 'hexa'): Формат выходных данных. Возможные значения:
      • plaintext: Необработанный текст.
      • base64: Base64 кодировка.
      • hexa: Шестнадцатеричное представление.
    • inputFormat (опционально, по умолчанию 'base64'): Формат входных данных. Возможные значения:
      • base64: Base64 кодировка.
      • plaintext: Необработанный текст.
      • hexa: Шестнадцатеричное представление.
Однострочный пример
Пример:
|DV|[Decrypted]=(|BLOWFISHDECRYPT|{"text":"|PARS|[4]","key":"0011223344556677","mode":"ECB","keyLength":128,"outputFormat":"plaintext","inputFormat":"base64"}|BLOWFISHDECRYPT|)
Результат: hello
При значении: |PARS|[4]|=|Vgb2ZTXpEMw=
Многострочный пример
Пример:
#beginScript
|DV|[Decrypted]=(|BLOWFISHDECRYPT|{
  "text":"|PARS|[4]",
  "key":"0011223344556677",
  "mode":"ECB",
  "keyLength":128,
  "outputFormat":"plaintext",
  "inputFormat":"base64"
}|BLOWFISHDECRYPT|)
#endScript
Результат: hello
При значении: |PARS|[4]|=|Vgb2ZTXpEMw=

|SHUFFLE|

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

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

  • Input: Входная строка для перемешивания.

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

  • Возвращает строку с перемешанным порядком строк или сообщение об ошибке.
Пример использования
Пример:
|DV|[Shuffled]=(|SHUFFLE||PARS|[9]|SHUFFLE|)

|HMAC|

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

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • algorithm: Алгоритм хеширования ('MD2', 'MD4', 'MD5', 'SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'SHA512/224', 'SHA512/256', 'RIPEMD128', 'RIPEMD160', 'TIGER', 'KECCAK224', 'KECCAK256', 'KECCAK288', 'KECCAK384', 'KECCAK512', 'SHA3-224', 'SHA3-256', 'SHA3-384', 'SHA3-512', 'GOST3411-2012-256', 'GOST3411-2012-512', 'BLAKE2B-256', 'BLAKE2B-512').
    • key: Ключ для HMAC.
    • message: Сообщение для HMAC.
    • outputFormat (опционально, по умолчанию 'hexa'): Формат выходных данных ('hexa', 'base64', 'plaintext').
    • hashSize (опционально для 'Tiger'): Размер хеша для Tiger (например, 16, 20, 24).
    • rounds (опционально для 'Tiger'): Количество раундов для Tiger.

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

  • Возвращает HMAC хеш или сообщение об ошибке.
Однострочный пример
Пример:
|DV|[Hmac]=(|HMAC|{"algorithm":"SHA256","key":"secret","message":"|PARS|[3]","outputFormat":"hexa"}|HMAC|)
Результат: 3f460143232a115e9a9e18c93bc859a62abd3f32a486cd1f74fb53445bc72855
При значении: |PARS|[3]|=|demo
Многострочный пример
Пример:
#beginScript
|DV|[Hmac]=(|HMAC|{
  "algorithm":"SHA256",
  "key":"secret",
  "message":"|PARS|[3]",
  "outputFormat":"hexa"
}|HMAC|)
#endScript
Результат: 3f460143232a115e9a9e18c93bc859a62abd3f32a486cd1f74fb53445bc72855
При значении: |PARS|[3]|=|demo

|ANSITOUTF8|

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

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

  • Input: Входная строка для преобразования в UTF-8.

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

  • Возвращает преобразованную строку в формате UTF-8.
Пример использования
Пример:
|DV|[Utf8]=(|ANSITOUTF8||PARS|[2]|ANSITOUTF8|)
Результат: Каталог товаров
При значении: |PARS|[2]|=|Êàòàëîã òîâàðîâ

|ADDCOOKIES|

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

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

  • Input: Строка, содержащая куки для добавления, разделенные переводами строк.

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

  • Возвращает строку подтверждения о успешном добавлении кук или сообщение об ошибке в случае некорректного формата.
Пример использования
Пример:
#beginScript
(|ADDCOOKIES|Cookie1=Value1
Cookie2=Value2|ADDCOOKIES|)
#endScript

|REPLACECOOKIES|

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

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

  • Input: Строка, содержащая куки для замены или добавления, разделенные переводами строк.

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

  • Возвращает строку подтверждения о успешной замене или добавлении кук или сообщение об ошибке в случае некорректного формата.
Пример использования
Пример:
#beginScript
(|REPLACECOOKIES|Cookie1=NewValue1
Cookie3=Value3|REPLACECOOKIES|)
#endScript

|DELETECOOKIES|

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

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

  • Input: Строка, содержащая имена кук для удаления, разделенные переводами строк.

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

  • Возвращает строку подтверждения о успешном удалении кук или сообщение об ошибке, если имя куки отсутствует.
Пример использования
Пример:
#beginScript
(|DELETECOOKIES|Cookie1
Cookie2|DELETECOOKIES|)
#endScript

|SETCOOKIES|

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

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

  • Input: Строка, содержащая куки для установки, разделенные переводами строк.

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

  • Возвращает строку подтверждения о успешной установке кук или сообщение об ошибке в случае некорректного формата.
Пример использования
Пример:
#beginScript
(|SETCOOKIES|Cookie1=Value1
Cookie2=Value2|SETCOOKIES|)
#endScript

|GENERATEUSERAGENT|

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

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

  • Генерация User-Agent для различных браузеров и их версий.
  • Поддержка множества операционных систем и их версий.
  • Автоматический выбор движка браузера, совместимого с выбранным браузером.
  • Поддержка различных типов устройств, включая десктопы, ноутбуки, планшеты, мобильные устройства, смарт-ТВ и игровые консоли.
  • Возможность исключения определённых браузеров, операционных систем или движков из выбора.
  • Использование шаблонов User-Agent для гибкой настройки формата строки.
  • Автоматическое определение модели устройства и её совместимости с операционной системой.
  • Поддержка дополнительных параметров, таких как версия Chrome для браузеров на основе Chromium.
  • Обработка исключений и предоставление подробных сообщений об ошибках с рекомендациями.
  • Конфигурационный файл с настройки генерации автоматически обновляется из сервера при запуске программы.

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

  • Input: Входная строка в формате JSON, содержащая следующие параметры:
    • browser (опционально): Название браузера. Возможные значения включают, но не ограничиваются:
      • "Chrome"
      • "Firefox"
      • "Safari"
      • "Edge"
      • "Opera"
      • "Internet Explorer"
      • "Samsung Internet"
      • "YaBrowser"
      • и другие поддерживаемые браузеры.
      По умолчанию: Если не указано, будет выбран случайный доступный браузер.
    • browser_version (опционально): Версия браузера (например, "92.0"). Если не указано, будет автоматически выбрана версия для указанного браузера.
    • os (опционально): Название операционной системы. Возможные значения:
      • "Windows"
      • "macOS"
      • "Linux"
      • "Android"
      • "iOS"
      • "Tizen"
      • и другие поддерживаемые ОС.
      По умолчанию: Если не указано, будет выбрана ОС, совместимая с выбранным браузером и типом устройства.
    • os_version (опционально): Версия операционной системы (например, "10.0", "11.2"). Если не указано, будет автоматически выбрана версия для указанной ОС.
    • engine (опционально): Движок браузера. Возможные значения:
      • "Blink"
      • "WebKit"
      • "Gecko"
      • "Trident"
      • "EdgeHTML"
      • и другие поддерживаемые движки.
      По умолчанию: Если не указано, будет выбран движок, совместимый с выбранным браузером.
    • engine_version (опционально): Версия движка браузера. Если не указано, будет автоматически установлена соответствующая версия.
    • user_agent_template (опционально): Шаблон строки User-Agent. Используются плейсхолдеры для замены значениями параметров (например, "{browser}", "{os}"). Если не указан, будет использован стандартный шаблон для выбранного браузера и ОС или общий шаблон по умолчанию.
    • device_type (опционально, по умолчанию dtUnknown): Тип устройства. Возможные значения:
      • dtUnknown: Неизвестный тип устройства.
      • dtDesktop: Десктоп.
      • dtLaptop: Ноутбук.
      • dtTablet: Планшет.
      • dtMobile: Мобильное устройство.
      • dtSmartTV: Смарт-ТВ.
      • dtConsole: Игровая консоль.
      По умолчанию: dtUnknown. Если не указано, тип устройства будет определён автоматически на основе выбранной ОС или браузера.
    • exclude_browsers (опционально): Массив браузеров, которые следует исключить из выбора. Пример: ["Internet Explorer", "Opera"].
    • exclude_os (опционально): Массив операционных систем, которые следует исключить из выбора. Пример: ["Windows", "Linux"].
    • exclude_engines (опционально): Массив движков, которые следует исключить из выбора.
    • device_model (опционально): Модель устройства (обычно для мобильных устройств). Если не указано, будет выбрана совместимая модель устройства.
    • chrome_version (опционально): Версия Chrome (используется для браузеров на базе Chromium, таких как Chrome, Edge, Opera). Если не указано, будет автоматически выбрана соответствующая версия.

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

  • Возвращает сгенерированную строку User-Agent, соответствующую заданным или автоматически подобранным параметрам.
  • В случае ошибки возвращает сообщение об ошибке с описанием проблемы и рекомендациями по её устранению.
Однострочный пример
Пример:
|DV|[UserAgent1]=(|GENERATEUSERAGENT|{}|GENERATEUSERAGENT|)
Описание:

Генерация случайного User-Agent.

Пример:
|DV|[UserAgent2]=(|GENERATEUSERAGENT|{"browser":"Chrome","os":"Windows","os_version":"10.0"}|GENERATEUSERAGENT|)
Описание:

Генерация User-Agent для Chrome на Windows 10.

Пример:
|DV|[UserAgent3]=(|GENERATEUSERAGENT|{"os":"Android","exclude_browsers":["Internet Explorer","Opera"]}|GENERATEUSERAGENT|)
Описание:

Генерация User-Agent для мобильного устройства на Android с исключением определённых браузеров.

Пример:
|DV|[UserAgent4]=(|GENERATEUSERAGENT|{"browser":"Chrome","user_agent_template":"Mozilla/5.0 ({platform}) AppleWebKit/{engine_version} (KHTML, like Gecko) {browser}/{browser_version} Safari/{engine_version}"}|GENERATEUSERAGENT|)
Описание:

Генерация User-Agent с использованием кастомного шаблона и рандомизацией некоторых параметров.

Многострочный пример
Пример:
#beginScript
|DV|[UserAgent1]=(|GENERATEUSERAGENT|{
}|GENERATEUSERAGENT|)
#endScript
Описание:

Генерация случайного User-Agent.

Пример:
#beginScript
|DV|[UserAgent2]=(|GENERATEUSERAGENT|{
  "browser":"Chrome",
  "os":"Windows",
  "os_version":"10.0"
}|GENERATEUSERAGENT|)
#endScript
Описание:

Генерация User-Agent для Chrome на Windows 10.

Пример:
#beginScript
|DV|[UserAgent3]=(|GENERATEUSERAGENT|{
  "os":"Android",
  "exclude_browsers":["Internet Explorer","Opera"]
}|GENERATEUSERAGENT|)
#endScript
Описание:

Генерация User-Agent для мобильного устройства на Android с исключением определённых браузеров.

Пример:
#beginScript
|DV|[UserAgent4]=(|GENERATEUSERAGENT|{
  "browser":"Chrome",
  "user_agent_template":"Mozilla/5.0 ({platform}) AppleWebKit/{engine_version} (KHTML, like Gecko) {browser}/{browser_version} Safari/{engine_version}"
}|GENERATEUSERAGENT|)
#endScript
Описание:

Генерация 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|


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