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.

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.