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 5f29a2145b
continuous-integration/drone/push Build is passing Details
ok so multistage builds don't work
4 years ago
.drone.yml ok so multistage builds don't work 4 years ago
.gitignore maybe this time 4 years ago
LICENSE Initial commit 5 years ago added prototypical readme 5 years ago
sneakerhash.db maybe this time 4 years ago
sneakerhash.go add file list function, blacklist 5 years ago


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



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


-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