问题描述
我正在尝试在 NodeJS 中的 Windows 10 pro 机器上使用 clamscan。 Clamscan 安装到
C:\Program Files\ClamAV
const NodeClam = require('clamscan');
const ClamScan = new NodeClam().init({
scan_recursively: false,clamdscan: {
path: 'C:\Program Files\ClamAV\clamscan.exe',local_fallback: true,config_file: 'C:\Program Files\ClamAV\clamd.conf'
},});
async function scanFile(filePath) {
try {
const clamscan = await ClamScan;
const { is_infected,viruses } = await clamscan.scan_file(filePath);
if (is_infected) {
console.log(`The file is INFECTED with ${viruses}`);
throw new Error('ERR_FILE_SCAN_INFECTED');
} else {
return 'CLEAN';
}
} catch (err) {
throw new Error(err);
}
}
function start() {
return scanFile('/dodgyfile.rtf');
}
// Call start
(async() => {
try{
await start();
}
catch(err){
console.log("error: ",err);
}
})();
我收到错误.. 没有有效和活动的病毒扫描二进制文件处于活动和可用状态,并且没有提供主机/套接字选项!
网上的所有配置示例似乎都是针对linux路径的..
有没有人有在 Windows 上使用它的经验?谢谢
解决方法
我自己也遇到了同样的问题。这里的问题在于文件本身的路径,\Program Files
中的空格导致错误。
我没有找到任何快速修复方法,所以我决定使用 ClamAV 的 Win64 便携式版本,可以在其网站上的 Win64 部分下载。
提取路径中没有空格的文件夹中的内容为我解决了问题。