astrXbian_UX-et-webUI/actions/view_count.sh

45 lines
1.7 KiB
Bash
Executable File

#!/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
cd $G1PUB
## DO I OWN THE KEY, OR SHOUD I REQUEST IT
mediakeyid=$(cat ./*/.id)
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
count=$(cat .views.counter 2>/dev/null) || count=0
echo $((count+1)) > .views.counter
## PUBLISH NEW STATE
I=$(ipfs add -qrH ./ | tail -n 1)
echo "CHAIN: $I"
echo $I > .chain
echo "${mediakeyid} NAME PUBLISHING "
# MEDIAKEY IPNS name publish
J=$(ipfs name publish --quieter -k ${mediakeyid} /ipfs/${I})
echo "$id VIEW COUNTER UPDATED in https://tube.copylaradio.com/ipns/$J/$G1PUB/.views.counter"