{"id":33344488,"url":"https://github.com/c0m4r/rust-whirlpoolsum","last_synced_at":"2026-03-04T19:02:25.643Z","repository":{"id":324646809,"uuid":"1097940128","full_name":"c0m4r/rust-whirlpoolsum","owner":"c0m4r","description":"Rust version of a whirlpoolsum that prints and checks WHIRLPOOL 512-bit checksums.","archived":false,"fork":false,"pushed_at":"2025-11-17T05:30:02.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-17T05:32:25.955Z","etag":null,"topics":["checksum","hash","integrity","security-tools","whirlpool"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c0m4r.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-17T03:43:20.000Z","updated_at":"2025-11-17T05:30:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/c0m4r/rust-whirlpoolsum","commit_stats":null,"previous_names":["c0m4r/rust-whirlpoolsum"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/c0m4r/rust-whirlpoolsum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0m4r%2Frust-whirlpoolsum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0m4r%2Frust-whirlpoolsum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0m4r%2Frust-whirlpoolsum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0m4r%2Frust-whirlpoolsum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c0m4r","download_url":"https://codeload.github.com/c0m4r/rust-whirlpoolsum/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0m4r%2Frust-whirlpoolsum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285710892,"owners_count":27218827,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-21T02:00:06.175Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checksum","hash","integrity","security-tools","whirlpool"],"created_at":"2025-11-22T00:00:22.648Z","updated_at":"2025-11-22T00:00:45.316Z","avatar_url":"https://github.com/c0m4r.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n[![Rust](https://img.shields.io/badge/made%20with-Rust-orange?logo=rust\u0026amp;logoColor=ffffff)](https://rust-lang.org/)\n[![License: CC0-1.0](https://img.shields.io/badge/License-CC0%201.0-lightgrey.svg)](http://creativecommons.org/publicdomain/zero/1.0/)\n\n\u003cimg alt=\"image\" src=\"https://raw.githubusercontent.com/c0m4r/rust-whirlpoolsum/refs/heads/main/whirlpoolsum_logo.png\" /\u003e\n\nRust version of the whirlpoolsum that prints and checks WHIRLPOOL 512-bit checksums.\n\nVibe-coded with Qwen3 (Max+Coder) / Claude Sonnet 4.5 (Thinking+Extended) / Gemini 3 Pro (High).\n\nIntegrates [Seccomp/BPF](https://en.wikipedia.org/wiki/Seccomp) sandboxing, [Landlock](https://landlock.io/) and [AppArmor](https://apparmor.net/) profile as a measure of protection against supply chain attacks.\n\n\u003c/div\u003e\n\n## Quick install (x86_64/glibc)\n\n```bash\nwget https://github.com/c0m4r/rust-whirlpoolsum/releases/download/0.9.3/whirlpoolsum\necho \"bc1b8a333c9c99fca7bdc7e7b7451c372311531db203b1683e5aae5318256569  whirlpoolsum\" | sha256sum -c || rm -f whirlpoolsum\nsudo mv whirlpoolsum /usr/local/bin/\nsudo chmod +x /usr/local/bin/whirlpoolsum\necho \"4c9d4ab9c9f20cc8d54e9f4b5cee186697cb80556f47dab4265dec172f880120a3a060df66ec4be1a7d427f540d2a7aa58d12fa600b789ced14adb485911bca9  /usr/local/bin/whirlpoolsum\" | whirlpoolsum -c\nwhirlpoolsum -V\n```\n\nOn Alpine install [gcompat](https://git.adelielinux.org/adelie/gcompat) with `apk add gcompat`\n\n## Other platforms (ARM64, RISC-V, Windows x64)\n\nGet the latest binaries at https://github.com/c0m4r/rust-whirlpoolsum/releases/tag/0.9.3\n\n## Build from source\n\n1. [Install Rust](https://rust-lang.org/tools/install/)\n2. Run `cargo build --release` or use `./build.sh` for extended testing\n3. You'll find the binary executable in ./target/release/whirlpoolsum\n\n### Cross-compile\n\n```bash\ncargo install cross --git https://github.com/cross-rs/cross\nrustc --print=target-list # find target and consult it with the one on cross-rs page\nrustup target add aarch64-unknown-linux-gnu\nrustup target add riscv64gc-unknown-linux-gnu\nrustup target add x86_64-pc-windows-gnu\nrustup target add x86_64-unknown-linux-musl\n./cross.sh || cross build --target aarch64-unknown-linux-gnu --release\n```\n\n## Usage\n\nText checksum (stdin)\n\n```bash\necho -n \"All your base are belong to us\" | whirlpoolsum\n```\n\nFile checksum\n\n```bash\nwhirlpoolsum example.txt\n```\n\nMultiple files checksums (with multithreading)\n\n```bash\nwhirlpoolsum --max-files 1000 --max-file-size 100M /usr/sbin/*\n```\n\nVerify file checksum (stdin)\n\n```bash\necho -n \"abcdef12345(...)  example.txt\" | whirlpoolsum -c\n```\n\nVerify file checksum with a checksum file\n\n```bash\nwhirlpoolsum -c example.txt.wrl\n```\n\nPrint program version\n\n```bash\nwhirlpoolsum --version\n```\n\n## Benchmarking\n\nBenchmark (measure time and throughput for a given filename(s))\n\n```bash\nwhirlpoolsum --benchmark example.txt\n```\n\nBenchmark (system test with score)\n\n```bash\nwhirlpoolsum --benchmark\n```\n\n## TUI\n\nText-based UI with basic functionality using [ratatui](https://ratatui.rs/)\n\n```bash\nwhirlpoolsum --tui\n```\n\n...and a snake game as a bonus :)\n\n## Configuration options\n\n```\n--max-file-size \u003cMAX_FILE_SIZE\u003e  Maximum file size (e.g., 1G, 512M) [default: 10G]\n--max-files \u003cMAX_FILES\u003e          Maximum number of files to process [default: 10000]\n```\n\n## License\n\nPublic Domain / CC0 1.0 Universal\n\n## Credits\n\nLogo has been AI generated by Gemini 2.5 Flash Image (Nano Banana)\n\n[Ferris the crab](https://rustacean.net/) by [Karen Rustad Tölva](https://www.aldeka.net/portfolio/items/ferris/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc0m4r%2Frust-whirlpoolsum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc0m4r%2Frust-whirlpoolsum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc0m4r%2Frust-whirlpoolsum/lists"}