A simple checksum utility that just works.
Find a file
2024-11-28 16:05:08 +01:00
fck add sha hash family 2024-11-25 11:05:20 +01:00
scripts Add missing type argument to cli. 2024-11-28 16:05:08 +01:00
.gitignore Init: Basic project structure and functionality. 2020-03-21 08:20:49 +01:00
default.nix nix: add package default drv and format 2024-11-25 11:00:49 +01:00
flake.lock Add flake file. 2024-11-23 23:38:22 +01:00
flake.nix nix: add package default drv and format 2024-11-25 11:00:49 +01:00
LICENSE Init: Basic project structure and functionality. 2020-03-21 08:20:49 +01:00
README.md Init: Basic project structure and functionality. 2020-03-21 08:20:49 +01:00
setup.py Run formatter. 2024-11-23 23:33:32 +01:00

fck - A simple checksum utility that just works

File checker (fck) is a python wrapper for various checksum functions (though right now it only supports CRC32). It's goal is to make verifying large amounts of files both easier and faster.

Features

  • Process/check multiple files at once.
  • Automatically find expected checksums
  • Quickly find faulty files.
  • (Not yet) easily extendable

Syntax

fck --help
usage: fck [-h] [-b] [-p PROCESSES] [-c CHECKSFV] [files [files ...]]

Calculate CRC32 of files

positional arguments:
  files                 files and folders to process

optional arguments:
  -h, --help            show this help message and exit
  -b, --bigfiles        parse files that exceed your memory limit
  -p PROCESSES, --processes PROCESSES
  -c CHECKSFV, --checksfv CHECKSFV

Dependencies

  • = Python3.8

  • zlib // used to calculate CRC32 sums

Roadmap

0.1

  • Context based selection of apropriate checksum type.
  • Define and document project/class structure.
  • Support reading/writing '.sfv' files.
  • Add Tests.

0.2

  • Dehardcode various CRC32 specific functionalities.
  • Implement propper logging.
  • Implement other common checksum types.
  • Write a comprehensive documentation.

Future

  • More and better error (and memory) handling.
  • Better logging/output control.
  • Add an optional GUI.
  • Package application for Windows/Mac/Linux (maybe)