cvdupdate
ClamAV Private Database Mirror Updater Tool
What it is and what it does
cvdupdate is a command-line tool that automates downloading ClamAV virus definition databases and their associated CDIFF patch files from Cisco's official servers, replacing an older Perl script. It's designed to let you run your own private ClamAV database mirror on your network, which you can then serve to local FreshClam clients via HTTP instead of having every machine download directly from the public servers.
The tool uses DNS queries to check for new database versions before downloading, so repeated runs don't waste bandwidth. It stores databases and patches locally (by default in ~/.cvdupdate), rotates old patch files and logs automatically, and includes a built-in test HTTP server for quick validation. You can customize the database directory, nameserver, and logging behavior via a JSON config file, and integrate it into cron jobs or other automation for hands-off updates.
Use it for:
- Set up a private ClamAV mirror on an internal network to reduce external bandwidth and centralize antivirus updates.
- Automate daily or hourly database updates via cron, keeping your local mirror synchronized with Cisco's latest definitions.
- Serve ClamAV databases to multiple FreshClam clients on your network from a single local HTTP endpoint.
- Test database mirror configuration locally using the built-in test server before deploying to production.
- Maintain an offline copy of ClamAV databases for air-gapped or restricted-network environments.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Downloads and maintains a local ClamAV antivirus database mirror, including patch files, for hosting your own update server.
Yes. If you operate a ClamAV deployment with multiple clients or restricted external network access, this tool is the standard way to host your own database mirror. It's actively maintained, has no known vulnerabilities, installs with low friction, and carries a permissive license. Not relevant for single-machine ClamAV setups that can reach the public servers directly.
Install
cvdupdate on PyPI
pip
pip install cvdupdateuv
uv add cvdupdatepoetry
poetry add cvdupdateInstalling cvdupdate
Before you install
Low friction: pure Python wheel with seven common dependencies (click, colorlog, colorama, requests, dnspython, rangehttpserver, packaging). Active maintenance with recent commits and no known vulnerabilities.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions; suitable for enterprise deployment.
Quickstart
pip install cvdupdate
cvd config set --dbdir /path/to/databases
cvd update
cvd serve
Requires Python 3.6 or newer and an internet connection with DNS enabled.
Verify before relying
- Whether the tool handles network interruptions gracefully during large database downloads.
- Performance characteristics when serving databases to many concurrent FreshClam clients.
- Whether custom database directory permissions are automatically managed.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — click, colorlog, colorama, requests, dnspython, rangehttpserver, packaging |
| Maintenance | actively maintained — 315 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 959,401/month — #4,638 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cvdupdate-1.2.0-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
clamdclamd is a Python interface to the ClamAV…
copyleft · top 5,000 on PyPI
clamav-clientA Python client library for the ClamAV…
copyleft · top 15,000 on PyPI
pyClamdpyClamd provides a Python interface to the…
copyleft · top 15,000 on PyPI
fakesnowRuns a fake Snowflake database locally for…
permissive · top 5,000 on PyPI
ignoreDownloads and installs common .gitignore…
permissive · top 15,000 on PyPI
pip2pipip2pi creates a PyPI-compatible package…
permissive · top 15,000 on PyPI
requests-ntlm2Adds NTLM authentication support to the…
permissive · top 15,000 on PyPI
requests-ntlm3Provides HTTP NTLM authentication for the…
permissive · top 15,000 on PyPI