Tamashii is a lightweight, high-performance command-line utility for file integrity verification. Built with Rust and leveraging asynchronous I/O architectures, Tamashii provides a reliable method for ensuring that critical files remain unaltered and authentic.
Tamashii (derived from the Japanese word for "soul") serves as a monitoring tool for filesystem integrity. It computes SHA-256 hashes of target files and persists them in a local metadata store. This enables users to perform subsequent verification checks to detect unauthorized modifications or data corruption.
- Asynchronous Architecture: Built on
compiofor efficient, non-blocking file operations. - Command-Line Interface: Simple, structured command set for initialization, tracking, and verification.
- Local Metadata Store: Persistence is handled via a human-readable
.tamashii.jsonschema in the project root. - Enhanced Diagnostics: Provides clear, status-aware terminal output for verification results.
- Rust (edition 2024 or later)
git clone https://github.com/AviTheBrown/Tamashii
cd tamashii
cargo build --releaseTo enable global access, move the binary to a directory in your system PATH:
mv target/release/tamashii /usr/local/bin/Establish a new integrity database in the current working directory:
tamashii initBegin monitoring a specific file:
tamashii add <path/to/file>Verify a single monitored file:
tamashii verify <path/to/file>Execute a global verification check for all monitored files:
tamashii verify --allRetrieve a summary of current tracking status and database metadata:
tamashii status- Configuration Auditing: Monitor production environment variables and configuration files for unexpected changes.
- Security Forensics: Track critical system binaries and application source files to detect tampering.
- Data Validation: Confirm the integrity of large-scale datasets and media assets over long-term storage periods.
Tamashii is currently in active development. Please note the following implementation details:
- Metadata Constraints: The internal
FileRecordcurrently constraints the stored file size metadata to a 255-byte capacity. This is a schema-level demonstration limit; hash verification remains functional for files of any size. - Local Persistence: Database records are stored in cleartext JSON. Sensitive environments may require additional filesystem-level encryption.
- OS Support: While binary-compatible with most systems, certain asynchronous I/O optimizations are prioritized for Unix-like environments.
This project is licensed under the MIT License.
