simpler rewriting

This commit is contained in:
qo-op 2021-03-04 00:02:09 +01:00
parent b2abeae1fd
commit 98092ac305
2 changed files with 65 additions and 64 deletions

View File

@ -50,7 +50,7 @@ CHOICE=$(zenity --entry --width 300 --title="Catégorie" --text="Choisissez la c
# LOWER CARACTERS # LOWER CARACTERS
CAT=$(echo "${CHOICE}" | awk '{print tolower($0)}') CAT=$(echo "${CHOICE}" | awk '{print tolower($0)}')
PREFIX=$(echo "${CAT}" | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, S, A, Y PREFIX=$(echo "${CAT}" | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, S, A, Y, M ...
[[ $PREFIX == "" ]] && exit 1 [[ $PREFIX == "" ]] && exit 1
case ${CAT} in case ${CAT} in
@ -59,10 +59,10 @@ case ${CAT} in
######################################################################## ########################################################################
youtube) youtube)
YTURL=$(zenity --entry --width 300 --title "Lien ou identifiant à copier" --text "Copiez le lien (URL) ou l'ID de la vidéo" --entry-text="") YTURL=$(zenity --entry --width 300 --title "Lien ou identifiant à copier" --text "Indiquez le lien (URL) ou l'ID de la vidéo" --entry-text="")
[[ $YTURL == "" ]] && exit 1 [[ $YTURL == "" ]] && exit 1
# Create TEMP directory # Create TEMP directory to copy $YID_$TITLE.$FILE_EXT
YTEMP="/tmp/$(date -u +%s%N | cut -b1-13)" YTEMP="/tmp/$(date -u +%s%N | cut -b1-13)"
mkdir -p ${YTEMP} mkdir -p ${YTEMP}
@ -71,7 +71,6 @@ echo "VIDEO $YTURL"
/usr/local/bin/youtube-dl -f '[height=720]/best' \ /usr/local/bin/youtube-dl -f '[height=720]/best' \
--write-info-json --write-annotations \ --write-info-json --write-annotations \
--no-mtime -o "${YTEMP}/%(id)s_%(title)s.%(ext)s" $YTURL --no-mtime -o "${YTEMP}/%(id)s_%(title)s.%(ext)s" $YTURL
CAT="youtube"
# Get filename, extract ID, make destination dir and move copy. # Get filename, extract ID, make destination dir and move copy.
YFILE=$(ls -t ${YTEMP} | head -n 1) YFILE=$(ls -t ${YTEMP} | head -n 1)
@ -79,18 +78,23 @@ FILE_NAME="$(basename "${YFILE}")"
FILE_EXT="${FILE_NAME##*.}" FILE_EXT="${FILE_NAME##*.}"
YID=$(echo "${FILE_NAME}" | cut -d "_" -f 1) YID=$(echo "${FILE_NAME}" | cut -d "_" -f 1)
YNAME=$(echo "${FILE_NAME}" | cut -d "_" -f 2) YNAME=$(echo "${FILE_NAME}" | cut -d "_" -f 2-)
TMDB="${YID}"
FILE_PATH="$HOME/astroport/$CAT/$YID" FILE_PATH="$HOME/astroport/youtube/$YID"
mkdir -p ${FILE_PATH} && mv ${YTEMP}/* ${FILE_PATH}/ mkdir -p ${FILE_PATH} && mv -f ${YTEMP}/* ${FILE_PATH}/
TMDB=$YID
## CORRECT PARAMETERS to Make Kodi compatible YASTRXBIAN FILE
CAT="film"
PREFIX="Y"
TITLE="${YNAME%.*}" TITLE="${YNAME%.*}"
GENRES="[Youtube]" GENRES="[Youtube]"
GROUPES="${XZUID}" GROUPES="${XZUID}"
FILE_RES=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "${FILE_PATH}/${FILE_NAME}" | cut -d "x" -f 2)
RES=${FILE_RES%?}0p
rm -Rf ${YTEMP} rm -Rf ${YTEMP}
;; ;;
######################################################################## ########################################################################
@ -114,7 +118,8 @@ then
song=$(zenity --entry --width 300 --title "Titre à chercher sur Youtube" --text "Titre recherché" --entry-text="") song=$(zenity --entry --width 300 --title "Titre à chercher sur Youtube" --text "Titre recherché" --entry-text="")
[[ $song == "" ]] && exit 1 [[ $song == "" ]] && exit 1
else else
song="" song=$(zenity --entry --width 300 --title "Confirmer ID" --text "Titre recherché (ou confirmer la saisie précédente)" --entry-text="$artist")
[[ "$song" == "$artist" ]] && song=""
fi fi
# Download mp3 from 1st youtube search video result # Download mp3 from 1st youtube search video result
@ -129,20 +134,18 @@ FILE_NAME="$(basename "${YFILE}")"
FILE_EXT="${FILE_NAME##*.}" FILE_EXT="${FILE_NAME##*.}"
YID=$(echo "${FILE_NAME}" | cut -d "_" -f 1) YID=$(echo "${FILE_NAME}" | cut -d "_" -f 1)
YNAME=$(echo "${FILE_NAME}" | cut -d "_" -f 2) YNAME=$(echo "${FILE_NAME}" | cut -d "_" -f 2-)
FILE_PATH="$HOME/astroport/$CAT/$artist/$song" [[ ! $islink ]] && FILE_PATH="$HOME/astroport/$CAT/$artist/$song" \
mkdir -p "${FILE_PATH}" && mv ${YTEMP}/* "${FILE_PATH}/" || FILE_PATH="$HOME/astroport/$CAT/${YID}"
TMDB=$YID mkdir -p "${FILE_PATH}" && mv -f ${YTEMP}/* "${FILE_PATH}/"
TMDB="${YID}"
TITLE="${YNAME%.*}" TITLE="${YNAME%.*}"
GENRES="[MP3]" GENRES="[MP3]"
GROUPES="${XZUID}" GROUPES="${XZUID}"
## TODO call mazash to get audiofingerprint
# curl -X POST "http://localhost:8600/api/v1/mazash/recognize" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"cid\":\"QmU3XRYZiebdDMcUwKrvecxyDgtgVY6zaNYrzQBeCkFb2r\",\"extension\":\".mp3\",\"song\":\"${TITLE}\"}"
rm -Rf ${YTEMP} rm -Rf ${YTEMP}
zenity --warning --width ${large} --text "DEBUG: MP3 copié dans ${FILE_PATH}" zenity --warning --width ${large} --text "DEBUG: MP3 copié dans ${FILE_PATH}"
@ -167,7 +170,7 @@ FILE_EXT="${FILE_NAME##*.}"
FILE_TITLE="${FILE_NAME%.*}" FILE_TITLE="${FILE_NAME%.*}"
# OPEN default browser and search TMDB # OPEN default browser and search TMDB
zenity --question --width 300 --text "IMPORTANT! Nous allons ouvrir le site themoviedb pour y récuperer le numéro d'identification" zenity --question --width 300 --text "IMPORTANT! Nous allons ouvrir le site themoviedb pour y récuperer le numéro d'identification de votre vidéo"
[ $? == 1 ] && exit 1 [ $? == 1 ] && exit 1
xdg-open "https://www.themoviedb.org/search?query=${FILE_TITLE}" xdg-open "https://www.themoviedb.org/search?query=${FILE_TITLE}"
@ -239,17 +242,19 @@ FILM_GENRES=$(zenity --list --checklist --title="GENRE" --height=${haut}\
GENRES="[\"$(echo ${FILM_GENRES} | sed s/\|/\",\"/g)\"]" GENRES="[\"$(echo ${FILM_GENRES} | sed s/\|/\",\"/g)\"]"
[[ $GENRES == "" ]] && exit 1 [[ $GENRES == "" ]] && exit 1
# VIDEO GROUP # VIDEO GROUP (was XZUID, now becoming IPNS key)
GROUPES=$(zenity --entry --width 300 --title "Groupe" --text "Associez la vidéo à un groupe (optionnel). Exemple: PIXAR" --entry-text="${XZUID}") # GROUPES=$(zenity --entry --width 300 --title "Groupe" --text "Associez la vidéo à un groupe (optionnel). Exemple: PIXAR" --entry-text="${XZUID}")
GROUPES="_IPNSKEY_" # USE GROUPS TO RECORD IPNS LINK : Replaced later
# DEBUG VERIFICATION # DEBUG VERIFICATION
zenity --question --width ${large} --title "CONTROLE DES INFORMATIONS - EMBARQUEMENT ASTROPORT! OK?"\ # zenity --question --width ${large} --title "EMBARQUEMENT ASTROPORT! OK?"\
--text "${CAT}; ${TMDB}; ${YEAR}; ${TITLE}; ${SAISON}; ${GENRES}; ${GROUPES}; ${RES} = ${FILE_NAME}" # --text "${FILE_NAME} (${CAT};${TMDB};${YEAR};${TITLE};${SAISON};${GENRES};${GROUPES};${RES})"
[ $? == 1 ] && echo "ANNULATION." && exit 1 # [ $? == 1 ] && echo "ANNULATION." && exit 1
### OK MOVING FILE TO ASTROPORT #### ### OK MOVING FILE TO ASTROPORT ####
mkdir -p ~/astroport/${CAT}/${TMDB}/ mkdir -p ~/astroport/${CAT}/${TMDB}/
mv "${FILE_PATH}/${FILE_NAME}" "$HOME/astroport/${CAT}/${TMDB}/${TITLE}.${FILE_EXT}" && zenity --warning --width ${large} --text "Votre fichier ~/astroport/${CAT}/${TMDB}/${TITLE}.${FILE_EXT} est prêt à embarquer. Cliquez sur OK puis patientez quelques minutes..."
mv -f "${FILE_PATH}/${FILE_NAME}" "$HOME/astroport/${CAT}/${TMDB}/${TITLE}.${FILE_EXT}" && zenity --warning --width ${large} --text "Votre fichier ~/astroport/${CAT}/${TMDB}/${TITLE}.${FILE_EXT} est prêt à embarquer. Cliquez sur OK puis patientez quelques minutes..."
FILE_NAME="${TITLE}.${FILE_EXT}" FILE_NAME="${TITLE}.${FILE_EXT}"
;; ;;
@ -259,21 +264,24 @@ FILE_NAME="${TITLE}.${FILE_EXT}"
*) *)
zenity --warning --width ${large} --text "Impossible d'interpréter votre commande $CAT" zenity --warning --width ${large} --text "Impossible d'interpréter votre commande $CAT"
exit 1
;; ;;
esac esac
## TRANSMIT "ajouter_video.txt" ########################################################################
## CREATE "~/astroport/${CAT}/${TMDB}/ajouter_video.txt"
########################################################################
URLENCODE_FILE_NAME=$(echo ${FILE_NAME} | jq -Rr @uri) URLENCODE_FILE_NAME=$(echo ${FILE_NAME} | jq -Rr @uri)
echo "${CAT};$TMDB;$YEAR;$TITLE;$SAISON;${GENRES};${GROUPES};$RES;/ipfs/_IPFSREPFILEID_/$URLENCODE_FILE_NAME" > ~/astroport/${CAT}/${TMDB}/ajouter_video.txt echo "${CAT};${TMDB};${YEAR};${TITLE};${SAISON};${GENRES};${GROUPES};${RES};/ipfs/_IPFSREPFILEID_/$URLENCODE_FILE_NAME" > ~/astroport/${CAT}/${TMDB}/ajouter_video.txt
# _IPFSREPFILEID_ is replaced later # _IPFSREPFILEID_ is replaced later
######################################################################## ########################################################################
# ADD $FILE to IPFS / ASTROPORT / KODI # ADD $FILE to IPFS / ASTROPORT / KODI
######################################################################## ########################################################################
~/.zen/astrXbian/zen/new_file_in_astroport.sh "$HOME/astroport/${CAT}/${TMDB}/" "${FILE_NAME}" ~/.zen/astrXbian/zen/new_file_in_astroport.sh "$HOME/astroport/${CAT}/${TMDB}/" "${FILE_NAME}" > /tmp/${CAT}_${TMDB}.log 2>&1
######################################################################## ########################################################################
######################################################################## ########################################################################
[ $? == 0 ] && zenity --warning --width 300 --text "OK! Votre source vidéo $cat a été transférée dans Astroport" \ [ $? == 0 ] && zenity --warning --width 300 --text "OK! Votre source vidéo $cat a été transférée dans Astroport" && exit 0 \
|| zenity --warning --width 300 --text "Désolé une erreur est survenue..." || zenity --warning --width 300 --text "Désolé une erreur est survenue... LOG: /tmp/${CAT}_${TMDB}.log" && exit 1

View File

@ -60,12 +60,14 @@ case ${CAT} in
youtube) youtube)
INDEXPREFIX="YOUTUBE_" INDEXPREFIX="YOUTUBE_"
REFERENCE=$(echo "$file" | cut -d "_" -f 1) # Youtube filename starts with ID_ REFERENCE=$(echo "$file" | cut -d "_" -f 1) # Youtube filename starts with ID_
TITLE=$(echo "$TITLE" | cut -d "_" -f 2) TITLE=$(echo "$TITLE" | cut -d "_" -f 2-)
;; ;;
mp3) mp3)
## DIFFERENT TREATMENT ## DIFFERENT TREATMENT
INDEXPREFIX="MP3_" INDEXPREFIX="MP3_"
REFERENCE=$(echo "$file" | cut -d "_" -f 1) # Youtube filename starts with ID_ REFERENCE=$(echo "$file" | cut -d "_" -f 1) # Youtube filename starts with ID_
echo "Please use new_mp3_in_astroport.sh ... EXIT"
exit 1
;; ;;
film | serie | anime) film | serie | anime)
INDEXPREFIX="TMDB_" INDEXPREFIX="TMDB_"
@ -86,18 +88,18 @@ if [[ ${isREFERENCEinINDEX} ]]
then then
if [[ -d ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB} ]] if [[ -d ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB} ]]
then then
# FILE IS MINE, replacing it in INDEX # FILE IS MINE, NEW VERSION?! replacing it in INDEX
ipnslink=$(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.ipns.link) ipnslink=$(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.ipns.link)
echo "FOUND IPNS ${INDEXPREFIX}${REFERENCE} = $ipnslink" echo "FOUND IPNS ${INDEXPREFIX}${REFERENCE} = $ipnslink"
# DELETING GCHANGE AD # DELETING GCHANGE AD, WILL BE CREATED AGAIN
gchangeAD=$(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.gchange.ad) gchangeAD=$(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.gchange.ad)
~/.zen/astrXbian/zen/jaklis/jaklis.py deleteoffer -i $gchangeAD ~/.zen/astrXbian/zen/jaklis/jaklis.py deleteoffer -i $gchangeAD
rm ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.gchange.ad rm ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.gchange.ad
else else
echo "FILE IS ALREADY EXISTING FROM ANOTHER FRIEND" echo "FILE IS ALREADY EXISTING FROM ANOTHER FRIEND"
echo ${isREFERENCEinINDEX} echo ${isREFERENCEinINDEX} | head -n 1 | cut -d ":" -f 2-
# I could send message to my friend, PIN, exchange contract... TODO # I could send message to my friend, PIN, exchange contract... WHAT IS BEST TODO ??
fi fi
# DELETING OLD LINE FROM INDEX # DELETING OLD LINE FROM INDEX
@ -160,7 +162,7 @@ echo "<meta http-equiv=\"Refresh\" content=\"0;URL=http://127.0.0.1:8181/ipfs/$I
IPNSLINK=$(ipfs key list -l | grep ${INDEXPREFIX}${REFERENCE} | cut -d ' ' -f 1) IPNSLINK=$(ipfs key list -l | grep ${INDEXPREFIX}${REFERENCE} | cut -d ' ' -f 1)
echo "<meta http-equiv=\"Refresh\" content=\"10;URL=https://aries.copylaradio.com/ipns/$IPNSLINK/${G1PUB}/\"> echo "<meta http-equiv=\"Refresh\" content=\"10;URL=https://aries.copylaradio.com/ipns/$IPNSLINK/${G1PUB}/\">
<h1><a href='https://astroport.com'>ASTROPORT</a>/KODI</h1> <h1><a href='https://astroport.com'>ASTROPORT</a>/KODI</h1>
pour regarder <a target='tmdb' href='https://www.themoviedb.org/search?query=${TITLE}'>${TITLE}</a>, rejoignez notre video-club et devenons amis...<br><br> Pour regarder <a target='tmdb' href='https://www.themoviedb.org/search?query=${TITLE}'>${TITLE}</a>, rejoignez notre video-club et devenons amis...<br><br>
Installez <a href='https://copylaradio.com'>astrXbian</a>" > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/index.html Installez <a href='https://copylaradio.com'>astrXbian</a>" > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/index.html
NEWIPFS=$(ipfs add -rHq ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/ | tail -n 1 ) NEWIPFS=$(ipfs add -rHq ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/ | tail -n 1 )
@ -177,44 +179,35 @@ then
GOFFER=$(~/.zen/astrXbian/zen/jaklis/jaklis.py setoffer -t "${TITLE} #astroport #${INDEXPREFIX}${REFERENCE}" -d "https://aries.copylaradio.com/ipns/$IPNS/" -p ~/.zen/astrXbian/disk.png) GOFFER=$(~/.zen/astrXbian/zen/jaklis/jaklis.py setoffer -t "${TITLE} #astroport #${INDEXPREFIX}${REFERENCE}" -d "https://aries.copylaradio.com/ipns/$IPNS/" -p ~/.zen/astrXbian/disk.png)
echo $GOFFER > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.gchange.ad echo $GOFFER > ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.gchange.ad
NEWIPFS=$(ipfs add -rHq ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/ | tail -n 1 ) NEWIPFS=$(ipfs add -rHq ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/ | tail -n 1 )
IPNS=$(ipfs name publish --key="${INDEXPREFIX}${REFERENCE}" $NEWIPFS) IPNS=$(ipfs name publish --quieter --key="${INDEXPREFIX}${REFERENCE}" $NEWIPFS)
fi fi
echo "Annonce gchange : $(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.gchange.ad)" echo "Annonce gchange : $(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/.gchange.ad)"
fi fi
######################################################################## ########################################################################
# FIRST ${PREFIX}ASTRXBIAN header # NEW ${PREFIX}ASTRXBIAN FILE : Add header
[[ ! -f ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN ]] && echo "CAT;TMDB;YEAR;TITLE;SAISON;GENRES;GROUPES;RES;URLS=http://127.0.0.1:8181" > ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN [[ ! -f ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN ]] \
&& echo "CAT;TMDB;YEAR;TITLE;SAISON;GENRES;GROUPES;RES;URLS=http://127.0.0.1:8181" > ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
## CHECK IF $IPFSREPFILEID is NEW, or an already existing in SWARMs? # MEMORIZE NEW PIN
mkdir -p ~/.zen/ipfs/.${IPFSNODEID}/PIN/${IPFSREPFILEID}/
touch ~/.zen/ipfs/.${IPFSNODEID}/PIN/${IPFSREPFILEID}/${G1PUB}
isFILEinMYINDEX=$(grep "$URLENCODE_FILE_NAME" ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN) # ADD NEW LINE TO INDEX
isLINKinMYINDEX=$(grep "$IPFSREPFILEID" ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN) if [[ -f ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/ajouter_video.txt ]]
then
# Is it a new file? Add it to INDEX line=$(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/ajouter_video.txt | sed "s/_IPFSREPFILEID_/$IPFSREPFILEID/g" | sed "s/_IPNSKEY_/$IPNS/g" )
if [[ ! $isFILEinMYINDEX && ! $isLINKinMYINDEX ]]; then else
mkdir -p ~/.zen/ipfs/.${IPFSNODEID}/PIN/${IPFSREPFILEID}/ FILE_RES=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "${path}${file}" | cut -d "x" -f 2)
touch ~/.zen/ipfs/.${IPFSNODEID}/PIN/${IPFSREPFILEID}/${G1PUB} RES=${FILE_RES%?}0p
# SIMILAR with "ipfs ls /ipns/${IPFSNODEID}/.${IPFSNODEID}/PIN/ (...)" line="$CAT;${REFERENCE};$YEAR;$TITLE;$SAISON;;${IPNS};$RES;/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME"
# TODO: switch case $PREFIX
if [[ -f ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/ajouter_video.txt ]]
then
line=$(cat ~/.zen/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/ajouter_video.txt | sed "s/_IPFSREPFILEID_/$IPFSREPFILEID/g")
else
FILE_RES=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "${path}${file}" | cut -d "x" -f 2)
RES=${FILE_RES%?}0p
line="$CAT;${REFERENCE};$YEAR;$TITLE;$SAISON;;${XZUID};$RES;/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME"
fi
echo "$line" >> ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
fi fi
echo "-------------------- UPDATE MY INDEX -----------------------------"
echo "$line"
echo "$line" >> ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
echo "~/.zen/ipfs/.${IPFSNODEID}/${PREFIX}ASTRXBIAN" echo "----------------- REFRESH GLOBAL KODI INDEX ----------------------"
echo "-----------------------------------------------------------------" cat ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN ~/.zen/ipfs_swarm/.*/astroport/kodi/vstream/${PREFIX}ASTRXBIAN | sort | uniq > ~/.zen/ipfs/.${IPFSNODEID}/${PREFIX}ASTRXBIAN
cat ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN ~/.zen/ipfs_swarm/.*/astroport/kodi/vstream/${PREFIX}* | sort | uniq > ~/.zen/ipfs/.${IPFSNODEID}/${PREFIX}ASTRXBIAN
echo "--------------- KODI INDEX UPDATED ----------------------"
# CLEAN all ipns keys except self
# for key in $(ipfs key list | grep -Ev 'self'); do ipfs key rm $key; done
######################################################################## ########################################################################
# REFRESH IPNS SELF PUBLISH # REFRESH IPNS SELF PUBLISH