Chkbit is a tool that creates checksums of your data to help detect corruption. It helps ensure the integrity of your files by allowing verification against potential data corruption causes like software bugs, hardware failures, and environmental factors.
Creates hashes (checksums) of your data on your primary disks to verify data integrity over time. This allows you to check if files are still good or if data has been corrupted.
Works with your backup solutions by using index files that travel with your data, ensuring you can verify data integrity on your backups.
Allows users to download chkbit binaries for different OS/Platforms directly from the GitHub releases page and place them in their PATH.
Enables installation of chkbit on macOS and Linux using Homebrew package manager with the command 'brew install chkbit'.
Provides the option to install chkbit using the Go package manager with the command 'go install github.com/laktak/chkbit/v6/cmd/chkbit@latest'.
Instructions for building chkbit from source by cloning the repository and executing the build script.
Chkbit creates an index (hash/checksum) of your files to verify data integrity. It uses standard hash algorithms and file formats.
Verifies your files against the index to ensure data integrity, flagging unintentional changes as damage.
Detects edits, additions, or deletions of files and updates the index, using file modification times.
Uses a single .chkbit-db file to store all hashes. Pros: No hidden files clutter, easy hash management. Cons: Must back up the index file, hashes don't move with folders.
Creates a .chkbit file for hashes in every folder. Pros: Correct hashes included in backups, isolated index damage impact. Cons: .chkbit files are created in every directory.
Stores an index in each directory to keep track of file changes.
Stores the index in a single file for centralized tracking.
Searches all subfolders to create and update file hashes in storage, ensuring data integrity.
Verifies file integrity using existing hashes, ensuring files have not been altered.
Allows setting up a .chkbitignore file to specify which files or directories should be ignored using shell-style wildcards.
Allows users to specify a different hash algorithm with --algo, such as sha512 or md5. It defaults to blake3. Useful for customizing how files are indexed.
Exports data using any tool that supports JSON or through a text editor. Provides examples using jq for extracting and counting indexed files.
Users can test chkbit by creating a directory, initializing it, and updating it. The tool informs users of new files added, files updated, and if there are any file damages.
The site is powered by Jekyll using Type on Strap for design and layout.
The project started in 2014 using Node and Python, later transitioning to Go with atom support.
Initial illustrations on the site were generated using text-to-image models.