2021-08-11 00:08:27 +02:00
#!/bin/bash
########################################################################
# Author: Astrocrew
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
YOU = $( ps auxf --sort= +utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) && [ [ ! $YOU ] ] && echo "ipfs NOT RUNNING. EXIT" && exit 1
MEDIAKEYIPNS = " $1 "
tempdir = $( mktemp -d)
cd $tempdir
## GET CURRENT DHT PROPAGATED VERSION
ipfs --timeout= 10s get --output= " $tempdir " /ipns/$MEDIAKEYIPNS
[ [ ! $? = = 0 ] ] && echo "CANNOT GET MEDIAKEY" && exit 1
## GO INTO $G1PUB EXCHANGE SPACE
[ [ ! -d ./$G1PUB ] ] && mkdir $G1PUB
## DO I OWN THE KEY, OR SHOUD I REQUEST IT
2021-08-11 00:35:42 +02:00
mediakeyid = $( cat ./*/.id | tail -n 1)
2021-08-11 00:08:27 +02:00
if [ [ ! $( ipfs key list -l | grep $mediakeyid ) ] ] ; then
## SEND A MESSAGE ASKING FOR THE KEY (I am a bootstrap or http gateway)
for sharedowners in $( ls -d */ | cut -d '/' -f 1) ; do
~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" send -d " $sharedowners " -t "MEDIAKEY ask for sharing contract" -m " I was wishing to increment $mediakeyid views, but not in your contracts yet. Please send me your ./ipfs/keystore/ $MEDIAKEYIPNS to activate. "
done
exit 1
fi
## INCREMENT COUNTER
2021-08-11 00:31:38 +02:00
cd $G1PUB
2021-08-11 00:08:27 +02:00
count = $( cat .views.counter 2>/dev/null) || count = 0
echo $(( count+1)) > .views.counter
## PUBLISH NEW STATE
2021-08-11 00:31:38 +02:00
I = $( ipfs add -qrH $tempdir | tail -n 1)
2021-08-11 00:08:27 +02:00
echo " CHAIN: $I "
echo $I > .chain
echo " ${ mediakeyid } NAME PUBLISHING "
# MEDIAKEY IPNS name publish
J = $( ipfs name publish --quieter -k ${ mediakeyid } /ipfs/${ I } )
2021-08-11 00:31:38 +02:00
echo " $mediakeyid VIEW COUNTER UPDATED in https://tube.copylaradio.com/ipns/ $J / $G1PUB /.views.counter "
# TODO REFRESH LOCAL STATE
## cp -Rf *.* /home/$YOU/.zen/ipfs/.$IPFSNODEID/KEY/$mediakeyid/
2021-08-11 00:35:42 +02:00
## WRITE SEND .ipns.mediakey.encrypt like in ./zen/tools/MEDIAKEY_dunikey_pass_QR.sh or ./zen/tools/autoPINfriends.sh