forked from axiom-team/astrXbian
IPNS adding ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB
This commit is contained in:
parent
81d17708ad
commit
feffba9d4f
|
@ -1,13 +1,18 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
# Author: Fred (support@qo-op.com)
|
# Author: Fred (support@qo-op.com)
|
||||||
# Version: 2020.12.15
|
# Version: 0.3
|
||||||
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
||||||
########################################################################
|
########################################################################
|
||||||
# COPY ~/astroport/* files to IPFS
|
# COPY ~/astroport/* files to IPFS
|
||||||
# Publish INDEX ~/.zen/ipfs/.*/${PREFIX}ASTRXBIAN
|
# Publish INDEX ~/.zen/ipfs/.*/${PREFIX}ASTRXBIAN
|
||||||
######## #### ### ## #
|
######## #### ### ## #
|
||||||
|
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)
|
||||||
# ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
|
# ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
|
||||||
# Astropot/Kodi/Vstream source reads ${PREFIX}ASTRXBIAN from http://127.0.0.1:8181/.$IPFNODEID/
|
# Astropot/Kodi/Vstream source reads ${PREFIX}ASTRXBIAN from http://127.0.0.1:8181/.$IPFNODEID/
|
||||||
# Index File Format (could be enhanced) is using Kodi TMDB enhancement
|
# Index File Format (could be enhanced) is using Kodi TMDB enhancement
|
||||||
|
@ -31,12 +36,12 @@ TITLE="${file%.*}"
|
||||||
|
|
||||||
# GET XZUID
|
# GET XZUID
|
||||||
[[ -f ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title ]] && XZUID=$(cat ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title) || XZUID=$(hostname)
|
[[ -f ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title ]] && XZUID=$(cat ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title) || XZUID=$(hostname)
|
||||||
rm -f ~/.zen/ipfs/.${IPFSNODEID}/_xbian.zuid # CLEANING OLD FILE STRUCTURE (TO BE REMOVED AFTER SWARM CODE UPGRADE)
|
|
||||||
rm -f ~/.zen/ipfs/xbian/_${XZUID}
|
|
||||||
|
|
||||||
TYPE=$(echo "$path" | cut -d '/' -f 5 ) # ex: /home/$YOU/astroport/... films, youtube, mp3
|
TYPE=$(echo "$path" | cut -d '/' -f 5 ) # ex: /home/$YOU/astroport/... films, youtube, mp3
|
||||||
|
type=$(echo "$TYPE" | awk '{ print tolowper($0) }')
|
||||||
PREFIX=$(echo "$TYPE" | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, Y, M
|
PREFIX=$(echo "$TYPE" | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, Y, M
|
||||||
TMDB=$(echo "$path" | cut -d '/' -f 6 )
|
TMDB=$(echo "$path" | cut -d '/' -f 6 )
|
||||||
|
[ "$TMDB" -ne "$TMDB" ] && echo "ERROR: $path missing TMDB code. CHECK it https://www.themoviedb.org/ " && exit 1 # $TMDB NOT A NUMBER
|
||||||
RES=$(echo "$path" | cut -d '/' -f 7 )
|
RES=$(echo "$path" | cut -d '/' -f 7 )
|
||||||
|
|
||||||
# File is placed in ROOT ~/astroport ?
|
# File is placed in ROOT ~/astroport ?
|
||||||
|
@ -57,7 +62,6 @@ mkdir -p ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/
|
||||||
URLENCODE_FILE_NAME=$(echo ${file} | jq -Rr @uri)
|
URLENCODE_FILE_NAME=$(echo ${file} | jq -Rr @uri)
|
||||||
|
|
||||||
# Init ${PREFIX}ASTRXBIAN header
|
# Init ${PREFIX}ASTRXBIAN header
|
||||||
mv ~/.zen/ipfs/xbian/$PREFIX$XZUID ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN # MOVE OLD FS
|
|
||||||
[[ ! -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?
|
## CHECK IF $IPFSREPFILEID is NEW, or an already existing in SWARMs?
|
||||||
|
@ -71,7 +75,8 @@ isLINKinMYINDEX=$(grep "$IPFSREPFILEID" ~/.zen/ipfs/.${IPFSNODEID}/astroport/kod
|
||||||
if [[ ! $isFILEinINDEX && ! $isLINKinINDEX ]]; then
|
if [[ ! $isFILEinINDEX && ! $isLINKinINDEX ]]; then
|
||||||
mkdir -p ~/.zen/ipfs/.${IPFSNODEID}/PIN/${IPFSREPFILEID}/$G1PUB/
|
mkdir -p ~/.zen/ipfs/.${IPFSNODEID}/PIN/${IPFSREPFILEID}/$G1PUB/
|
||||||
# SIMILAR with "ipfs ls /ipns/${IPFSNODEID}/.${IPFSNODEID}/PIN/ (...)"
|
# SIMILAR with "ipfs ls /ipns/${IPFSNODEID}/.${IPFSNODEID}/PIN/ (...)"
|
||||||
echo "film;$TMDB;$YEAR;$TITLE;$SAISON;;${XZUID};$RES;/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME" >> ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
|
# TODO: switch case $PREFIX
|
||||||
|
echo "$type;$TMDB;$YEAR;$TITLE;$SAISON;;${XZUID};$RES;/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME" >> ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
|
||||||
else
|
else
|
||||||
if [[ $isFILEinMYINDEX ]]; then
|
if [[ $isFILEinMYINDEX ]]; then
|
||||||
echo "$file already in index" ## File was updated => Change OLDLINK
|
echo "$file already in index" ## File was updated => Change OLDLINK
|
||||||
|
@ -81,17 +86,34 @@ else
|
||||||
[[ $isLINKinINDEX ]] && echo "$IPFSREPFILEID already in index. DO NOTHING"
|
[[ $isLINKinINDEX ]] && echo "$IPFSREPFILEID already in index. DO NOTHING"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "CREATE ~/.zen/ipfs/.${IPFSNODEID}/${PREFIX}ASTRXBIAN ($TYPE) from ~/.zen/ipfs*/xbian/${PREFIX}*"
|
echo "($TYPE) => CREATE ~/.zen/ipfs/.${IPFSNODEID}/${PREFIX}ASTRXBIAN"
|
||||||
echo "-----------------------------------------------------------------"
|
echo "-----------------------------------------------------------------"
|
||||||
cat ~/.zen/ipfs_swarm/.*/astroport/kodi/vstream/${PREFIX}* | sort | uniq > ~/.zen/ipfs/.${IPFSNODEID}/${PREFIX}ASTRXBIAN
|
cat ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN | cat ~/.zen/ipfs_swarm/.*/astroport/kodi/vstream/${PREFIX}* | sort | uniq > ~/.zen/ipfs/.${IPFSNODEID}/${PREFIX}ASTRXBIAN
|
||||||
|
|
||||||
|
# CLEAN all ipns keys except self
|
||||||
|
# for key in $(ipfs key list | grep -Ev 'self'); do ipfs key rm $key; done
|
||||||
|
|
||||||
|
## CREATE NEW ipns KEY
|
||||||
|
[[ ! -d ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB ]] && mkdir -p ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB/ && KEY=$(ipfs key gen "$type_$TMDB") && KEYFILE=$(ls -t ~/.ipfs/keystore/ | head -n 1)
|
||||||
|
## INIT ipns
|
||||||
|
if [[ $KEY ]]; then
|
||||||
|
echo "$KEYFILE" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB/.ipns.key.keystore_filename
|
||||||
|
echo "$G1PUB" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB/.g1_creator
|
||||||
|
touch ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB/.zen
|
||||||
|
echo "<meta http-equiv=\"Refresh\" content=\"0;URL=http://localhost:8181/ipns/$KEY\">" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB/ipns.html
|
||||||
|
$MY_PATH/jaklis/lib/natools.py encrypt -k $G1PUB -i ~/.ipfs/keystore/$KEYFILE -o ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB/.ipns.key.encrypt.natools
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "<meta http-equiv=\"Refresh\" content=\"0;URL=http://localhost:8181/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME\">" > ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB/index.html
|
||||||
|
NEWIPFS=$(ipfs add -rHq ~/.zen/ipfs/.${IPFSNODEID}/KEY/$type_$TMDB | tail -n 1 )
|
||||||
|
ipfs name publish --key="$type_$TMDB" $NEWIPFS
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
echo "PUBLISH ~/.zen/ipfs to IPNS self for SWARM SHARING"
|
# REFRESH IPNS SELF PUBLISH
|
||||||
echo "-----------------------------------------------------------------"
|
########################################################################
|
||||||
echo "$(date -u +%s%N | cut -b1-13)" > ~/.zen/ipfs/.${IPFSNODEID}/.timestamp
|
~/.zen/astrXbian/zen/ipns_self_publish.sh
|
||||||
MIPFS=$(ipfs add -rHq ~/.zen/ipfs | tail -n 1)
|
########################################################################
|
||||||
echo $MIPFS > ~/.zen/ipfs/.${IPFSNODEID}/.chain ## THIS SIMPLE LINE IS BLOCKCHAIN POWERING ANY DATA PUBLISHED TO IPFS !!!
|
|
||||||
NODEIPNS=$(ipfs name publish --quieter /ipfs/$MIPFS)
|
|
||||||
|
|
||||||
echo "NEW $TYPE ($file) ADDED."
|
echo "NEW $TYPE ($file) ADDED."
|
||||||
echo "INDEX UPDATED : http://127.0.0.1:8181/ipns/${IPFSNODEID}/.${IPFSNODEID}/${PREFIX}ASTRXBIAN"
|
echo "INDEX UPDATED : http://127.0.0.1:8181/ipns/${IPFSNODEID}/.${IPFSNODEID}/${PREFIX}ASTRXBIAN"
|
||||||
|
echo "VIDEO IPNS LINK : http://localhost:8181/ipns/$KEY"
|
||||||
|
|
Loading…
Reference in New Issue