aboutsummaryrefslogtreecommitdiff
path: root/bin/ak-data-expand
blob: 25e42950396c1780cb42ffdc75aa00db6194fb38 (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
#!/bin/bash
PROGRAM="$(basename $0)"
logit(){
	logthis "<$PROGRAM>" "$1" "$2"
}
if [ ! -z "$1" ] && [ ! -z "$2" ]
then
	echo -n "$1" | grep -e 'Qm.\{44\}' >/dev/null
	if [ "$?" == 0 ]
	then
		ipfs --timeout=10s cat $1 > /dev/null
		if [ "$?" == 0 ]
		then
			ipfs --timeout=10s cat $1 | json_pp > /dev/null
			if [ "$?" == 0 ]
			then
				ipfs --timeout=10s cat $1 | jq | grep ipfs > /dev/null
				if [ "$?" == 0 ]
				then
					DATA="$(ipfs --timeout=10s cat $1 | jq | grep ipfs | sed -e 's/"ipfs": "//g; s/[",]//g; s/ //g')"
					if [ "$?" == 0 ]
					then
						ipfs --timeout=10s cat $1 | jq | grep detach > /dev/null
						if [ "$?" == 0 ]
						then
							DETACH="$(ipfs --timeout=10s cat $1 | jq | grep detach | sed -e 's/"detach": "//g; s/[",]//g; s/ //g')"
							if [ "$?" == 0 ]
							then
								echo -n "$2" | grep -e 'Qm.\{44\}' >/dev/null
								if [ "$?" == 0 ]
								then
								    gpg="$2"
								    ipfs --timeout=10s get $gpg > /dev/null 2>&1
								    if [ "$?" == 0 ]
								    then
									gpg2 --import $gpg > /dev/null 2>&1
									if [ "$?" == 0 ]
									then
									    logit "[GPG]" "$gpg imported."
									else
									    logit "[ERROR]" "Could not import GPG key: $gpg ."
									    exit 1
									fi
								    else
									logit "[ERROR]" "Could not get GPG key: $gpg ."
									exit 1
								    fi
								    ipfs --timeout=10s get $DETACH > /dev/null 2>&1
								    if [ "$?" == 0 ]
								    then
									mv $DETACH $DATA.asc
									logit "[INFO]" "Block signature downloaded"
								    else
									logit "[ERROR]" "Error while getting $DETACH for $DATA"
									exit 1
								    fi
								    ipfs --timeout=10s get $DATA > /dev/null 2>&1
								    if [ "$?" == 0 ]
								    then
									logit "[INFO]" "Downloaded $DATA."
								    else
									logit "[ERROR]" "Could not get $DATA"
									exit 1
								    fi
								    gpg2 --verify $DATA.asc > /dev/null 2>&1
								    if [ "$?" == 0 ]
								    then
									logit "[GPG]" "$gpg signature of $DATA is verified."
								    else
									logit "[ERROR]" "Could not verify $DATA with GPG key $gpg."
									exit 1
								    fi
								    echo '"'$1'":{"ipfs":"'$DATA'","detach":"'$DETACH'"},'
								else
								    echo "Crap! Thanks though"
								fi
							else
								echo "Crap! Thanks though"
							fi
						else
							echo "Crap! Thanks though"
						fi
					else
						echo "Crap! Thanks though"
					fi
				else
					echo "Crap! Thanks though"
				fi
			else
				echo "Crap! Thanks though"
			fi
		else
			echo "Crap! Thanks though"
		fi
	else
		echo "Crap! Thanks though"
	fi
else
	echo "Useless without a thing to do."

fi