#!/bin/bash ######################################################################## # Author: Fred (support@qo-op.com) # Version: 2020.12.05 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ######################################################################## # Transfert ~/astroport/files to IPFS # Create Astroport(pastebin) index for Xbian/Vstream # ipfs publish with xbian key ######################################################################## [[ ! -f ~/.zen/ipfs/.${IPFSNODEID}/_xbian.zuid ]] && echo "ERROR no _xbian.zuid" && exit 1 mkdir -p ~/astroport/films mkdir -p ~/astroport/animes ## TODO: REMOVE SOURCE FILE and ONLY KEEP IPFS links #inotifywait -e close_write -m ~/astroport/films | while read dir flags file; do # ...do something with the file... #done # GET XZUID XZUID=$(cat ~/.zen/ipfs/.${IPFSNODEID}/_xbian.zuid) # CREATE Vstream/Pastebin file format # https://github.com/Kodi-vStream/venom-xbmc-addons/wiki/Voir-et-partager-sa-biblioth%C3%A8que-priv%C3%A9e#d%C3%A9clarer-des-films echo "CREATE ~/.zen/ipfs/xbian/F$XZUID FROM ~/astroport/films" echo "-----------------------------------------------------------------" ## Films echo "ADDING ~/astroport/films/ to IPFS" echo "-----------------------------------------------------------------" AFSHARE=$(ipfs add -rq ~/astroport/films/ | tail -n 1) [[ $AFSHARE == "" ]] && echo "ipfs add ERROR" && exit 1 echo "WRITE ~/.zen/ipfs/xbian/F$XZUID Films index" echo "-----------------------------------------------------------------" mkdir -p ~/.zen/ipfs/xbian echo "CAT;TITLE;URLS" > ~/.zen/ipfs/xbian/F${XZUID} for file in ~/astroport/films/* do filename=$(basename -- "$file") extension="${filename##*.}" filena="${filename%.*}" echo "films;$filena;http://localhost:10021/ipfs/$AFSHARE/$filename" >> ~/.zen/ipfs/xbian/F${XZUID} ## TODO check extension, check URL & remove source file done ipfs cat /ipns/$NODEIPNS/xbian/F${XZUID} ### Animes echo "ADDING ~/astroport/animes/ to IPFS" echo "-----------------------------------------------------------------" AASHARE=$(ipfs add -rq ~/astroport/animes/ | tail -n 1) [[ $AASHARE == "" ]] && echo "ipfs add ERROR" && exit 1 echo "WRITE ~/.zen/ipfs/xbian/A$XZUID Animes index" echo "-----------------------------------------------------------------" mkdir -p ~/.zen/ipfs/xbian echo "CAT;TITLE;URLS" > ~/.zen/ipfs/xbian/A${XZUID} for file in ~/astroport/animes/* do filename=$(basename -- "$file") extension="${filename##*.}" filena="${filename%.*}" echo "animes;$filena;http://localhost:10021/ipfs/$AASHARE/$filename" >> ~/.zen/ipfs/xbian/A${XZUID} ## TODO check extension, check URL & remove source file done ipfs cat /ipns/$NODEIPNS/xbian/A${XZUID} ######################################################################## echo "PUBLISH ~/.zen/ipfs to IPNS self" echo "-----------------------------------------------------------------" MIPFS=$(ipfs add -rHq ~/.zen/ipfs | tail -n 1) NODEIPNS=$(ipfs name publish --quieter /ipfs/$MIPFS) echo "SYNCing SWARM..." echo "-----------------------------------------------------------------" ~/.zen/astrXbian/zen/ipfs_SWARM_refresh.sh echo "PREPARE my local FASTRXBIAN (films) AASTRXBIAN (animes) global swarm list from ipfs_swarm" echo "-----------------------------------------------------------------" mkdir -p /tmp/xbian/ echo 'CAT;TITLE;URL' > /tmp/xbian/FASTRXBIAN cat ~/.zen/ipfs_swarm/xbian/F* | grep -v -E 'CAT;TITLE;URL' >> /tmp/xbian/FASTRXBIAN cat /tmp/xbian/FASTRXBIAN | uniq > /tmp/xbian/FASTRXBIAN.uniq mv /tmp/xbian/FASTRXBIAN.uniq /tmp/xbian/FASTRXBIAN echo 'CAT;TITLE;URL' > /tmp/xbian/AASTRXBIAN cat ~/.zen/ipfs_swarm/xbian/A* | grep -v -E 'CAT;TITLE;URL' >> /tmp/xbian/AASTRXBIAN cat /tmp/xbian/AASTRXBIAN | uniq > /tmp/xbian/AASTRXBIAN.uniq mv /tmp/xbian/AASTRXBIAN.uniq /tmp/xbian/AASTRXBIAN echo "PUBLISH IPNS with 'xbian' key" echo "-----------------------------------------------------------------" ISTREAM=$(ipfs add -qrw /tmp/xbian/ | tail -n 1) ipfs name publish -k xbian $ISTREAM