Hiizap桌面SDK 1.3.0
SDK proprietário para Node.js >=22 e processso principal do Electron com esse runtime。验证license <s:1> as na API HTTPS Hiizap、verifica certificados Ed25519、mantamacm toleracncia offline assinada e baixa atualizações com tamanho、SHA-256 e manifesto Ed25519 verificados。n<e:1>执行nem安装binários。
安装<s:1> <s:1> <s:1> <s:1>或其他
Instale com npm install --save-exact @hiizap/[email protected]。Documentacao: https://doc.hiizap.com。莱亚 KEYRING-MIGRATION.md Para o contrto de assinatura, examples, errors和transaparte de assinantes。包包括JavaScript CommonJS, declarações TypeScript等 公开场合 做servidor;重要的是 require quanto com import.
import { HiizapDesktopSDK, HiizapSDKError } from '@hiizap/desktop-sdk';
import path from 'node:path';
// No Electron: use app.getPath('userData') em uma pasta exclusiva deste aplicativo.
const sdk = new HiizapDesktopSDK({
productSlug: 'meu-produto',
currentVersion: '1.0.0',
platform: 'windows-x64',
cacheFilePath: path.join(diretorioPrivadoDoAplicativo, 'hiizap', 'license.cache'),
});
try {
const { source, certificate } = await sdk.validateLicense(chaveInformadaPeloComprador);
if (!certificate.valid) {
bloquearRecursosLicenciados(certificate.error);
} else {
habilitarRecursosLicenciados({ offline: source === 'offline' });
if (source === 'online' && certificate.update_available) {
mostrarTextoDaAtualizacao(certificate.changelog_html ?? '');
// Após consentimento no aplicativo, escolha um caminho novo absoluto.
const arquivo = await sdk.downloadUpdate(certificate, caminhoNovoDoInstalador);
// Aplicativo decide instalação, assinatura nativa e elevação quando necessárias.
}
}
} catch (error) {
bloquearRecursosLicenciados(error instanceof HiizapSDKError ? error.code : 'SDK_ERROR');
}
作为funções接口,没有应用集成的范例。大多数更改日志都是文本;* * * * * * * * * * * * * * * * * * *不需要获取许可证、证书和url来下载日志/遥测数据。保护许可证,但不保护系统;对高速公路高速公路的高速公路进行了精确的分析。ququer excer<e:1>用于开发块访问。有效期:1)有效期:1)有效期:1)有效期:2)有效期:Uma chamada n<e:1> o protege Uma sess<e:1> o indefinite。
Contrato
validateLicense(key): Promise<ValidationResult>下放{ source, certificate }.certificate.valid === false我的消极的阿辛纳达。论述lancamHiizapSDKErrorCom código sem credcredais。downloadUpdate(certificate, absoluteDestination): Promise<string>Aceita附录o último certificado online retornado portesesta instanca。Baixa em流媒体.partial, conf manifesto/ platform /tamanho/hash e publica por硬链接atômico sem sobrescrever。O diretório deve存在,用户私有,允许硬链接,没有文件系统。FAT,比较您的políticas que proíbem链接podem falhar.comDOWNLOAD_FAILED。Uma falha exige nova valida<s:1> o para out URL de uso único。verifyUpdateBinary(absolutePath, certificate): Promise<boolean>Verifica um arquivo contra manifesto assinado似乎不太关注arquivo na memória。Comprova集成/自动发布,不验证实际数据许可<e:1>。getHardwareId(): stringexpõe某些SHA-256做的标识,请查看英勇的原件。
O构造器位置 (slug, version, platform, cachePath) 连续disponivel。O rereno de valida<s:1> O agora involved certificate; verifyUpdateBinary Agora <e:1> assíncrono我们收到了一份完整的证书。2、胸膜前切面术1、胸膜前切面术。缓存和HWIDs前n<s:1> o s<s:1> o migrados: exige primeira valida<s:1> <s:1> o online após atualiza<s:1> <s:1> o desse esboo。
雷德,快来确认一下
API padrao: https://api.hiizap.com/v1/client。TLS永久验证节点;重定向;User-Agent explícito evita a incompatibilidade observada com客户端genacrios na Cloudflare。JSON限制一个64kib,验证<s:1> <s:1> <s:1> 15秒,下载5分钟e tamanho máximo 1gib。 requestTimeoutMs, downloadTimeoutMs e maxDownloadBytes 允许限制阳性explícitos。Sem retry automático ou fallback em HTTP,包括429/5xx。
有些错误transitórias reconhecidas de conex<e:1> o/DNS/timeout permit缓存。产品生产证书、数据许可证、处置证;Prazo离线assinado nunca(延期)。消炎药替代autorizações消炎药。脱机移除baixar电容。AES-256-GCM usa IV aleatório我们有衍生数据许可,256位,产品配置。Escrita atômica, fsync e modo0600;pasta nova0700 em Unix。 使用uma única instcia /processo por caminho;Concorrência entre processsos exige coordinate a - <s:1> o pelo integrator。
Windows咨询machineguid.com reg.exe sem shell e prazo de5s;Linux usa machine-id;macOS usa IOPlatformUUID通过ioreg sem管道外壳。1 .重新安装a / s / s / s / s / s / s / s / s / s / s / s / s / s / s / s / s / s / s / s / s / s / s。网址:indisponíveis, falha com HARDWARE_ID_UNAVAILABLE, sem inventar ID volátil。 hardwareIdProvider 允许适配器confiável renando64个字符十六进制minúsculos。不允许查询conteúdo remoto escolha ID/opções。
apiUrl, publicKeyPem, fetch e now 服务para out部署/adaptadores confiáveis/testes。apiUrl exige HTTPS协议Nova have pública exige distribui<s:1> <s:1> <e:1> o confiável de Nova vers<e:1> o;a API n<e:1> (0) pod(1)以前有一个para aceitar sua (própria assinatura)。
Desenvolvimento
npm ci --ignore-scripts
npm test
npm audit
npm pack
Windows和Linux都测试本机的内存条。macOS要求执行<s:1> em硬件macOS。n<e:1> / / / / / / / / / / / / / / / / / / / / / / /一个集成的<s:1>系统安装程序<e:1>可以显示应用程序测试próprios。Consulte安全。md e https://doc.hiizap.com/guias/testes/ Para limits e critrios de validationo。
标识符tsamicnico do productcontrato v1
productSlug/product_slug <e:1> uma string ASCII字符1 ~ 80个字符:字母a - z, números e段分隔符或空格único hífen。示例válidos: a、0、01、meu- product。* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。n<e:1> o htrim,转换<e:1> o de número参数字符串,别名ou troca automática de identidade。复制一个标识为必要的pelo responsável pelo产品;你做什么广告?你做什么广告?
version1.0.1提供了一个divergência . com API。Identidades válidas existentes mantêm vínculos, opções/cache e assinatura。配置参数:INVALID_OPTIONS不支持桌面,HIIZAP_INVALID_CONFIG不支持PHP。请注意,如果您有数据许可<s:1>,则有数据许可pública,否则您将无法生产潜在的试探性错误。
在WordPress中,产品类型包含一个mesma类v1开发协调器和一个实现协调器:一个初始的cópia协调器和一个实现协调器。misurar 1.0.0 e 1.0.1 pode manter a regra antiga naquela requisisp;从缓存的命名空间中移除类的保护。
Diagnóstico de atualiza<s:1> o independente - contrto v1
一个API接口报告器在certificado assinado com valid=true, update_available=false . update_error可以进行查询,链接到os metadados de atualiza<s:1> o n<e:1> o estiverem disponíveis。Os códigos s<e:1> o UPDATE_METADATA_TOO_LARGE, UPDATE_METADATA_INVALID, UPDATE_LOOKUP_FAILED e UPDATE_LINK_UNAVAILABLE。Esse campo <e:1> diagnóstico;a autoriza<s:1>持续依赖于当前的有效组件,如verificações do SDK。Sem atualiza<s:1> <s:1> o disponível n<e:1> o h<e:1> URL autorizada para baixar。
O信封HTTP连续限制为65.536字节。Nao aumente o teto对位contornar地以貌取人extensas e Nao decodifique o载荷对位autorizar sem assinatura。0后端验证或<s:1>修改数据公共<s:1> <s:1> <s:1>; 0后端验证或<s:1>修改数据公共<s:1>;Falha da validatal<s:1>或da licenlicence <s:1>或de assinatura continua bloqueante。Esta corre(F03)。
autoriza
一份文献资料验证文件,包括信封原件、复印件、已确认的有效数据许可文件。存款衍生品和存款更新。Um manifesto incompatível repna license <e:1> válida, update_available=false e update_error, sem URL ou campos de installa<e:1> <e:1> o。Diagnósticos locais s<e:1> o decisões da biblioteca sobre o envelope verificado, n<e:1> o novos campos assinados pelo servidor。 O缓存持续保管人对信封的原始邮件重复发送,如verificações;当你重新利用一个对象时,衍生出一个对象criptográfica。
Falha de assinatura do envelope, vínculo incorreto, revoga。附件错误数据虚拟化,存储数据许可,验证数据,安装数据自动化。没有下载n<e:1>或自动安装,包不完整;保留现有数据与<s:1>实际信息错误;
UPDATE_SIZE_LIMIT, UPDATE_PLATFORM_UNSUPPORTED, UPDATE_VERSION_INELIGIBLE, UPDATE_REQUIREMENTS_UNSUPPORTED和UPDATE_MANIFEST_REJECTED区分一个原因。Requisitos legados min_runtime_version n<e:1>不支持任何对构造的支持。Essa保留了<s:1> o <e:1> exclusiva do campo legado;o contrto estructurado usa schema 1 e manifesto V2。非人类的mudanadarada de identideade, cache, licensing。
Versões - hiizap.semver.v1
使用veraliz..org真实安装,canônica e sem normaliz.a.<s:1> o: MAJOR.MINOR。PATCH, pr<s:1> - lan- amento - build opcionis。0协议限制文本为30个字符的ASCII码:ada número do core a 9007199254740991。Identificadores numericos de pre-lancamento圣comparados digitos, sem conversao对位浮动;不,不,不,不,不,不。构建节点节点0初始值(例如:n<e:1>)。
1.0.0-alpha。1 <s:2> válido;1.0.0-01, v1.0.0, espapartos, intervalos和identificadores vazios s<e:1> o inválidos。不移除/构建/前缀你的troque与沉默的沉默:一个assinatura做宣言的文字流和字符串exata publicada。Uma vers<s:1> o inválida na configura<s:1> o o <e:1> recusada;Uma veritas <e:1> o inválida de update n<e:1> o autorizizinstallationa<s:1> o e preserva Uma license <e:1> que tenha passado na valida<s:1> <e:1> o independente。由于cópias embutidas PHP精确的服务器坐标:一个初始类v1 carregada mantsamm和一个实现的apache apache。
compatible de atualiza<s:1> -模式1
一个biblioteca声明compatibility_version=1,一个informa ambiente estructurado:运行时,一个arch。一个字符串rununtime_version continua diagnóstico, n<e:1> o regra。节点/电子vêm do processso confiável;PHP/WordPress vêm das api native。WordPress estável X.Y病毒X.Y.0附录和信息<s:1>运行时;Isso n (o归一化)和(o)乘积。环境不受约束:不受约束;不受约束;不受约束。
释放限制usam RELEASE_V2 e SHA-256的uma tuplcanônica de requiistos;一个assinatura liga product, verso, platform, hash/tamanho do arquivo digest de required。拆卸工具需要您的mudar和política,以防止安装过程中出现异常情况。O SDK提供política本地化版本,无需下载。一个许可<s:1>有效性和独立性,永久的bloqueante se inválida。
最近发布了一个API escola (estável compatível),可能会导致一个新的API的出现。客户对附件的要求似乎是对结构的要求;Requisitos legados min_runtime_version continuam retidos sem interpreta ?下载compados têm autoridade商业版própria: esta política desve OTA pelo SDK, n<e:1> o compadas qualquer ambiente onde和compados安装手册。
1 .环境信息系统<s:1> <s:1>数据<s:1> <s:1> <s:1> <s:1> <s:1> <s:1> <s:1> <s:1> <s:1>硬件<s:1> <s:1> <s:1> <e:1>。管理员您的进程折衷节点与客户端不同。O适配器环境提供程序做桌面<e:1>独家做主机confiável/testes;Nunca o alimente com parmetros de renderer, navigador ou usuário。SO/arquiteturas表示没有合同,没有重要的执行<e:1>,没有真正的有效性,没有真正的价值。请求声明:不需要替换testes do binário e do installer。
谈判a - <s:1> <s:1> o - de - fiana em1.2
作为调解人,声明为raízes地点的一方;0 .服务保存0 . assinante compatível para versões前。Consulte KEYRING-MIGRATION。Md antes de remover conanada, trocar / percar / percar / percar / percar / concar / concar / concar / concar / concar / concar / concar / concar / concarNenhuma有privada <s:1> distribuída pelo SDK。
记录desde1.3
Códigos teriores preservados;分类,状态HTTP请求ID sanititizado disponíveis无错误。莱亚 DIAGNOSTICS.md 这是意大利面的例子。Sem retry novo ou mudana na política de autoriza<e:1> o。