From 294a6ae9791a1775acdf2af64564f13200d5466b Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 19 Sep 2021 01:29:33 +0200 Subject: [PATCH] KEY refreshing based on TIMESTAMP --- zen/ipns_TAG_refresh.sh | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/zen/ipns_TAG_refresh.sh b/zen/ipns_TAG_refresh.sh index c9b362d..4f79886 100755 --- a/zen/ipns_TAG_refresh.sh +++ b/zen/ipns_TAG_refresh.sh @@ -53,13 +53,21 @@ count=0 for mediakey in $(ls ~/.zen/ipfs/.${IPFSNODEID}/KEY/); # Alternative search do [[ "${mediakey}" == "" ]] && continue ## prevent empty mediakey - [[ ! $(echo "${mediakey}" | grep "TMDB_") ]] && continue ## REFRESH ONLY TMDB (level 1), youtube is level 0 +# [[ ! $(echo "${mediakey}" | grep "TMDB_") ]] && continue ## REFRESH ONLY TMDB (level 1), youtube is level 0 IPNSLINK=$(ipfs key list -l | grep ${mediakey} | cut -d ' ' -f 1) [[ "${IPNSLINK}" == "" ]] && continue ## prevent empty IPNSLINK count=$((count+1)) && echo "$count) " FILE_NAME=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/${G1PUB}/.ipfs.filename) TITLE=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/${G1PUB}/.title) + ## REFRESH MORE THAN 6 HOURS TIMESTAMP KEY + TIMESTAMP=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/${G1PUB}/.timestamp) # INITIAL TIMESTAMP + [[ -f ~/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/.timestamp ]] && TIMESTAMP=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/.timestamp) # LAST REFRESH + timestamp=$(date -u +%s%N | cut -b1-13) + STAMPDIFF=$((timestamp - TIMESTAMP)) + echo "${mediakey} LAST UPDATED $STAMPDIFF milliseconds AGO" + [ $STAMPDIFF -lt 21600000 ] && continue # 6h = 21600000 ms + source=$(echo $mediakey | cut -d '_' -f 1) ANNONCE=$(cat ~/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/${G1PUB}/.gchange.ad) @@ -69,7 +77,7 @@ do # file=$(cat /tmp/${mediakey}_filelink.txt | rev | cut -d '/' -f 1 | rev) ## TREAT OLD DATA from new_file_in_astroport.sh (LATER can be removed) - if [[ ! -f $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/MEDIAPUBKEY ]]; then + if [[ ! -f $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/content.json && -f ~/.zen/ipfs/.${IPFSNODEID}/KEY/${mediakey}/${G1PUB}/video.json ]]; then mediakeyfile=$($MY_PATH/tools/give_me_keystore_filename.py $mediakey) $MY_PATH/tools/natools.py privkey -f ipfs-keystore -k $HOME/.ipfs/keystore/$mediakeyfile -F pubsec -o /tmp/${mediakey}.dunikey # PubFromDunikey=$(cat /tmp/${mediakey}.dunikey | grep "sec" | cut -d ' ' -f2 | base58 -d | tail -c+33 | base58) @@ -86,7 +94,7 @@ do ### IPNS LINK CAN EVOLVE (REFRESH EVERY 12 H TO MAINTAIN ALIVE IN THE SWARM) # TODO : Use templating ### This index.html is ipns link root, 1st welcome page for MEDIAKEY -> *** Redirect to CONTRACTS processing HERE *** - + cat /home/$YOU/.zen/astrXbian/www/boris/youtube_watch_step2.html \ | sed "s/\${IPNSLINK}/$IPNSLINK/g" \ | sed "s/\${XZUID}/$XZUID/g" \ @@ -116,11 +124,11 @@ do [[ "$FILETYPE" == "mp3" ]] && MIMETYPE="audio/mpeg" && HTMLTAG="audio" cat /home/$YOU/.zen/astrXbian/www/boris/youtube_watch_step3.html \ - | sed "s/\${TITLE}/$TITLE/g" \ - | sed "s/\${XZUID}/$XZUID/g" \ - | sed "s/\${IPFSREPFILEID}/$IPFSREPFILEID/g" \ - | sed "s/\${URLENCODE_FILE_NAME}/$URLENCODE_FILE_NAME/g" \ - > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/index.html + | sed "s/\${TITLE}/$TITLE/g" \ + | sed "s/\${XZUID}/$XZUID/g" \ + | sed "s/\${IPFSREPFILEID}/$IPFSREPFILEID/g" \ + | sed "s/\${URLENCODE_FILE_NAME}/$URLENCODE_FILE_NAME/g" \ + > ~/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/index.html if [[ "$source" == "YOUTUBE" ]] @@ -183,7 +191,7 @@ for ipnslink in $(ls ~/.zen/PIN/*/IPNSLINK); do ipfsid=$(echo $ipnslink | cut -d '/' -f 6) mediakey=$(cat ~/.zen/PIN/${ipfsid}/MEDIAKEY) - [[ ! $(echo "${mediakey}" | grep "TMDB_") ]] && continue ## REFRESH ONLY TMDB (level 1), youtube is level 0 +# [[ ! $(echo "${mediakey}" | grep "TMDB_") ]] && continue ## REFRESH ONLY TMDB (level 1), youtube is level 0 [[ ! $(ipfs key list | grep ${mediakey}) ]] && echo "ERROR MISSING MEDIAKEY" && continue @@ -192,12 +200,21 @@ for ipnslink in $(ls ~/.zen/PIN/*/IPNSLINK); do echo "${mediakey} GET IPNS" ipfs get -o /tmp/${mediakey} /ipns/$ipnsid [ $? -ne 0 ] && continue + + ## REFRESH MORE THAN 6 HOURS TIMESTAMP KEY + TIMESTAMP=$(cat /tmp/${mediakey}/.timestamp) # LAST REFRESH + [[ ! $TIMESTAMP ]] && TIMESTAMP=$(cat /tmp/${mediakey}/*/.timestamp | tail -n 1) # INITIAL TIMESTAMP + timestamp=$(date -u +%s%N | cut -b1-13) + STAMPDIFF=$((timestamp - TIMESTAMP)) + echo "PIN WAS LAST UPDATED $STAMPDIFF milliseconds AGO" + [ $STAMPDIFF -lt 21600000 ] && continue # 6h = 21600000 ms + echo "ADD TO IPFS" NEWIPFS=$(ipfs add -rHq /tmp/${mediakey}/ | tail -n 1) ## PUBLISH IT ipfs name publish -k ${mediakey} --quieter /ipfs/$NEWIPFS - echo "ECHO PUBLISHING https://tube.copylaradio.com/ipns/$ipnsid TO /ipfs/$NEWIPFS" + echo "PIN PUBLISHING https://tube.copylaradio.com/ipns/$ipnsid TO /ipfs/$NEWIPFS" rm -Rf /tmp/${mediakey} done