Skip to main content

Check upload resources for viruses

Project description

Tests

ckanext-clamav

This is a basic example that helps to scan uploaded resources for malwares with clamd library.

Installation

Clamd library uses clamav tool, and you must install it into your environment, to make this extension work.

For example, to install ClamAV on Ubuntu:

  1. Install ClamAV with APT

    apt-get update
    apt-get install clamav clamav-daemon -y
    
  2. Update the ClamAV signature database

    systemctl stop clamav-freshclam
    freshclam
    systemctl start clamav-freshclam
    

To install ckanext-clamav:

  1. Activate your CKAN virtual environment, for example:

    . /usr/lib/ckan/default/bin/activate

  2. Clone the source and install it on the virtualenv

    git clone https://github.com/DataShades/ckanext-clamav.git
    cd ckanext-clamav
    pip install -e .
    pip install -r requirements.txt
    
  3. Add clamav to the ckan.plugins setting in your CKAN config file (by default the config file is located at /etc/ckan/default/ckan.ini).

  4. Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:

    sudo service apache2 reload

Config settings

# If your socket file is in different folder, you can specify it
# (optional, default: /var/run/clamav/clamd.ctl).
ckanext.clamav.socket_path = /your/path/to/socket.file

# You can decide to upload unscanned files or not.
# For example, if clamav is disabled, you won't be able to scan a file
# (optional, default: True).
ckanext.clamav.upload_unscanned = False

# ClamAV connection mechanism. There are two options: `tcp` or `unix`.
# If `tcp` selected, you must provide host:port (check next options).
# ( optional, default: unix)
ckanext.clamav.socket_type = unix

# TCP/IP hostname
ckanext.clamav.tcp.host = your.hostname.address

# TCP/IP port
ckanext.clamav.tcp.port = 3310

# ClamAV connection timeout. Either `tcp` or `unix`
# By default, there is no timeout.
# ( optional, default: 60)
ckanext.clamav.timeout = 120

Developer installation

To install ckanext-clamav for development, activate your CKAN virtualenv and do:

git clone https://github.com/DataShades/ckanext-clamav.git
cd ckanext-clamav
python setup.py develop
pip install -r dev-requirements.txt

Tests

To run the tests, do:

pytest --ckan-ini=test.ini

License

AGPL

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckanext_clamav-1.0.32.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

ckanext_clamav-1.0.32-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file ckanext_clamav-1.0.32.tar.gz.

File metadata

  • Download URL: ckanext_clamav-1.0.32.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for ckanext_clamav-1.0.32.tar.gz
Algorithm Hash digest
SHA256 a4e4c7c9c69a68bf9d24052b3178a00205faca57937a1afdc3f94de52ecf8a7a
MD5 944e272090085f377f4849fed5a72519
BLAKE2b-256 838c6ad526a5a9bf6ae3d72da350600c6a6605f22a1a66f1d39c41ea0a883403

See more details on using hashes here.

File details

Details for the file ckanext_clamav-1.0.32-py3-none-any.whl.

File metadata

File hashes

Hashes for ckanext_clamav-1.0.32-py3-none-any.whl
Algorithm Hash digest
SHA256 dfee4c14ff0ca0e61d699dff9b7acae64c4aa568e02af13e9c9642a1299f50b4
MD5 47790d00b8ef35a5a79ce8625e39fc1e
BLAKE2b-256 4ef1b497f96b5838c6fc7aad2bc9ff00312b89eea4eb4b9dce2655af1a4b363f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page