Skip to content

cfv-project/cfv

Repository files navigation

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 David Lisa Gnedt.

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

Requirements

Python ≥ 3.6 – 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.

python setup.py 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

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.