跳转到主要内容

ClamAV病毒扫描的异步客户端

项目描述

aioclamd

aioclamd Build and Test Format and Lint Publish to pypi.org Publish to test.pypi.org

此包是python-clamd愉悦包的异步版本。它具有相同的外部API,只是所有方法都是协程,所有通信都是使用asyncio框架异步处理的。

ClamdAsyncClient连接到ClamAV防病毒实例,扫描文件和数据中的恶意威胁。此包以任何方式捆绑ClamAV,因此需要运行中的clamd守护程序实例。

安装

pip install aioclamd

使用方法

要扫描文件(在安装ClamAV的系统上)

import asyncio

from aioclamd import ClamdAsyncClient

async def main(host, port):
    clamd = ClamdAsyncClient(host, port)
    print(await clamd.scan('/etc/clamav/clamd.conf'))

asyncio.run(main("127.0.0.1", 3310))

# Output:
# {'/etc/clamav/clamd.conf': ('OK', None)}

要扫描数据流

import asyncio
import base64
from io import BytesIO

from aioclamd import ClamdAsyncClient

EICAR = BytesIO(
    base64.b64decode(
        b"WDVPIVAlQEFQWzRcUFpYNTQoUF4pN0NDKTd9JEVJQ0FSLVNU"
        b"QU5EQVJELUFOVElWSVJVUy1URVNU\nLUZJTEUhJEgrSCo=\n"
    )
)

async def main(host, port):
    clamd = ClamdAsyncClient(host, port)
    print(await clamd.instream(EICAR))

asyncio.run(main("127.0.0.1", 3310))

# Output:
# {'stream': ('FOUND', 'Win.Test.EICAR_HDB-1')}

开发

可以使用Docker获得ClamAV的本地实例

docker run -p 3310:3310 --rm clamav/clamav

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

aioclamd-1.0.0.tar.gz (5.4 kB 查看哈希值)

上传时间: 源代码

构建分发

aioclamd-1.0.0-py3-none-any.whl (7.4 kB 查看哈希值)

上传时间: Python 3

由以下支持