Объект в среде движка QuickJS PK является интеграцией из среды Delphi (на чем написан Private Keeper) и не основывается на традиционной концепции класса. Это бесклассовый объект, имеющий набор методов. Он служит в качестве интерфейса между Delphi и JavaScript, предоставляя возможности для взаимодействия между двумя средами. Он используется в самом коде через переменную с именем PK.
Важно учитывать следующие особенности при работе с QuickJS:
globalThis. Это позволяет работать с модулями, которые в обычных условиях недоступны в глобальной области видимости.import и export, как это было бы в модульной системе ES6.require и встроенные модули NodeJS.Эти особенности нужно учитывать при интеграции и разработке скриптов для использования в среде Private Keeper с QuickJS.
JavaScript код в среде in-Line Kit - Studo
PK.md5(PK.login + PK.getPars(4));
login: stringОписание: Возвращает первое входное значение. (обычно логин)
Тип доступа: Только для чтения.
pwd: stringОписание: Возвращает второе входное значение. (обычно пароль)
Тип доступа: Только для чтения.
ip: stringОписание: IP-адрес.
Тип доступа: Только для чтения.
port: stringОписание: Порт подключения.
Тип доступа: Только для чтения.
proxyType: stringОписание: Тип прокси-сервера.
Тип доступа: Только для чтения.
proxy: stringОписание: Полная информация о прокси-сервере.
Тип доступа: Только для чтения.
proxyLogin: stringОписание: Логин прокси-сервера.
Тип доступа: Только для чтения.
proxyPassword: stringОписание: Пароль прокси-сервера.
Тип доступа: Только для чтения.
userAgent: stringОписание: User-Agent, используемый в запросе.
Тип доступа: Только для чтения.
response: stringОписание: Текст ответа сервера.
Тип доступа: Только для чтения.
headers: stringОписание: Заголовки ответа сервера.
Тип доступа: Только для чтения.
cookies: stringОписание: Cookies, полученные от сервера.
Тип доступа: Только для чтения.
conclusion: integerОписание: Заключение или итоговый результат.
Тип доступа: Чтение/Запись.
Возможные значения:
Хороший результат = 1;
Плохой результат = 0;
Ошибка = 2;
Требуется капча = 3;
Прочее = 99;
AGResult: stringОписание: Результат работы AG модуля.
Тип доступа: Только для чтения.
getPars(index)Описание: Получает значение парсера по указанному индексу.
Параметры:
index (Integer): Индекс парсера.
Возвращает: (String) Значение парсера.
Примечание: |PARS| - это переменная, представляющая обычный парсер. Необходимо указывать индекс для получения соответствующего значения.
setPars(index, value)Описание: Устанавливает значение для парсера по указанному индексу.
Параметры:
index (Integer): Индекс парсера.
value (String): Значение для установки.
Возвращает: Ничего.
Примечание: |PARS| - это переменная, представляющая обычный парсер. Индекс используется для определения конкретного парсера, которому будет присвоено значение.
getRegex(index)Описание: Получает значение парсера по регулярному выражению по указанному индексу.
Параметры:
index (Integer): Индекс парсера.
Возвращает: (String) Значение парсера.
Примечание: |REGEX| - это переменная, представляющая парсер, работающий с регулярными выражениями. Необходимо указывать индекс для получения соответствующего значения.
setRegex(index, value)Описание: Устанавливает значение для парсера по регулярному выражению по указанному индексу.
Параметры:
index (Integer): Индекс парсера.
value (String): Значение для установки.
Возвращает: Ничего.
Примечание: |REGEX| - это переменная, представляющая парсер, работающий с регулярными выражениями. Индекс используется для определения конкретного парсера, которому будет присвоено значение.
getinputValue(Index)Описание: Получает входное значение по индексу.
Параметры:
index (Integer): Индекс входного значения.
Возвращает: (String) Входное значение.
getDV(name)Описание: Получает значение динамической переменной.
Параметры:
name (String): Имя переменной.
Возвращает: (String) Значение переменной.
setDV(name, value)Описание: Устанавливает значение динамической переменной.
Параметры:
name (String): Имя переменной.
value (String): Значение для установки.
Возвращает: Ничего.
getDS(name)Описание: Получает содержимое динамической настройки.
Параметры:
name (String): Имя настройки.
Возвращает: (String) Содержимое настройки.
setDS(name, value)Описание: Устанавливает содержимое динамической настройки.
Параметры:
name (String): Имя настройки.
value (String): Новое содержимое настройки.
Возвращает: Ничего.
enterCriticalSectionОписание: Входит в критическую секцию.
Возвращает: Ничего.
leaveCriticalSectionОписание: Выходит из критической секции.
Возвращает: Ничего.
getValueByKey(input)Описание: Извлекает значение по ключу из многострочного текста.
Параметры:
input (String): Входная строка формата: “Многострочный текст|KEYNAME|Ключ”, где:
Первая часть (до |KEYNAME|) содержит многострочный текст формата “ключ: значение”.
Вторая часть (после |KEYNAME|) содержит ключ, по которому нужно найти значение.
Возвращает: (String) Значение, соответствующее ключу в многострочном тексте. Если ключ не найден, возвращает сообщение “Key not found: Ключ”.
Исключения: Выбрасывает исключение, если входная строка имеет некорректный формат (не содержит |KEYNAME|).
random(alphabet, len, len2)Описание: Генерирует случайную строку.
Параметры:
alphabet (String): Алфавит для генерации.
len (Integer): Минимальная длина строки.
len2 (Integer): Максимальная длина строки.
Возвращает: (String) Случайная строка.
lower(input)Описание: Преобразует строку в нижний регистр.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка в нижнем регистре.
upper(input)Описание: Преобразует строку в верхний регистр.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка в верхнем регистре.
fupper(input)Описание: Преобразует первый символ строки в верхний регистр.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка с первым символом в верхнем регистре.
removenum(input)Описание: Удаляет все цифры из строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка без цифр.
urlEncode(input)Описание: Кодирует строку для использования в URL.
Параметры:
input (String): Входная строка.
Возвращает: (String) URL-кодированная строка.
urlDecode(input)Описание: Декодирует URL-кодированную строку.
Параметры:
input (String): URL-кодированная строка.
Возвращает: (String) Декодированная строка.
fdspace(input)Описание: Удаляет пробелы в начале строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка без пробелов в начале.
edspace(input)Описание: Удаляет пробелы в конце строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка без пробелов в конце.
script(input)Описание: Выполняет скриптовый код.
Параметры:
input (String): Скрипт для выполнения.
Возвращает: (String) Результат выполнения скрипта.
demptystr(input)Описание: Удаляет пустые строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка без пустых строк.
dupDel(input)Описание: Удаляет дубликаты строк.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка без дубликатов.
getLine(input, line)Описание: Получает строку по номеру строки.
Параметры:
input (String): Входная строка.
line (Integer): Номер строки.
Возвращает: (String) Запрошенная строка.
getChar(input, index)Описание: Получает символ по индексу.
Параметры:
input (String): Входная строка.
index (Integer): Индекс символа.
Возвращает: (String) Символ по заданному индексу.
getCount(input)Описание: Возвращает количество элементов в строке.
Параметры:
input (String): Входная строка.
Возвращает: (String) Количество элементов.
length(input)Описание: Возвращает длину входной строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) Длина строки.
regexGlue(input)Описание: Склеивает данные из |REGEX| по индексам с добавлением разделителя.
Параметры:
input (String): Входная строка в формате JSON. Пример: |REGEXGLUE|[1, | ,2, \ ,3]. Итоговое значение: ко всем значениям в |REGEX|[1], |REGEX|[2] и |REGEX|[3] будет добавлен указанный разделитель.
Возвращает: (String) Итоговое значение.
simpleGlue(input)Описание: Склеивает данные из |REGEX| по индексу и значения.
Параметры:
input (String): Входная строка в формате JSON. Пример: |SIMPLEGLUE|[1, - Значение]. Итоговое значение: ко всем значениям в |REGEX|[1] будет добавлено " - Значение".
Возвращает: (String) Итоговое значение.
escJSON(input)Описание: Экранирует JSON значение.
Параметры:
input (String): Входная строка.
Возвращает: (String) Экранированное значение.
Исключения: Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если отсутствуют обязательные параметры.
simplePars(from, _to, _in, index = 1)Описание: Простой парсер строк.
Параметры:
from (String): Начальная строка для поиска.
_to (String): Конечная строка для поиска.
_in (String): Входная строка для анализа.
index (Integer, optional): Индекс для поиска, по умолчанию 1.
Возвращает: (String) Результат парсинга.
regexPars(input, group, expression)Описание: Парсинг строки с использованием регулярных выражений.
Параметры:
input (String): Входная строка.
group (Integer): Группа для возврата.
expression (String): Регулярное выражение.
Возвращает: (String) Результат парсинга.
replaceStr(from, _to, _in)Описание: Заменяет часть строки.
Параметры:
from (String): Часть строки для замены.
_to (String): Новая часть строки.
_in (String): Исходная строка.
Возвращает: (String) Измененная строка.
regexReplace(expr, _to, _in)Описание: Заменяет части строки на основе регулярного выражения.
Параметры:
expr (String): Регулярное выражение.
_to (String): Строка замены.
_in (String): Исходная строка.
Возвращает: (String) Измененная строка.
deleteProxy()Описание: Удаляет текущий прокси.
Возвращает: Ничего.
freezeProxy(input)Описание: Замораживает текущий прокси на указанное время в секундах.
Параметры:
input (Integer): Время в секундах.
Возвращает: Ничего.
nextProxy()Описание: Переключает на следующий прокси.
Возвращает: (String) Информация о следующем прокси.
setProxy(proxy, _type)Описание: Устанавливает новый прокси.
Параметры:
proxy (String): Адрес прокси.
_type (String): Тип прокси.
Возвращает: Ничего.
md5(input)Описание: Вычисляет MD5-хеш строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) MD5-хеш.
base64(input)Описание: Кодирует строку в формат Base64.
Параметры:
input (String): Входная строка.
Возвращает: (String) Строка в формате Base64.
sha1(input)Описание: Вычисляет SHA1-хеш строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) SHA1-хеш.
sha256(input)Описание: Вычисляет SHA256-хеш строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) SHA256-хеш.
sha512(input)Описание: Вычисляет SHA512-хеш строки.
Параметры:
input (String): Входная строка.
Возвращает: (String) SHA512-хеш.
fileToBase64(input)Описание: Конвертирует файл в строку Base64.
Параметры:
input (String): Путь к файлу.
Возвращает: (String) Строка файла в формате Base64.
generatePBKDF2Key(input)Описание смотрите в документации inLine-Kit.
generateScryptKey(input)Описание смотрите в документации inLine-Kit.
decodeBase64(input)Описание: Декодирует строку в формате Base64.
Параметры:
input (String): Входная строка в формате Base64.
Возвращает: (String) Декодированная строка.
SHA3Hash(input)Описание смотрите в документации inLine-Kit.
SHA2Hash(input)Описание смотрите в документации inLine-Kit.
bcryptHash(input)Описание: Вычисляет хеш с использованием Bcrypt.
Параметры:
input (String): Входная строка.
Возвращает: (String) Хеш Bcrypt.
AESEncrypt(input)Описание смотрите в документации inLine-Kit.
AESDecrypt(input)Описание смотрите в документации inLine-Kit.
RSAEncrypt(input)Описание смотрите в документации inLine-Kit.
RSADecrypt(input)Описание смотрите в документации inLine-Kit.
randomBytes(input)Описание: Генерирует массив случайных байтов указанной длины.
Параметры:
input (String): Входная строка, представляющая длину массива случайных байтов. Пример входной строки: "16" для генерации массива из 16 случайных байтов.
Возвращает: (String) Строка, представляющая массив случайных байтов в формате JSON.
Исключения: Выбрасывает исключение, если входная строка не может быть преобразована в целое число.
stringToByteArray(input)Описание: Преобразует строку в массив байтов и возвращает его в формате JSON.
Параметры:
input (String): Входная строка, которую необходимо преобразовать в массив байтов.
Возвращает: (String) Строка в формате JSON, представляющая массив байтов. Пример результата: [104, 101, 108, 108, 111], что соответствует строке “hello” в UTF-8.
Исключения: Выбрасывает исключение, если входная строка не может быть обработана.
byteArrayToString(input)Описание: Преобразует массив байтов, представленный в формате JSON, в строку с использованием кодировки UTF-8.
Параметры:
input (String): Входная строка в формате JSON, представляющая массив байтов. Пример входной строки: [104, 101, 108, 108, 111], что соответствует строке “hello” в UTF-8.
Возвращает: (String) Строка, полученная из массива байтов.
Исключения: Выбрасывает исключение, если входная строка имеет некорректный формат JSON или если элементы массива не являются числами.
AESGCMEncrypt(input)Описание смотрите в документации inLine-Kit.
AESGCMDecrypt(input)Описание смотрите в документации inLine-Kit.
hextobase64(input)Описание: Преобразует шестнадцатеричную строку в строку в формате Base64. Если длина строки нечетная или данные не могут быть преобразованы, возвращает сообщение об ошибке.
Параметры:
input (String): Шестнадцатеричная строка для преобразования в Base64.
Возвращает: Строку в формате Base64 или сообщение об ошибке.
base64ToHex(input)Описание: Преобразует строку в формате Base64 в шестнадцатеричную строку. В случае ошибки при декодировании возвращает сообщение об ошибке.
Параметры:
input (String): Строка в формате Base64 для преобразования в шестнадцатеричную строку.
Возвращает: Шестнадцатеричную строку или сообщение об ошибке.
blake2bEncode(input)Описание: Вычисляет Blake2b хеш строки.
Параметры:
input (String) (обязательный): Входная строка для вычисления Blake2b хеша.Возвращает: (String) Blake2b хеш в шестнадцатеричном формате или сообщение об ошибке.
Исключения:
whirlpoolEncode(input)Описание: Вычисляет Whirlpool хеш строки.
Параметры:
input (String) (обязательный): Входная строка для вычисления Whirlpool хеша.Возвращает: (String) Whirlpool хеш в шестнадцатеричном формате или сообщение об ошибке.
Исключения:
XXHashEncode(input)Описание: Вычисляет XXHash хеш строки.
Параметры:
input (String) (обязательный): Входная строка для вычисления XXHash хеша.Возвращает: (String) XXHash хеш в шестнадцатеричном формате или сообщение об ошибке.
Исключения:
keccak256Hash(input)Описание: Вычисляет Keccak-256 хеш строки.
Параметры:
input (String) (обязательный): Входная строка для вычисления Keccak-256 хеша.Возвращает: (String) Keccak-256 хеш в шестнадцатеричном формате или сообщение об ошибке.
Исключения:
blake3Encode(input)Описание смотрите в документации inLine-Kit.
ZLibCompress(input)Описание: Сжимает строку с использованием ZLib.
Параметры:
input (String) (обязательный): Входная строка для сжатия.Возвращает: (String) Сжатую строку в формате Base64 или сообщение об ошибке.
Исключения:
ZLibDecompress(input)Описание: Декомпрессирует строку, сжатую с использованием ZLib.
Параметры:
input (String) (обязательный): Входная строка в формате Base64 для декомпрессии.Возвращает: (String) Декомпрессированную строку или сообщение об ошибке.
Исключения:
GZIPCompress(input)Описание: Сжимает строку с использованием GZIP.
Параметры:
input (String) (обязательный): Входная строка для сжатия.Возвращает: (String) Сжатую строку в формате Base64 или сообщение об ошибке.
Исключения:
GZIPDecompress(input)Описание: Декомпрессирует строку, сжатую с использованием GZIP.
Параметры:
input (String) (обязательный): Входная строка в формате Base64 для декомпрессии.Возвращает: (String) Декомпрессированную строку или сообщение об ошибке.
Исключения:
baseEncodeDecode(input)Описание смотрите в документации inLine-Kit.
argon2Hash(input)Описание смотрите в документации inLine-Kit.
salsa20Encrypt(input)Описание смотрите в документации inLine-Kit.
chacha20Encrypt(input)Описание смотрите в документации inLine-Kit.
blowfishEncrypt(input)Описание смотрите в документации inLine-Kit.
blowfishDecrypt(input)Описание смотрите в документации inLine-Kit.
shuffle(input)Описание: Перемешивает строки из входных данных случайным образом.
Параметры:
input (String) (обязательный): Входная строка для перемешивания.Возвращает: (String) Перемешанные строки или сообщение об ошибке.
Исключения:
protoBuf(input)Описание смотрите в документации inLine-Kit.
addCookies(input)Описание: Добавляет новые куки к текущему набору куки.
Параметры:
input (String) (обязательный): Входная строка, содержащая информацию о куки для добавления.Возвращает: (String) Обновленный набор куки или сообщение об ошибке.
Исключения:
replaceCookies(input)Описание: Заменяет существующие куки новыми значениями.
Параметры:
input (String) (обязательный): Входная строка, содержащая информацию о куки для замены.Возвращает: (String) Обновленный набор куки или сообщение об ошибке.
Исключения:
deleteCookies(input)Описание: Удаляет указанные куки из текущего набора.
Параметры:
input (String) (обязательный): Входная строка, содержащая информацию о куки для удаления.Возвращает: (String) Обновленный набор куки без удаленных значений или сообщение об ошибке.
Исключения:
setCookies(input)Описание: Устанавливает куки с заданными значениями.
Параметры:
input (String) (обязательный): Входная строка, содержащая информацию о куки для установки.Возвращает: (String) Обновленный набор куки или сообщение об ошибке.
Исключения:
generateUserAgent(input)Описание смотрите в документации inLine-Kit.
math(input)Описание: Выполняет математические операции.
Параметры:
input (String): Входная строка с математическим выражением.
Возвращает: (String) Результат математических
dll(name, func, params)Описание: Вызывает функцию из DLL.
Параметры:
name (String): Имя DLL.
func (String): Имя функции.
params (…Strings): Параметры для функции.
Возвращает: (String) Результат выполнения функции.
savefile(input)Описание: Сохраняет данные в файл относительно пути созданной сессии с возможностью перезаписи, добавления к существующему файлу или сохранения с инкрементированным именем. Поддерживает сохранение текстовых и бинарных данных (Base64). В случае ошибок возвращает сообщение об ошибке.
Параметры:
input (String): Имя файла, включая путь (если необходимо) и команды, разделённые символом |:
Возвращает: Сообщение об успешном сохранении или об ошибке.
sleep(time)Описание: Останавливает выполнение на указанное время.
Параметры:
time (Integer): Время в миллисекундах.
Возвращает: Ничего.
addID(ID)Описание: Добавляет ID.
Параметры:
ID (String): Идентификатор для добавления.
Возвращает: Ничего.
delID(ID)Описание: Удаляет ID.
Параметры:
ID (String): Идентификатор для удаления.
Возвращает: Ничего.
unixToDate(input, dateType = 'dd/mm/yy')Описание: Конвертирует время Unix в дату.
Параметры:
input (String): Время Unix.
dateType (String, optional): Формат даты, по умолчанию ‘dd/mm/yy’.
Возвращает: (String) Строковое представление даты.