Giter Site home page Giter Site logo

hashgood's Introduction

hashgood

A CLI tool for easily verifying a downloaded file's checksum.

Wouldn't it be nice if your computer compared the hash for you?

Read the MD5, SHA1 or SHA256 hash from:

  • Command line argument
  • SHASUMS-style check files (-c)
  • Raw hash in a file/STDIN (-c)
  • The clipboard (-p)

...or just run hashgood against the input and receive all three at once.

This program arose from dissatisfaction with the workarounds required for traditional tools.

Installing

If you have a working Rust toolchain you can install hashgood from crates.io:

cargo install hashgood --features paste

Pre-compiled binaries for common platforms can be downloaded from the releases page. Otherwise you can build it yourself; see the next section.

Compiling

hashgood targets stable Rust. With a Rust toolchain installed, clone the repository and run:

cargo build --release

Take the compiled executable from target/release/hashgood.

To include support for pasting from the clipboard with -p, specify the extra feature. Note that on Linux this requires several extra libraries: libxcb1-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render0-dev

cargo build --release --features paste

Goals

  • Be forgiving and deliver what the user wants with a minimum of fuss. They just want to check this hash, damnit.
  • Don't let users be tricked - be explicit about checksum types and the sources of those checksums that are being compared.
  • As much cross-platform support as is practical.

Non-goals

  • Scriptability. This is an interactive tool.
  • Support for any unusual scenarios that could compromise smooth operation. (e.g., text mode, uncommon hash types)

Future ideas

  • Nominate a default (downloads) directory and auto-select the most recently created file in that directory as input.

hashgood's People

Contributors

thombles avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

tephyrnex

hashgood's Issues

Include Releases

Hey first i want to say that tool is awesome.
I wrote one for myself in python and then I found yours, and it is perfect for the job! Probs on that.

But maybe for the not so technical users out there, it maybe would be cool to include releases for the standard plattforms.

I needed like 20 Minutes to compile this, because on Windows you need to install the VisualStudio Build tools to get the rust compiler running, which takes forever.

Keep the amazing work up

arm64 releases

Hello! Thank you for this program, much appreciated!
Would it be possible for you to also add arm64 binaries in the release page?

failinig result results in zero exit code

λ hashgood hashgood.exe 0259a0454b88d92984edf4e1413d643073537a0ec98f78db44e8d8320236faca
hashgood.exe / SHA-256
0259a0454b88d92984edf4e1413d643073537a0ec98f78db44e8d8320236fac5
0259a0454b88d92984edf4e1413d643073537a0ec98f78db44e8d8320236faca
command line argument

Result: FAIL

λ echo %errorlevel%
0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.