Cross-platform integrity checker with a shared Rust core powering CLI and egui desktop apps.
Hash Checker delivers reproducible workflows for validating file hashes on Windows, macOS, and Linux. The project emphasises clean builds (Docker/Vagrant helpers) and an accessible GUI that mirrors the CLI feature set.
- Supports SHA-2, SHA-1, MD5, and BLAKE2 families with automatic algorithm detection from hash prefixes.
- Shared Rust core exposes both command-line and egui desktop interfaces.
- Batch comparison reports for CI: feed JSON/CSV definitions to
hash-checker batchand export structured results. - Linux builds now rely on the XDG desktop portal backend—no more GTK runtime dependency for file dialogs.
- Experimental GTK4-native dialog mode (Linux) is available via the
gtk4-nativefeature flag; seedocs/OPERATIONS.mdfor prerequisites. - Directory manifest export/verify with JSON, CSV, and TXT outputs.
- Container-first
maketargets keep builds reproducible across platforms, while host builds remain available. - Accessibility extras: keyboard shortcuts, clipboard integration, and Slate/High Contrast themes.
- Clone:
git clone https://github.com/tamld/hash-checker.git && cd hash-checker(agents may work fromlocal-scripts/hash-checker/inside the workspace layout). - Container workflow:
make rust-test,make rust-gui-build,make rust-gui-smoke, andmake cleanup-packaging. Seedocs/OPERATIONS.mdfor the full command matrix. - Host build:
cargo build --release --manifest-path rust/hash-checker/Cargo.tomlplus the GUI variant (rust/hash-checker-gui/) or the equivalentmaketargets documented indocs/OPERATIONS.md. - Linux GUI runs via the XDG desktop portal. Install
xdg-desktop-portal(and a backend such asxdg-desktop-portal-gtk) if your distro does not enable it by default. - Local gate: run
make ci-linux-localbefore pushing to exercise fmt, clippy, tests, and Docker workflows.
docs/OPERATIONS.md– quick start, build/packaging commands, CI modes, Gatekeeper notes.docs/PLAN.md– roadmap and phase status.docs/TASKS.md– near-term work queue.docs/BACKLOG.md– longer-term ideas.docs/security/VERIFICATION_GUIDE.md– checksum, GPG, and Authenticode verification.docs/GUI_SCREENSHOT.md– screenshot checklist and gallery.
- Stable releases live on the GitHub Releases page. Installer and binary packages remain unsigned until SignPath onboarding completes.
- Follow
docs/security/VERIFICATION_GUIDE.mdto validate downloads; macOS Gatekeeper bypass commands are mirrored indocs/OPERATIONS.md. - File bugs or feature requests through GitHub Issues and reference the relevant documentation or
.agents/notes for evidence.
mainis gated byci.yml(fmt, clippy, unit tests, Docker builds, GUI smoke). Packaging jobs run viarelease.ymlwhen preparing artefacts.- Internal automation checklists and lessons live under the git-ignored
.agents/workspace; sync them after every session.
