#!/bin/bash # The following creates a mixtape data message # We can extend it by calling the pack_z_block.sh mixtape/add data ZFILESDIR="$WORKDIR/files" TEMP="/tmp/aktmp" PROGRAM="$(basename $0)" logit(){ 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 git init 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" } add(){ CRP="$(pwd)" FILENAME="$1" main $FILENAME $CRP cat $TEMPASSIN/data | json_pp } 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=$(ipfs add -q $FILE) if [ $? == 0 ]; then logit "[INFO]" "Added $FILE to IPFS" else logit "[ERROR]" "Error in adding the $FILE to IPFS" 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=$(ipfs add -q $TEMPASSIN/$SIGN_FILE) if [ $? == 0 ]; then logit "[INFO]" "Added" else logit "[ERROR]" "Error while adding" fi cat > $TEMPASSIN/data <