2021-02-20 02:03:53 +01:00
|
|
|
#!/bin/bash
|
|
|
|
########################################################################
|
2021-08-05 04:09:35 +02:00
|
|
|
# Author:
|
2021-02-20 02:03:53 +01:00
|
|
|
# Version: 0.1
|
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
|
|
########################################################################
|
|
|
|
MY_PATH="`dirname \"$0\"`" # relative
|
|
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|
|
|
ME="${0##*/}"
|
|
|
|
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
|
|
|
|
IPFSNODEID=$(ipfs id -f='<id>\n')
|
|
|
|
G1PUB=$(cat ~/.zen/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
|
|
|
|
|
2021-04-04 20:34:07 +02:00
|
|
|
# This script is called to manage SWARM autoPIN
|
|
|
|
# Actual behaviour is to accept anything from
|
2021-06-14 16:35:38 +02:00
|
|
|
# SOURCE: ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/${PINnode}/.ipfsid.encrypt (new_file_in_astroport.sh)
|
2021-08-05 04:09:35 +02:00
|
|
|
# MEDIAKEY: ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/${PINnode}/.ipns.mediakey.encrypt
|
2021-02-22 02:17:21 +01:00
|
|
|
|
2021-02-20 02:03:53 +01:00
|
|
|
## AUTO PIN FRIENDS ACTIVATION
|
2021-05-18 01:24:07 +02:00
|
|
|
for astrofile in $(ls -dt ~/.zen/ipfs_swarm/.12D*/KEY/*/*/${G1PUB}/.ipfsid.encrypt | shuf);
|
2021-02-20 02:03:53 +01:00
|
|
|
do
|
2021-06-14 16:35:38 +02:00
|
|
|
# decrypt $astrofile
|
|
|
|
mediakey=$(echo "$astrofile" | cut -d '/' -f 8 )
|
|
|
|
keytype=$(echo "$mediakey" | cut -d '_' -f 1 )
|
|
|
|
mediaid=$(echo "$mediakey" | cut -d '_' -f 2 )
|
2021-08-05 04:09:35 +02:00
|
|
|
|
2021-06-14 16:35:38 +02:00
|
|
|
g1source=$(echo "$astrofile" | cut -d '/' -f 9 )
|
|
|
|
ipfsnodesource=$(~/.zen/astrXbian/zen/tools/g1_to_ipfs.py $g1source)
|
|
|
|
|
|
|
|
echo "$mediakey PINNING ASKED BY $g1source"
|
|
|
|
## VERIFY CONTRACT... TODO
|
|
|
|
$MY_PATH/natools.py decrypt -f pubsec -k "$HOME/.zen/secret.dunikey" -i "$astrofile" -o "/tmp/ipfslink.txt"
|
|
|
|
astrofile=$(cat /tmp/ipfslink.txt)
|
2021-08-05 04:09:35 +02:00
|
|
|
# PINNING NEW FILE
|
2021-06-14 16:35:38 +02:00
|
|
|
echo "SHOULD I PIN ~/.zen/PIN/${astrofile} ??"
|
|
|
|
if [[ ! -d ~/.zen/PIN/${astrofile} ]];
|
|
|
|
then
|
|
|
|
echo "PIN : $astrofile"
|
|
|
|
ipfs pin add /ipfs/$astrofile && mkdir -p ~/.zen/PIN/${astrofile}/
|
|
|
|
echo "RECORDING MY PIN ~/.zen/PIN/"
|
|
|
|
[[ -d ~/.zen/PIN/${astrofile} ]] && echo "0" > ~/.zen/PIN/${astrofile}/$G1PUB
|
2021-08-05 04:09:35 +02:00
|
|
|
|
2021-06-14 16:35:38 +02:00
|
|
|
echo "ADD ${mediakey} to my local keystore (SO I CAN UPDATE IPNS LINK LATER with ipns_TAG_refresh.sh)"
|
|
|
|
if [[ -f $HOME/.zen/ipfs_swarm/.${ipfsnodesource}/KEY/${mediakey}/${g1source}/${G1PUB}/.ipns.mediakey.encrypt ]]; then
|
|
|
|
$MY_PATH/natools.py decrypt -f pubsec -k "$HOME/.zen/secret.dunikey" -i "$HOME/.zen/ipfs_swarm/.${ipfsnodesource}/KEY/${mediakey}/${g1source}/${G1PUB}/.ipns.mediakey.encrypt" -o "/tmp/ipns.mediakey"
|
2021-08-05 04:09:35 +02:00
|
|
|
if [[ -f /tmp/ipns.mediakey ]]; then
|
2021-06-17 23:41:27 +02:00
|
|
|
KEYFILE=$($MY_PATH/give_me_keystore_filename.py "${mediakey}")
|
2021-08-05 04:09:35 +02:00
|
|
|
[[ ! -f ~/.ipfs/keystore/$KEYFILE ]] && mv /tmp/ipns.mediakey ~/.ipfs/keystore/$KEYFILE || ( echo "KEYSTORE EXISTING. EXIT" && continue )
|
2021-06-14 16:35:38 +02:00
|
|
|
echo "${mediakey}" > ~/.zen/PIN/${astrofile}/MEDIAKEY
|
|
|
|
echo "$(ipfs key list -l | grep ${mediakey} | cut -d ' ' -f 1)" > ~/.zen/PIN/${astrofile}/IPNSLINK
|
2021-06-29 02:16:03 +02:00
|
|
|
## USED BY BOOTSTRAP IN ipns_TAG_refresh.sh TO REFRESH MEDIAKEY publishing
|
2021-06-14 16:35:38 +02:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
else
|
2021-08-05 04:09:35 +02:00
|
|
|
echo "ALREADY PINNED"
|
|
|
|
continue
|
2021-06-14 16:35:38 +02:00
|
|
|
fi
|
2021-08-05 04:09:35 +02:00
|
|
|
|
2021-06-14 16:35:38 +02:00
|
|
|
## TOOD : DECIDE TO ACTIVATE THIS BEHAVIOUR OR NOT ?
|
|
|
|
## Copy FASTRXBIAN index (makes movies available for ALL)
|
|
|
|
[[ ! -f ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/FASTRXBIAN ]] && echo "CAT;TMDB;YEAR;TITLE;SAISON;GENRES;GROUPES;RES;URLS=http://127.0.0.1:8181" > ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/FASTRXBIAN
|
|
|
|
[[ "$keytype" == "TMDB" ]] && cat ~/.zen/ipfs_swarm/.12D*/astroport/kodi/vstream/FASTRXBIAN | grep ";$mediaid;" | tail -n 1 >> ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/FASTRXBIAN
|
2021-05-18 01:15:28 +02:00
|
|
|
|
2021-06-14 16:35:38 +02:00
|
|
|
# EXIT AFTER ONE PIN ONLY (next PIN in cron_MINUTE time)
|
|
|
|
[[ -f ~/.zen/PIN/${astrofile}/$G1PUB ]] && break
|
2021-02-20 02:03:53 +01:00
|
|
|
done
|
|
|
|
|
2021-06-14 16:35:38 +02:00
|
|
|
exit 0
|