blob: d66fc0da5fd4e49b92d206a88aed43d976b1a57e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
#!/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"
if [ ! -d $ZFILESDIR ]; then
mkdir $ZFILESDIR
cd $ZFILESDIR
git init
else
logthis "error $ZFILESDIR not 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(){
title
echo "$0 - file"
}
add(){
CRP="$(pwd)"
FILENAME="$1"
main $FILENAME $CRP
cat $TEMPASSIN/data | json_pp
}
main(){
FILENAME="$1"
CRP="$2"
echo "Adding $FILENAME"
logthis "Switching to tmp folder..."
TEMPASSIN="$(tempassin)"
cd $TEMPASSIN
if [ $? == 0 ]; then
logthis "Success"
else
logthis "Error with tmp folder"
exit 5
fi
logthis "Copying $1 to $TEMPASSIN"
cp $2/$1 $TEMPASSIN/$1
if [ $? == 0 ]; then
logthis "Copied successfully"
else
logthis "Error copying..."
fi
FILE="$TEMPASSIN/$1"
logthis "Adding $FILE to IPFS..."
FILE_IPFS_HASH=$(ipfs add -q $FILE)
if [ $? == 0 ]; then
logthis "done"
else
logthis "error"
fi
logthis "Signing..."
SIGN_FILE=$FILENAME".asc"
gpg2 --detach-sign --sign-with $FINGERPRINT --armor --output $SIGN_FILE $FILE
if [ $? == 0 ]; then
logthis "Signed"
else
logthis "Error while signing"
fi
logthis "Adding signature to IPFS"
SIGNATURE=$(ipfs add -q $TEMPASSIN/$SIGN_FILE)
if [ $? == 0 ]; then
logthis "Added"
else
logthis "Error while adding"
fi
cat > $TEMPASSIN/data <<EOF
{
"timestamp":"$(date -u +%s)",
"filename":"$FILENAME",
"ipfs":"$FILE_IPFS_HASH",
"detach":"$SIGNATURE"
}
EOF
echo "Printing data..."
cat $TEMPASSIN/data
echo "Publishing..."
pack_z_block files/add $TEMPASSIN/data
if [ $? == 0 ]
then
echo "cool"
else
echo "not?"
exit 2
fi
}
title(){
echo "File block creator"
echo "=================="
}
if [ ! -z $1 ]; then
case $1 in
help) usage; exit;;
add) add $2; exit;;
*) usage; exit;;
esac
else usage
fi
|