我正在尝试在我的 Windows 10 Pro 机器上的 NodeJS 中使用 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 部分下载。
提取路径不带任何空格的文件夹中的内容解决了我的问题。
我这几天也出现这个错误。对我来说,修复方法是将 ClamAV 初始化移动到另一个文件,更靠近应用程序的开头(Node.js+Express)。
您还可以尝试将
debugMode
设置为 true
,以获得有关错误的更多详细信息。