From 9606644a0beb4f2883e1e0f4c6c81b42ab40b3a1 Mon Sep 17 00:00:00 2001 From: kaotisk Date: Mon, 3 Apr 2023 00:24:49 +0300 Subject: Renaming to prefix convention, introduced ipfs wrappers so it can be easier to maintain, changes in filesplitter and filejoiner as they move sm submodule namespace... like there are namespaces in bash or something --- bin/ak-sm-files | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100755 bin/ak-sm-files (limited to 'bin/ak-sm-files') diff --git a/bin/ak-sm-files b/bin/ak-sm-files new file mode 100755 index 0000000..7eb3b7d --- /dev/null +++ b/bin/ak-sm-files @@ -0,0 +1,156 @@ +#!/bin/bash +# The following creates a mixtape data message +# We can extend it by calling the ak-pack_z_block.sh mixtape/add data +ZFILESDIR="$AK_WORKDIR/files" +TEMP="/tmp/aktmp" +PROGRAM="$(basename $0)" +#set -xe +logit(){ + ak-logthis "<$PROGRAM>" "$1" "$2" +} +if [ ! -d $ZFILESDIR ]; then + mkdir $ZFILESDIR + if [ $? == 0 ] + then + logit "[INFO]" "Folder $ZFILESDIR created!" + else + logit "[ERROR]" "Failed to create $ZFILESDIR folder" + exit 1 + fi + cd $ZFILESDIR +else + logit "[INFO]" "$ZFILESDIR found!" +fi +tempassin(){ + if [ ! -z $1 ]; + then + TEMPASSIN="$1" + else + TIMESTAMP="$(date -u +%s)" + TEMPASSIN="/tmp/aktmp_$TIMESTAMP" + fi + if [ ! -d $TEMPASSIN ]; then + mkdir $TEMPASSIN + fi + cd $TEMPASSIN + echo "$TEMPASSIN" + +} + +usage(){ + echo "$PROGRAM - file" + echo " add " + echo " index" +} + +add(){ + CRP="$(pwd)" + FILENAME="$1" + main $FILENAME $CRP + cat $TEMPASSIN/data | jq -M +} +main(){ + FILENAME="$1" + CRP="$2" + echo "Adding $FILENAME" + logit "[INFO]" "Switching to tmp folder..." + TEMPASSIN="$(tempassin)" + + cd $TEMPASSIN + if [ $? == 0 ]; then + logit "[INFO]" "Success" + else + logit "[ERROR]" "Error with tmp folder" + exit 5 + fi + logit "[INFO]" "Copying $1 to $TEMPASSIN" + + cp $2/$1 $TEMPASSIN/$1 + if [ $? == 0 ]; then + logit "[INFO]" "Copied successfully" + else + logit "[ERROR]" "Error copying..." + fi + + FILE="$TEMPASSIN/$1" + + logit "[INFO]" "Adding $FILE to IPFS..." + FILE_IPFS_HASH=$(ak-ipfs-add $FILE) + if [ $? == 0 ]; then + logit "[INFO]" "Added $FILE to IPFS" + else + logit "[ERROR]" "Error in adding the $FILE to IPFS" + fi + + logit "[INFO]" "Adding $FILE to SHAMAPSYS..." + FILEMAP_SHA512_HASH=$(ak-sm-filesplitter $FILE) + if [ $? == 0 ]; then + logit "[INFO]" "Added $FILE to SHAMAPSYS" + else + logit "[ERROR]" "Error in adding the $FILE to SHAMAPSYS" + fi + + logit "[INFO]" "Signing..." + SIGN_FILE=$FILENAME".asc" + gpg2 --detach-sign --sign-with $FINGERPRINT --armor --output $SIGN_FILE $FILE + if [ $? == 0 ]; then + logit "[INFO]" "Signed" + else + logit "[ERROR]" "Error while signing" + fi + + logit "[INFO]" "Adding signature to IPFS" + SIGNATURE=$(ak-ipfs-add $TEMPASSIN/$SIGN_FILE) + if [ $? == 0 ]; then + logit "[INFO]" "Added" + else + logit "[ERROR]" "Error while adding" + fi + + logit "[INFO]" "Adding signature to SHAMAPSYS" + SHAMAPSIGMAP=$(ak-sm-filesplitter $TEMPASSIN/$SIGN_FILE) + if [ $? == 0 ]; then + logit "[INFO]" "Added" + else + logit "[ERROR]" "Error while adding" + fi + + cat > $TEMPASSIN/data <