Skip to main content

django-clamd is a django integration with Clamd (Clamav daemon).

Project description

This project integrates python-clamd with Django for easy scanning files for viruses on upload

Install

From PyPi with pip:

pip install django-clamd

or

easy_install django-clamd

You can also install development version direclty from GitHub:

pip install git+https://github.com/vstoykov/django-clamd.git

Aditioanlly if you want translations to work you need to add it to installed apps.

INSTALLED_APPS = (
    ...
    'django_clamd',
    ...
)

Usage

You can use it in forms:

from django import forms
from django_clamd.validators import validate_file_infection

class UploadForm(forms.Form):
    upload_file = forms.FileField(validators=[validate_file_infection])

Or you can add it as validator directly in your model:

from django.db import models
from django_clamd.validators import validate_file_infection

class FileModel(models.Model):
    document = models.FileField(validators=[validate_file_infection])

You will have automatically scanning of upladed files in Django Admin and also when create ModelForm’s for that model.

Configuration

By default django-clamd tries to be smart and with good defaults. You can still configure how to connect to Clamd. Default values are:

CLAMD_SOCKET = '/var/run/clamav/clamd.ctl'
CLAMD_USE_TCP = False
CLAMD_TCP_SOCKET = 3310
CLAMD_TCP_ADDR = '127.0.0.1'

Note: When you are running on Fedora or CentOS and clamav-scanner package is installed then default value for CLAMD_SOCKET is:

CLAMD_SOCKET = '/var/run/clamd.scan/clamd.sock'

You also can disable virus scanning for development with:

CLAMD_ENABLED = False

Note: This is primary for make it easy to run a project on development without the need of installing Clamd on devlopment machine.

License

django-clamd is released as open-source software under the LGPL license.

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

django-clamd-0.3.3.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

django_clamd-0.3.3-py2.py3-none-any.whl (11.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-clamd-0.3.3.tar.gz.

File metadata

File hashes

Hashes for django-clamd-0.3.3.tar.gz
Algorithm Hash digest
SHA256 f334b7cf14e3f3e4ee991118e6f8d30c3ef2457452cd6fdf1a98bb8719014b2f
MD5 3f5eb2ed31e9b087a96811501de687ba
BLAKE2b-256 55c2575f19229dca8e4185eb110c6c5870308d0a687292509f407f76e19c0e26

See more details on using hashes here.

Provenance

File details

Details for the file django_clamd-0.3.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_clamd-0.3.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e2824f209bd1a7c761b6dba10fbf03b67e731438c47224e6eae58107a913a452
MD5 b00858ab8c001355a77aa77556b26cd0
BLAKE2b-256 3f3a6f8a0586438cef5e08018fbe42aadfd06c3a280366783024f49030498753

See more details on using hashes here.

Provenance

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