尝试为clamAV指定二进制路径

问题描述 投票:0回答:2

我正在尝试在我的 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 上使用这个的经验吗?谢谢

node.js clam clamav
2个回答
0
投票

我自己也有同样的问题。这里的问题出在文件本身的路径上,

\Program Files
中的空格导致错误。

我没有找到任何快速修复方法,所以我决定使用 ClamAV 的 Win64 便携式版本,可以在他们的网站上的 Win64 部分下载。

提取路径不带任何空格的文件夹中的内容解决了我的问题。


0
投票

我这几天也出现这个错误。对我来说,修复方法是将 ClamAV 初始化移动到另一个文件,更靠近应用程序的开头(Node.js+Express)。

您还可以尝试将

debugMode
设置为
true
,以获得有关错误的更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.