ClamAV.js
A node.js library for ClamAV
This node.js library is intended to be served as a bridge between a node.js application and the ClamAV antivirus engine.
The library uses TCP socket (INET) to communicate with ClamAV daemon (clamd) through ClamAV's INSTREAM command. To use this library, use the following:
var clamav=; clamav;
will scan through the "directory" of a Linux machine and report any malicious files detected by ClamAV.
var fs=;var clamav=; var stream = fs;clamav;
will pass a stream of "file" on a Linux machine and report any malicious files detected by ClamAV.
Additionally, to check the availability of the ClamAV daemon, use the following:
var clamav=; clamav;
where the third parameter 1000 is the timeout in milliseconds.
The version of the ClamAV daemon and the version of the definitions database could be obtained through:
var clamav=; clamavversion3310 '127.0.0.1' 1000 { if err console; else console; };
and the third parameter 1000 is the timeout in milliseconds.
Installation
First install node.js and ClamAV, then:
$npm install clamav.js
Performance
The ClamAV.js library is implemented in an asynchronous way by utilizing transform stream of node.js. That is supposed to perform better when I/O is the bottleneck.
License
The ClamAV.js library is provided under the MIT License.
Contact
If you have trouble with the library or have questions, check out the GitHub repository at http://github.com/yongtang/clamav.js and I’ll help you sort it out.