Projects / cfv

cfv

cfv is a utility to both test and create .sfv (Simple File Verify), .csv, .crc, .md5(sfv style), md5sum, BSD md5, sha1sum, and .torrent checksum verification files. It also includes test-only support for .par and .par2 files. These files are commonly used to ensure the correct retrieval or storage of data.

Tags
Licenses
Operating Systems
Implementation

Recent releases

  •  07 Jun 2009 21:44

    Release Notes: This release fixes Python 2.6 MD5 and SHA module deprecation warnings.

    •  23 Jun 2008 02:32

      Release Notes: Help output is printed to stdout under non-error conditions. A mmap file descriptor leak in Python 2.4.2 was worked around. The different module layout of BitTorrent 5.x is supported. A "struct integer overflow masking is deprecated" warning was fixed. The --private_torrent flag was added. A bug was worked around in 64-bit Python version 2.5 and later which causes checksums of files larger than 4GB to be incorrectly calculated when using mmap.

      •  04 Feb 2005 12:25

        Release Notes: This release includes fixes for progress meter with non- regular files. The list of checksum types in --help output is now sorted, and -t help (or -t with unknown type) prints a list of the supported types, with descriptions.

        •  12 Jan 2005 22:05

          Release Notes: This release adds .torrent creation support, and makes torrent testing automatically strip the top path component if needed. It fixes an mmap error on large files, a too many open files error on large torrents, bad file renaming with .torrent files on Windows, and a TypeError that occurred if forcing --progress=yes when not running on a TTY and the COLUMNS var was set. sha1sum file support has been added.

          •  12 Jul 2004 22:56

            Release Notes: This release adds an -s option to search for misnamed files, handles .torrent files that have the creation date encoded as a string, handles .torrent files that specify the filename encoding, makes .torrent support try the BitTornado module if BitTorrent isn't found, fixes exceptions when trying to print Unicode filenames containing non-ASCII characters, and fixes some minor issues in --strippaths, filename unquoting, and CSV parsing.

            Recent comments

            23 Nov 2005 20:16 ravenmorris

            Re: Python?
            timecop is a flaming idiot, 'nuff said.

            Thanks for this app, will give it a try, it seems to do everything I am wanting it to do.

            06 Aug 2005 21:17 jjlin

            Re: Great Tool


            > By far the best checksum program I have

            > seen so far. Lots

            > of options, therefore in the first

            > moment a little bit hard to

            > use, but useful features...

            >

            >

            Yep, I'll second that. It does pretty much everything I was looking for, and seems to be by far the most comprehensive text-based tool of its kind. I wish I'd discovered it sooner, instead of wrangling with the coreutils md5sum.

            29 Oct 2003 06:01 stonki

            Great Tool
            By far the best checksum program I have seen so far. Lots
            of options, therefore in the first moment a little bit hard to
            use, but useful features...

            16 Apr 2003 07:29 oblio

            Re: Python?
            Timecop is definitely a troll, and Python is great for user

            interface programs. I appreciate that you have made your

            work available.

            09 Apr 2002 02:02 donut

            Re: Python?

            >
            > % Python is already included on
            > most/all
            > % distros.
            >
            > I've never seen python installed on
            > any machines that *I* use.


            I'm not talking about whatever minimalistic stuff you have on your machines, but the average install.


            > Really? So reading byte by byte and
            > calling CRC32 functions on that is
            > "not slower" than for example,
            > mmap()'ing the file and running CRC32 on
            > the entire file? Oh, did I mention we
            > are using Python here?


            I know you love trolling timecop, but if you would just look, you would see that in fact it does not read byte by byte.
            It either: a) uses the fchksum C module to get crc for the entire file in one call, b) mmaps the file and uses zlib C module to get crc of entire file in one call, or c) if neither mmap or fchksum is available (maybe some weird arch without mmap) it will read in 64K chunks and crc them. So yes, it is in fact not slower _at all_.

            > Python? Get real. Nobody used Python
            > for anything other than random hacks or
            > things that nobody will ever want to
            > maintain.


            And C is just _so_ much more maintainable.. riiiight.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.