app like that
chkbit
chkbit

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.

Features

Data Integrity Verification

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.

Backup Integration

Works with your backup solutions by using index files that travel with your data, ensuring you can verify data integrity on your backups.

Download chkbit binaries

Allows users to download chkbit binaries for different OS/Platforms directly from the GitHub releases page and place them in their PATH.

Install via Homebrew

Enables installation of chkbit on macOS and Linux using Homebrew package manager with the command 'brew install chkbit'.

Install via Go

Provides the option to install chkbit using the Go package manager with the command 'go install github.com/laktak/chkbit/v6/cmd/chkbit@latest'.

Build from Source

Instructions for building chkbit from source by cloning the repository and executing the build script.

File Indexing

Chkbit creates an index (hash/checksum) of your files to verify data integrity. It uses standard hash algorithms and file formats.

File Verification

Verifies your files against the index to ensure data integrity, flagging unintentional changes as damage.

Modification Detection

Detects edits, additions, or deletions of files and updates the index, using file modification times.

Atom Mode

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.

Split Mode

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.

Split Mode

Stores an index in each directory to keep track of file changes.

Atom Mode

Stores the index in a single file for centralized tracking.

chkbit update

Searches all subfolders to create and update file hashes in storage, ensuring data integrity.

chkbit check

Verifies file integrity using existing hashes, ensuring files have not been altered.

Ignore Files

Allows setting up a .chkbitignore file to specify which files or directories should be ignored using shell-style wildcards.

Change Hash Algorithm

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.

Export Data from JSON Files

Exports data using any tool that supports JSON or through a text editor. Provides examples using jq for extracting and counting indexed files.

Testing Data Integrity

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.

Site Powered by Jekyll

The site is powered by Jekyll using Type on Strap for design and layout.

History of Development

The project started in 2014 using Node and Python, later transitioning to Go with atom support.

Illustrations

Initial illustrations on the site were generated using text-to-image models.