Объект в среде движка 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) Строковое представление даты.