~derf / projects / App::Hashl v1.01
dark mode

This project is no longer being developed. There will be no updates and no security fixes. This page serves archival purposes only.

hashl creates a database with partial file hashes. Using it, you can for example leech files off slow FTPs withouth wasting bandwidth on duplicates you already have; or you can keep a list of files on an external database and always tell people what you have and what you don't – and find out which files in a given directory are not on the external disk.

hashl only takes the first few MiB of every file into account, giving it a huge speed advantage at the cost of possible (though improbable) false positives. Do not use it for file integrity checks.

For further details on these usecases, please see hashl(1).


App::Hashl v1.01

App-Hashl-1.01.tar.gz (signature)

  • You can now use -s 0 / --read-size=0 to hash entire files
  • New option: -e file / --extra-db=file
  • New option: -x / --one-file-system
  • New command: "hashl ls" lists files using an ls-style output format
  • Fix find-new and find-known output so it can be piped to other commands
  • New dependencies: DateTime and List::MoreUtils

App::Hashl v1.00

App-Hashl-1.00.tar.gz (signature)

  • Add "hashl list regex" to filter listed files by name
  • Do not fail when encountering zero-length files

App::Hashl v0.2

App-Hashl-0.2.tar.gz (signature)

  • The internal representation of ignored hashes was changed
  • hashl update no longer re-adds ignored (but existing) files
  • hashl update tries to save its state when being interrupted (sigint/sigterm)
  • add hashl -f update - update db, unignore and add any ignored files in the scanned directory

hashl v0.1

hashl-0.1.tar.gz (signature)

  • Initial release
  • Create/Update hash database
  • Find/Copy files not in database
  • Ignore files (will be marked as known, but can be removed from the file system)