npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@gustavodias/diax-shield

v0.1.0-alpha

Published

Biblioteca de proteção e licenciamento para projetos Node.js

Readme

🛡️ DIAX Shield

Uma biblioteca modular em TypeScript/JavaScript no estilo NestJS focada em proteção de código, licenciamento, criptografia de dados, detecção de depuradores (anti-debug), máquinas virtuais (anti-vm) e monitoramento de integridade (anti-tamper) para aplicativos Node.js.


🚀 Instalação

Como a biblioteca é empacotada localmente ou publicada no npm, você pode instalá-la em seus projetos usando:

npm install @gustavodias/diax-shield

E para instalar o utilitário CLI globalmente:

npm install -g @gustavodias/diax-shield

⚙️ Arquitetura do Kernel

O DIAX Shield funciona com base em um Kernel centralizado que inicializa e gerencia módulos de forma desacoplada:

import Shield, { BaseProvider } from "@gustavodias/diax-shield";

// Instancia o Shield com as flags de proteção desejadas
const shield = new Shield({
  licenseKey: "CHAVE_BASE64_ASSINADA_RSA",
  policy: "balanced",        // strict, balanced ou development
  antiDebug: true,          // Detecção de Debugger / Inspector
  antiTamper: true,         // Validação de hash de arquivos do projeto
  antiVM: true,             // Detecção de Máquina Virtual (VirtualBox, VMware, etc.)
  antiHook: true,           // Evita que alterem funções do node (monkey-patch)
  watchdog: true,           // Detector invisível de breakpoints/congelamento
  secureStorage: true,      // Banco de dados chave-valor encriptado travado ao HWID
});

// Inicializa a blindagem
await shield.start();

🔑 Funcionalidades Principais

1. Banco Criptografado (Secure Storage)

Grave dados sensíveis localmente sem se preocupar. A biblioteca criptografa os dados com AES-256-GCM usando uma chave derivada da assinatura de hardware (HWID) da máquina, garantindo que o arquivo não possa ser lido se for copiado para outro computador. Além disso, a integridade é assegurada via HMAC.

// Salvar valor
shield.storage.set("db_password", "senha_secreta_123");

// Ler valor
const pass = shield.storage.get("db_password"); // "senha_secreta_123"

2. Memória Ofuscada (Hidden Values)

Proteja variáveis críticas na memória heap do processo (ex: contagem de créditos, tokens de API) contra varreduras de ferramentas como Cheat Engine. O valor é encriptado em memória e a chave muda a cada modificação.

import { HiddenValue } from "diax-shield";

// Declara a variável protegida
const userCoins = new HiddenValue(1000);

// Faz contas sem expor o valor permanentemente na RAM
userCoins.updateNumber((current) => current + 150);

console.log(userCoins.get()); // 1150

3. Escuta de Eventos Elegante

O Shield emite eventos tipados quando qualquer incidente de segurança ou licenciamento ocorre, permitindo que seu app reaja de forma personalizada.

shield.on("tamper", (detail) => {
  console.log(`⚠️ Arquivo modificado ou adulterado: ${detail.message}`);
});

shield.on("debugger", (detail) => {
  console.log(`🚨 Depurador anexado detectado: ${detail.message}`);
});

shield.on("hookDetected", (detail) => {
  console.log(`🚫 Tentativa de interceptar a função ${detail.method}`);
});

4. Diagnóstico Completo (Exportação)

Gere um relatório compactado contendo logs criptografados de auditoria, HWID, versão do sistema, status de saúde de cada módulo e testes de latência (benchmark para detectar lentidão causada por breakpoints).

// Exporta para 'shield-report.zip' no diretório raiz do projeto
const zipPath = await shield.diagnostics.export();
console.log(`Relatório de suporte gerado em: ${zipPath}`);

5. Sistema de Provedores (Providers)

Integre facilmente com frameworks e ambientes específicos:

import { ExpressProvider } from "@gustavodias/diax-shield/dist/providers/express";

const expressProvider = new ExpressProvider();
shield.use(expressProvider);

// Use o middleware de proteção do Shield no Express
app.use(expressProvider.getMiddleware());

🛠️ CLI do Shield (Linha de Comando)

Após instalar a biblioteca globalmente, você ganha acesso ao comando shield:

  • shield init: Cria um arquivo de configuração modelo (shield.config.json) na raiz do seu projeto.
  • shield fingerprint: Mostra a assinatura digital única (HWID) do computador atual.
  • shield generate-license: Cria uma licença RSA válida.
    • Exemplo: shield generate-license --client "Empresa ABC" --hwid "HASH_DE_HARDWARE" --expires "2027-12-31"
  • shield doctor: Executa testes rápidos nas dependências e verifica se o Shield está pronto para blindar seu projeto.