No description
Find a file
n1trux 5f29a2145b
All checks were successful
continuous-integration/drone/push Build is passing
ok so multistage builds don't work
2020-02-14 23:24:05 +01:00
.drone.yml ok so multistage builds don't work 2020-02-14 23:24:05 +01:00
.gitignore maybe this time 2020-02-14 23:19:21 +01:00
LICENSE Initial commit 2019-02-26 22:26:03 +01:00
README.md added prototypical readme 2019-11-01 16:34:35 +01:00
sneakerhash.db maybe this time 2020-02-14 23:19:21 +01:00
sneakerhash.go add file list function, blacklist 2019-02-27 18:00:48 +01:00

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