clam-engine

2.0.1 • Public • Published

node-clam-engine Build Status

Clam Engine provides robust native bindings to the clamav library. It allows you to scan files for viruses in-process, without requiring a running instance of clamd, or imposing the startup time of the clamscan command.

Installation

Dependencies

Clam Engine requires libclamav to be present.

  • Ubuntu: apt-get install libclamav-dev clamav-freshclam
  • Homebew (OS X): brew install clamav

Via NPM

Just run npm install clam-engine. Clam Engine supports Node.js 0.10, 0.11 and 0.12 as well as io.js. If something doesn't work for you using one of those runtimes, please file a bug.

Usage

Updating Signatures

In order for Clam Engine to work, you need to update the clamav virus signatures by running the freshclam command. You will need to configure it firsy.

Example

var clam = require('clam-engine');

clam.createEngine(function (err, engine) {
  if (err) {
    return console.log('Error', err);
  }
  engine.scanFile('eicar.com', function (err, virus) {
    if (err) {
      return console.log('Error', err);
    }
    if (virus) {
      return console.log('Virus', virus);
    }
    console.log('Clean');
  });
});

API

  • #### clam.createEngine(cb) Creates and initialises a new engine. The callback is called with (err, engine).

  • #### engine.version Property that contains the version of the underlying clamav engine.

  • #### engine.signatures Propery that indicates the number of signatures loaded.

  • #### engine.scanFile(filename, cb) Scans a file for a virus. The callback is called with (err, virus). virus is null if the file is clean.

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i clam-engine

    Weekly Downloads

    8

    Version

    2.0.1

    License

    MIT

    Last publish

    Collaborators

    • srijs