Skip to main content

cfv – Command-line File Verify

cfv is a utility to test and create a wide range of checksum verification files. It currently supports testing and creating sfv, sfvmd5, csv, csv2, csv4, md5, bsdmd5, sha1, sha224, sha256, sha384, sha512, torrent and crc files. Test-only support is available for par, par2.

cfv was originally written by Matthew Mueller (original project home). This is a friendly fork of cfv maintained by Lisa Gnedt.

Build Status Linux Build Status FreeBSD Supported Python versions License Latest PyPI version Number of PyPI downloads

Requirements

Python ≥ 3.7 – older versions might work, but are unsupported. For Python 2 support, see the python2 branch.

Optional

Install

You can get the latest releases via the Python Package Index (PyPI) or from the Github releases page. Other distribution ways are work-in-progress, see issue #4.

From PyPI

If you have a working Python installation with pip, you can install via PyPI:

pip install cfv

From Source

Download a snapshot from the Github releases page or checkout the development version via Git.

pip install .
# optional: run tests to verify correct operation
cd test; ./test.py

From OS-specific Repositories

Arch Linux

To install the development version from AUR (maintained by @vestingz):

yay -S cfv-git

FreeBSD

A FreeBSD port is available (maintained by @Terry-Kennedy).

To install the pre-built package (updated quarterly, so may be out-of-date):

pkg install cfv

To build from source (make sure your source tree is up-to-date via any of the usual methods):

cd /usr/ports/security/cfv
make; make install; make clean

To update the pre-built package:

pkg upgrade cfv

To update from source (again, make sure your source tree is up-to-date):

portupgrade cfv

NixOS

To use the latest version included in nixpkgs (maintained by @jjtt):

nix-shell -p cfv

Usage

Please read the man page man cfv or the usage cfv -h and have fun ☺️

Contributions

Contributions are welcome, just open a pull request ☺️

Alternative Tools

Here is a community-compiled list of alternative tools that cover some of cfv's functionality (without warranty):

  • GNU coreutils *sum: md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, ...
  • cksfv
  • rhash (with -rc does more or less the same thing as cfv, performance is good and it supports most hash formats including bittorrent. It lacks cfv's -m though.)
  • aria2c (to verify torrent checksums)
  • bsdsfv (limited to 1024 files for some reason)
  • pure-sfv (doesn't seem to display progress information, even with -v)
  • bcfv (a Bash frontend to checksum programs (SHA, Blake3, MD5))

Copying

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING for more information.

Metadata

Release files for cfv 3.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cfv 3.2.0
File Size Uploaded
cfv-3.2.0.tar.gz 53.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cfv 3.2.0
File Interpreter ABI Platform
cfv-3.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 104.0 kB

Release files / cfv-3.2.0.tar.gz

Download URL cfv-3.2.0.tar.gz
Size 53.5 kB
Tags Source
SHA-256 checksum
How to use checksums
090d453fc9beeb9cf37ae8edf7ebae3d9686ac9382d4bea5df9191b429e6403c
BLAKE2b-256 checksum
How to use checksums
90e24982f414f04c47c5344739ecc6dfd70fe75139d0672e0b080929aea309f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / cfv-3.2.0-py3-none-any.whl

Download URL cfv-3.2.0-py3-none-any.whl
Size 50.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
024ea0342f96a6374e42c5f98a0f4f41a325aa9e58d005423e854bc62a62a989
BLAKE2b-256 checksum
How to use checksums
002b7b9f31254e3231ce6f2cab16a04fee2779c3c40a1cdced51b4e26191b353
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page