Files
smartantivirus/.serena/memories/project_overview.md

1.2 KiB

SmartAntivirus Project Overview

Purpose

SmartAntivirus (@push.rocks/smartantivirus) is a Node.js/TypeScript library that provides enterprise-grade antivirus scanning capabilities by integrating with ClamAV. It allows developers to scan files, buffers, strings, and streams for viruses in their applications.

Tech Stack

  • TypeScript (primary language)
  • Node.js (runtime)
  • ClamAV (antivirus engine)
  • Docker (for containerized ClamAV deployment)
  • Testing: @git.zone/tstest with @push.rocks/tapbundle
  • Build: @git.zone/tsbuild

Architecture

  • ClamAvService: High-level interface for virus scanning operations

    • Scan strings, buffers, Node.js streams, and Web Streams
    • Auto-manages Docker container if needed
    • Connects to ClamAV daemon on port 3310
  • ClamAVManager: Low-level Docker container management

    • Handles container lifecycle (start/stop)
    • Updates virus definitions
    • Provides log monitoring

Key Features

  • In-memory scanning without disk I/O
  • Stream processing for large files
  • TypeScript-first with full type safety
  • Zero-config with sensible defaults
  • Auto-updating virus definitions
  • Docker-based or direct daemon connection