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

n8n-nodes-virustotal

v0.1.1

Published

Nodo de n8n para la API publica (v3) de VirusTotal: reportes de archivos, URLs, dominios e IPs, escaneos, comentarios y votos.

Readme

n8n-nodes-virustotal

Community node de n8n para la API pública v3 de VirusTotal. Cubre reputación y análisis de archivos, URLs, dominios e IPs, además de comentarios y votos. No incluye endpoints de VT Enterprise, VT Graph, Feeds ni Private Scanning (requieren licencia Premium).

Instalación

Opción A — Community Nodes (interfaz de n8n)

  1. Ve a Settings → Community Nodes → Install.
  2. Instala n8n-nodes-virustotal (si lo publicas en npm) o instala desde un archivo .tgz local.

Opción B — n8n self-hosted (npm)

cd ~/.n8n/nodes   # o la carpeta de nodos custom que uses
npm install n8n-nodes-virustotal

Opción C — Desarrollo local (este paquete)

npm install
npm run build
npm link
# en la carpeta de instalación de n8n:
npm link n8n-nodes-virustotal

Reinicia n8n tras instalar.

Credenciales

Crea una credencial VirusTotal API con tu API key personal (la encuentras en tu perfil de virustotal.com → "API Key"). Se envía como cabecera x-apikey.

Límites de la Public API: 4 solicitudes/minuto y 500/día. El nodo incluye una opción Rate Limiting (activada por defecto) que espera automáticamente entre solicitudes cuando el nodo procesa varios items, y reintenta con backoff si VirusTotal responde 429.

Recursos y operaciones

| Recurso | Operaciones | |---|---| | File | Get Report, Scan (Upload), Rescan, Get Comments, Add Comment, Add Vote | | URL | Get Report, Scan, Rescan, Get Comments, Add Comment, Add Vote | | Domain | Get Report, Rescan, Get Comments, Add Comment, Add Vote | | IP Address | Get Report, Rescan, Get Comments, Add Comment, Add Vote | | Analysis | Get (consulta el estado/resultado de un análisis por ID, devuelto por Scan/Rescan) |

Notas:

  • File → Scan sube el archivo desde una propiedad binaria del item de entrada (por defecto data). Límite de 32 MB en la Public API.
  • URL → Report y las operaciones de comentarios/votos de URL calculan automáticamente el ID que exige VirusTotal (base64 url-safe sin padding) a partir del campo "URL" que ingreses.
  • Las operaciones Scan y Rescan son asíncronas: la respuesta trae un data.id de análisis que puedes pasar al recurso Analysis → Get para consultar el resultado (puedes usar un nodo Wait entre medio).
  • La salida es el JSON completo devuelto por la API, sin transformar, para máxima flexibilidad en flujos posteriores.

Estructura del proyecto

credentials/
  VirusTotalApi.credentials.ts
nodes/
  VirusTotal/
    VirusTotal.node.ts
    GenericFunctions.ts
    virustotal.svg
    descriptions/
      FileDescription.ts
      UrlDescription.ts
      DomainDescription.ts
      IpAddressDescription.ts
      AnalysisDescription.ts

Seguridad

  • La API key se lee únicamente desde el sistema de credenciales de n8n (VirusTotal API), nunca queda hardcodeada, ni se registra en logs ni se envía a ningún destino distinto de la API oficial de VirusTotal (https://www.virustotal.com/api/v3). Se transmite exclusivamente como cabecera x-apikey en cada solicitud, siguiendo el mecanismo de autenticación estándar de n8n.
  • El paquete publicado en npm no incluye código fuente ni devDependencies — solo el contenido de dist/ (JS compilado) y no declara dependencias propias en tiempo de ejecución (n8n-workflow es peerDependency, provista por tu instalación de n8n).
  • Los avisos que puedan aparecer en npm audit durante el desarrollo (p. ej. lodash, uuid) provienen de dependencias transitivas de n8n-workflow (a través de @n8n/expression-runtime), no de código de este nodo. No se publican ni se ejecutan como parte del paquete instalado; corresponden a la misma cadena de dependencias que ya usa tu instalación de n8n en producción.
  • Antes de instalar cualquier community node (este incluido), revisa el código fuente — está disponible completo en el repositorio.

Descargo de responsabilidad

Este nodo se distribuye "tal cual", sin garantías de ningún tipo, bajo licencia MIT. El autor no se hace responsable por el uso que se le dé, por daños derivados de su uso o mal uso, por la disponibilidad o exactitud de los datos devueltos por la API de VirusTotal, ni por el cumplimiento de los términos de servicio de VirusTotal por parte de quien lo utilice. El uso de este nodo, de tu API key y de los datos obtenidos es responsabilidad exclusiva del usuario.

Licencia

MIT