You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
n1trux 4f5d004bf1
continuous-integration/drone/push Build is failing Details
make Drone fetch dependencies
5 years ago
.drone.yml make Drone fetch dependencies 5 years ago
.gitignore Initial commit 6 years ago
LICENSE Initial commit 6 years ago
README.md added prototypical readme 5 years ago
sneakerhash.go add file list function, blacklist 6 years ago

README.md

shasharet

Sneakernet Hash Sharing Toolkit

what is shasharet?

A sneaker net is a "network" where people copy files over media they physically move between computers.

Most people have a different understanding on how to organise files. Traditional tools like rsync only skip existing files if the folder structure is synchronised.

Shasharet makes it possible to quickly hash the files on source and target and decide on what you transfer. If duplicate files are detected, they don't get transferred even if they're in different subfolders. You can compare two database files and get a list of

usage

WORK IN PROGRESS THIS IS HOW IT SHOULD WORK in v1.0!

shash /path/to/folder hashes all files in given folder and prints the hashes

shash -f /path/to/database /path/to/folder stores information about target folder in given file

shash cp /path/to/source /path/to/target copies all files from source folders which doesn't exist in target

shash rm /path/to/source /path/to/target deletes all files in target which are present in source

shash diff /path/to/source /path/to/target compares shash.sqlite files in source and target and shows the differences

shash diff -f /path/to/shash.sqlite /path/to/target compares files in database with target dir and show differences

shash dupes /path/to/src /path/to/dest prints duplicate files in src/dest

switches

-f file.sqlite database file location -o file.txt output a text file with one file per line, relative to the basedir --fuzzy fuzzy matching, takes metadata into account --fuzzy-mediainfo=FMT fuzzy matching based on mediainfo "Inform" format tags --include-filetypes

similar tools

rsync fdupes rmlint diff