1

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

4

1 回答 1

0

我自己也有同样的问题。这里的问题在于文件本身的路径,其中的空格\Program Files会导致错误。

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

使用没有任何空格的路径提取文件夹中的内容解决了我的问题。

于 2021-04-09T13:31:36.813 回答