#!/bin/sh

# Syntax:	./ipfs-publish <dir-tree>
# Description:	publishes the given directory tree to IPDS
# Author:	Markus Fleschutz
# Source:	github.com/fleschutz/PowerShell
# License:	CC0
# NOTE: 	requires <ipfs> and <hashdeep>

DIR=$1
IPFS_HASHES="IPFS_hash_list.txt"
DF_HASHES="checksum_list.xml"

echo "Publishing directory tree $DIR to IPFS"
echo "(1) Removing Thumbs.db in subfolders ..."
nice find "$DIR" -name Thumbs.db -exec rm -rf {} \;

echo "(2) Adding $DIR to IPFS ..."
nice ipfs add -r "$DIR" > $IPFS_HASHES

echo "(3) Verifying ..."
nice ipfs pin verify

echo "(4) Calculating digital forensics hashes to $DF_HASHES ..."
nice hashdeep -c md5,sha1,sha256 -r -d -l -j 1 "$DIR" > $DF_HASHES

echo "DONE - to publish the content execute: ipfs name publish <HASH>"
exit 0