2020-12-24 15:00:48 +01:00
#!/bin/bash
########################################################################
# Author: Fred (support@qo-op.com)
2021-02-17 03:33:41 +01:00
# Version: 0.3
2020-12-24 15:00:48 +01:00
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
2021-02-13 00:40:45 +01:00
# COPY ~/astroport/* files to IPFS
# Publish INDEX ~/.zen/ipfs/.*/${PREFIX}ASTRXBIAN
2020-12-24 15:00:48 +01:00
######## #### ### ## #
2021-02-17 03:33:41 +01:00
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-02-13 00:40:45 +01:00
# ~/.zen/ipfs/.${IPFSNODEID}/astroport/kodi/vstream/${PREFIX}ASTRXBIAN
# 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
2020-12-24 15:00:48 +01:00
# https://github.com/Kodi-vStream/venom-xbmc-addons/wiki/Voir-et-partager-sa-biblioth%C3%A8que-priv%C3%A9e#d%C3%A9clarer-des-films
########################################################################
2021-02-16 23:52:47 +01:00
## RUN inotifywait process ~/astroport/ NEW FILE DETECT
# /usr/bin/inotifywait -r -e close_write -m /home/$YOU/astroport | while read dir flags file; do ~/.zen/astrXbian/zen/new_file_in_astroport.sh "$dir" "$file"; done &
2021-02-13 15:43:43 +01:00
# mkdir -p ~/astroport/youtube
# mkdir -p ~/astroport/mp3
2020-12-24 15:00:48 +01:00
########################################################################
path = " $1 "
2021-03-02 11:13:24 +01:00
# Add trailing / if needed
length = ${# path }
last_char = ${ path : length -1 : 1 }
[ [ $last_char != "/" ] ] && path = " $path / " ; :
2020-12-24 15:00:48 +01:00
file = " $2 "
2021-03-02 11:13:24 +01:00
2021-03-02 22:38:53 +01:00
echo " ~/.zen/astrXbian/zen/new_file_in_astroport.sh PATH/ \" $path \" FILE \" $file \" "
2021-03-02 11:13:24 +01:00
2020-12-24 15:00:48 +01:00
extension = " ${ file ##*. } "
TITLE = " ${ file %.* } "
2021-03-02 11:13:24 +01:00
# .part file false flag correcting (inotify mode)
2021-03-14 01:10:29 +01:00
[ [ ! -f " ${ path } ${ file } " ] ] && file = " ${ TITLE %.* } " && extension = " ${ TITLE ##*. } " && [ [ ! -f " ${ path } ${ file } " ] ] && er = "NO FILE" && echo " $er " && exit 1
2020-12-24 15:00:48 +01:00
# GET XZUID
2021-03-02 11:13:24 +01:00
[ [ -f ~/.zen/ipfs/.$IPFSNODEID /G1SSB/_g1.gchange_title ] ] && XZUID = $( cat ~/.zen/ipfs/.$IPFSNODEID /G1SSB/_g1.gchange_title) || XZUID = $( cat /etc/hostname)
2021-03-14 01:10:29 +01:00
[ [ ! $( echo " $path " | cut -d '/' -f 4 | grep 'astroport' ) ] ] && er = "Les fichiers sont à placer dans ~/astroport/ MERCI" && echo " $er " && exit 1
2021-03-02 11:13:24 +01:00
TYPE = $( echo " $path " | cut -d '/' -f 5 ) # ex: /home/$YOU/astroport/... TYPE(film, youtube, mp3)/ REFERENCE /
2021-02-18 01:24:13 +01:00
CAT = $( echo " $TYPE " | awk '{ print tolower($0) }' )
2021-02-18 00:33:06 +01:00
2021-02-24 20:43:47 +01:00
PREFIX = $( echo " $TYPE " | head -c 1 | awk '{ print toupper($0) }' ) # ex: F, Y, M ou Y
2021-02-13 00:40:45 +01:00
# File is placed in ROOT ~/astroport ?
2021-03-01 02:25:27 +01:00
if [ [ $PREFIX = = "" ] ]
then
[ [ " $USER " != "xbian" ] ] && zenity --warning --width 300 --text "Désolé votre fichier ne peut pas être traité"
2021-03-14 01:10:29 +01:00
er = " $er | WARNING. $TYPE is root file UNTREATED " && echo " $er " && exit 1
2021-03-01 02:25:27 +01:00
fi
2020-12-24 15:00:48 +01:00
2021-04-06 02:47:04 +02:00
[ [ ! -d ~/.zen/ipfs/.${ IPFSNODEID } /astroport/kodi/vstream/ ] ] && mkdir -p ~/.zen/ipfs/.${ IPFSNODEID } /astroport/kodi/vstream/
2021-03-02 11:13:24 +01:00
########################################################################
# EXTRACT INDEX REFERENCE : TMDB or YOUTUBE (can be extended with new )
########################################################################
2021-03-02 22:38:53 +01:00
case ${ CAT } in
youtube)
2021-03-02 11:13:24 +01:00
INDEXPREFIX = "YOUTUBE_"
2021-03-31 20:51:17 +02:00
REFERENCE = $( echo " $path " | cut -d '/' -f 6 )
2021-04-01 17:04:30 +02:00
TITLE = " ${ file %.* } "
2021-03-02 11:13:24 +01:00
; ;
2021-03-02 22:38:53 +01:00
mp3)
2021-03-02 16:41:50 +01:00
## DIFFERENT TREATMENT
INDEXPREFIX = "MP3_"
2021-03-31 20:51:17 +02:00
REFERENCE = $( echo " $path " | cut -d '/' -f 6 )
2021-03-28 21:04:55 +02:00
TITLE = $( echo " $file " | cut -d "&" -f 2-)
2021-03-14 01:10:29 +01:00
er = " $er | Please use new_mp3_in_astroport.sh ... EXIT "
echo " $er "
2021-03-04 00:02:09 +01:00
exit 1
2021-03-02 11:13:24 +01:00
; ;
2021-03-02 22:38:53 +01:00
film | serie | anime)
2021-03-02 11:13:24 +01:00
INDEXPREFIX = "TMDB_"
REFERENCE = $( echo " $path " | cut -d '/' -f 6 ) # Path contains TMDB id
2021-03-04 21:56:36 +01:00
if ! [ [ " $REFERENCE " = ~ ^[ 0-9] +$ ] ] # ${REFERENCE} NOT A NUMBER
then
2021-04-06 02:47:04 +02:00
er = " $er | ERROR: $path BAD TMDB code. Get it from https://www.themoviedb.org/ or use your 06 phone number "
2021-03-14 01:10:29 +01:00
echo " $er "
2021-03-04 21:56:36 +01:00
exit 1
fi
2021-03-02 11:13:24 +01:00
; ;
2021-04-14 22:41:53 +02:00
## TODO ADD "httrack" for website copying
## httrack "https://wiki.lowtechlab.org" -O "./wiki.lowtechlab.org" "+*.lowtechlab.org/*" -v -%l "fr"
##
2021-03-02 11:13:24 +01:00
*)
2021-03-14 01:10:29 +01:00
er = " $CAT inconnu " && echo " $er " && exit 1
2021-03-02 11:13:24 +01:00
; ;
esac
########################################################################
2021-04-06 02:47:04 +02:00
## CHECK if ${INDEXPREFIX}${REFERENCE} MEDIAKEY exists -> REFRESH DATA
2021-03-02 11:13:24 +01:00
########################################################################
2021-03-02 13:24:45 +01:00
echo " SEARCH for ; $REFERENCE ; in ${ PREFIX } ASTRXBIAN "
2021-04-06 02:47:04 +02:00
if [ [ ${ REFERENCE : 0 : 1 } != "0" ] ] ; then ## REFERENCE COULD BE A PHONE NUMBER (not in TMDB copy force)
isREFERENCEinINDEX = $( grep " ; $REFERENCE ; " ~/.zen/ipfs_swarm/.12D*/astroport/kodi/vstream/${ PREFIX } ASTRXBIAN )
if [ [ ${ isREFERENCEinINDEX } ] ]
2021-03-02 11:13:24 +01:00
then
2021-04-06 02:47:04 +02:00
if [ [ -d ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } ] ]
then
# FILE IS MINE, NEW VERSION?! replacing it in INDEX
ipnslink = $( cat ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipns.link)
echo " FOUND IPNS ${ INDEXPREFIX } ${ REFERENCE } = $ipnslink "
2021-03-03 00:25:08 +01:00
2021-04-06 02:47:04 +02:00
# DELETING GCHANGE AD, WILL BE CREATED AGAIN
gchangeAD = $( cat ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.gchange.ad)
2021-05-30 14:35:06 +02:00
~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" deleteoffer -i $gchangeAD
2021-04-06 02:47:04 +02:00
rm ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.gchange.ad
else
er = " $er | FILE IS ALREADY EXISTING FROM ANOTHER FRIEND " && echo " $er "
## SEND messages to warn about need to Unify MEDIAKEY IPNS KEY
ipfsnodeid = $( echo ${ isREFERENCEinINDEX } | tail -n 1 | cut -d '.' -f 3- | cut -d '/' -f 1)
destg1 = $( ~/.zen/astrXbian/zen/tools/ipfs_to_g1.py $ipfsnodeid )
2021-06-06 16:38:21 +02:00
[ [ " $IPFSNODEID " != " $ipfsnodeid " ] ] && ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" send -d $destg1 -t " MEDIAKEY COLLISION ${ INDEXPREFIX } ${ REFERENCE } " -m "Conflit de MEDIAKEY. Choisir quelle clef IPNS conserver..."
2021-04-06 02:47:04 +02:00
##
fi
fi
2021-03-02 11:13:24 +01:00
fi
########################################################################
2021-02-24 20:43:47 +01:00
echo " ADDING ${ path } ${ file } to IPFS and create ${ PREFIX } ASTRXBIAN INDEX "
2021-02-13 00:40:45 +01:00
echo " ~/.zen/ipfs/. ${ IPFSNODEID } /astroport/kodi/vstream/ ${ PREFIX } ASTRXBIAN "
2020-12-24 15:00:48 +01:00
echo "-----------------------------------------------------------------"
2021-04-01 00:12:09 +02:00
IPFS = $( ipfs add -wq " ${ path } ${ file } " )
IPFSREPFILEID = $( echo $IPFS | cut -d ' ' -f 2)
IPFSID = $( echo $IPFS | cut -d ' ' -f 1)
2021-02-13 00:40:45 +01:00
[ [ $IPFSREPFILEID = = "" ] ] && echo "ipfs add ERROR" && exit 1
2020-12-24 17:43:00 +01:00
echo "-----------------------------------------------------------------"
2021-02-18 00:33:06 +01:00
echo " IPFS: $file : ipfs ls /ipfs/ $IPFSREPFILEID "
2020-12-24 15:00:48 +01:00
echo "-----------------------------------------------------------------"
2021-02-18 00:33:06 +01:00
echo " New $TYPE INDEX ~/.zen/ipfs/. ${ IPFSNODEID } /astroport/kodi/vstream/ ${ PREFIX } ASTRXBIAN "
2021-02-21 20:33:38 +01:00
URLENCODE_FILE_NAME = $( echo ${ file } | jq -Rr @uri)
2021-04-23 00:21:49 +02:00
### MEDIAKEY FORGE
2021-02-18 00:33:06 +01:00
########################################################################
2021-02-24 20:43:47 +01:00
## CREATE NEW ipns KEY : ${INDEXPREFIX}${REFERENCE}
2021-02-18 00:33:06 +01:00
########################################################################
2021-04-06 02:47:04 +02:00
## IPFS SELF IPNS DATA STORAGE
## ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/${G1PUB}/
2021-02-18 00:33:06 +01:00
########################################################################
2021-04-06 02:47:04 +02:00
if [ [ ! $( ipfs key list | grep " ${ INDEXPREFIX } ${ REFERENCE } " ) ] ] ; then
## IPNS KEY CREATION
mkdir -p ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB }
KEY = $( ipfs key gen " ${ INDEXPREFIX } ${ REFERENCE } " )
KEYFILE = $( ls -t ~/.ipfs/keystore/ | head -n 1)
fi
## IS IT NEW IPNS KEY?
2021-02-18 00:33:06 +01:00
if [ [ $KEY ] ] ; then
2021-02-24 20:43:47 +01:00
# memorize IPNS key filename for easiest exchange
2021-03-17 16:41:56 +01:00
echo " $KEYFILE " > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipns.key.keystore_filename
2021-02-24 20:43:47 +01:00
# Publishing IPNS key
2021-03-17 16:41:56 +01:00
echo " $KEY " > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipns.link
2021-03-19 01:53:04 +01:00
# CREATE .zen = ZEN economic value
2021-03-17 16:41:56 +01:00
touch ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.zen
$MY_PATH /tools/natools.py encrypt -p $G1PUB -i ~/.ipfs/keystore/$KEYFILE -o ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipns.key.natools.encrypt
2021-03-19 01:53:04 +01:00
# CREATE other encrypted copies for friends depending DEFCON & stars
# > STARGATE 1 - 2 - 3 - 4 - 5 !!
################ ENCRYPT keystore/$KEYFILE
2021-03-02 13:24:45 +01:00
else
2021-04-06 02:47:04 +02:00
## OLD IPNS KEY
2021-03-17 16:41:56 +01:00
KEY = $( cat ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipns.link)
KEYFILE = $( cat ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipns.key.keystore_filename)
2021-02-18 00:33:06 +01:00
fi
2021-03-02 11:13:24 +01:00
2021-04-06 02:47:04 +02:00
########################################################################
## add default metadata (TODO = use json file?)
########################################################################
echo " ${ file } " > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipfs.filename
echo " ${ TITLE } " > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.title
echo " $( date -u +%s%N | cut -b1-13) " > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.timestamp
## INIT MEDIAKEY .views.counter
echo "0" > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.views.counter
########################################################################
########################################################################
# Prepare IPFS links (then cyphered to manage exchange regulation)
########################################################################
2021-04-04 17:52:53 +02:00
echo " /ipfs/ $IPFSREPFILEID / ${ file } " > /tmp/.ipfs.filelink
echo " $IPFSID " > /tmp/.ipfsid
2021-04-06 02:47:04 +02:00
########################################################################
########################################################################
################ ask autoPIN to one shuffle A_boostrap_nodes
########################################################################
2021-05-09 22:25:26 +02:00
PINIPFSnode = $( cat ~/.zen/astrXbian/A_boostrap_nodes.txt | grep -Ev "#" | shuf | tail -n 1)
nodeid = ${ PINIPFSnode ##*/ }
PINnode = $( ~/.zen/astrXbian/zen/tools/ipfs_to_g1.py $nodeid )
2021-04-06 02:47:04 +02:00
echo " ASK AUTOPIN to $PINnode "
## CREATE $PINnode IPFS communication directory
[ [ ! -d ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /${ PINnode } ] ] && mkdir -p ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /${ PINnode }
## ENCRYPT .ipfsid & .ipfs.filelink
2021-04-06 19:36:43 +02:00
$MY_PATH /tools/natools.py encrypt -p $PINnode -i /tmp/.ipfs.filelink -o " ~/.zen/ipfs/. ${ IPFSNODEID } /KEY/ ${ INDEXPREFIX } ${ REFERENCE } / ${ G1PUB } / ${ PINnode } /.ipfs.filelink.encrypt "
$MY_PATH /tools/natools.py encrypt -p $PINnode -i /tmp/.ipfsid -o " ~/.zen/ipfs/. ${ IPFSNODEID } /KEY/ ${ INDEXPREFIX } ${ REFERENCE } / ${ G1PUB } / ${ PINnode } /.ipfsid.encrypt "
2021-04-06 02:47:04 +02:00
## Init zen, views counters & visitor
2021-04-13 00:33:31 +02:00
echo "0" > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /${ PINnode } /.zen
echo "0" > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /${ PINnode } /.views.counter
echo "anonymous" > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /${ PINnode } /.visitor
2021-04-06 02:47:04 +02:00
########################################################################
# MEMORIZE my PIN
mkdir -p ~/.zen/PIN/${ IPFSREPFILEID } /
touch ~/.zen/PIN/${ IPFSREPFILEID } /${ G1PUB }
########################################################################
2021-04-04 17:52:53 +02:00
## encrypt links for myself
2021-04-06 02:47:04 +02:00
########################################################################
2021-04-04 17:52:53 +02:00
$MY_PATH /tools/natools.py encrypt -p ${ G1PUB } -i /tmp/.ipfs.filelink -o ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipfs.filelink.natools.encrypt
$MY_PATH /tools/natools.py encrypt -p ${ G1PUB } -i /tmp/.ipfsid -o ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.ipfsid.encrypt
rm /tmp/.ipfs.filelink
rm /tmp/.ipfsid
2021-04-06 02:47:04 +02:00
########################################################################
2021-03-02 11:13:24 +01:00
2021-04-06 02:47:04 +02:00
########################################################################
2021-04-06 19:36:43 +02:00
## ADD "ajouter_video.txt" and "video.json" will be SELF IPNS publish data
2021-03-17 16:41:56 +01:00
[ [ -f ~/astroport/${ TYPE } /${ REFERENCE } /ajouter_video.txt ] ] && cp -f ~/astroport/${ TYPE } /${ REFERENCE } /ajouter_video.txt ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /
2021-04-04 17:52:53 +02:00
[ [ -f ~/astroport/${ TYPE } /${ REFERENCE } /video.json ] ] && cp -f ~/astroport/${ TYPE } /${ REFERENCE } /video.json ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /
2021-04-06 02:47:04 +02:00
########################################################################
2021-03-17 16:41:56 +01:00
########################################################################
2021-04-04 17:52:53 +02:00
## EXPLANATIONS
2021-03-17 16:41:56 +01:00
########################################################################
# What is being in ~/.zen/ipfs/.${IPFSNODEID}/KEY/${INDEXPREFIX}${REFERENCE}/
2021-04-04 17:52:53 +02:00
# is published on http://127.0.0.1:8181/ipns/$KEY/
2021-03-17 16:41:56 +01:00
########################################################################
2021-04-06 02:47:04 +02:00
########################################################################
2021-04-04 17:52:53 +02:00
# CONTRACTS, are small App (fulljs or jquery + nginx backend app server)
# They must decrypt IPFS after succeeding a chalenge (, +/- n zen, ...)
2021-03-17 16:41:56 +01:00
########################################################################
2021-04-04 17:52:53 +02:00
# Contract App Examples (ipns_TAG_refresh.sh makes MEDIAKEY evolution)
# Counting video views = +1 .views.counter => decrypt key
# Balancing Zen wallets = -n form source = +n for destination => decrypt key
2021-03-17 16:41:56 +01:00
########################################################################
2021-04-04 17:52:53 +02:00
# Astroport/Gchange USE as public/private media copy friend of friends swarm
# one star level (no encrypt)
2021-03-17 16:41:56 +01:00
# index.html is presenting Astroport/Kodi service then redirect to
# $G1PUB/index.html contains redirection to ipfs link
2021-04-04 17:52:53 +02:00
########################################################################
2021-03-02 11:13:24 +01:00
2021-04-06 02:47:04 +02:00
########################################################################
## IPNS access to index.html
## Level 1 (not crypted) -> Redirect to ipfs streaming link
## Modified by "./zen/ipns_TAG_refresh.sh" (add crypto/contracts there)
2021-03-17 16:41:56 +01:00
echo " <meta http-equiv=\"Refresh\" content=\"0;URL=http://127.0.0.1:8181/ipfs/ $IPFSREPFILEID / $URLENCODE_FILE_NAME \"> " > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /index.html
2021-03-02 13:24:45 +01:00
IPNSLINK = $( ipfs key list -l | grep ${ INDEXPREFIX } ${ REFERENCE } | cut -d ' ' -f 1)
2021-05-17 23:46:45 +02:00
echo " <meta http-equiv=\"Refresh\" content=\"10;URL=https://tube.copylaradio.com/ipns/ $IPNSLINK / ${ G1PUB } /\">
2021-04-06 02:47:04 +02:00
<h1><a href = 'https://astroport.com' >Astroport</a>/KODI</h1>
Ce film <a target = 'tmdb' href = 'https://www.themoviedb.org/search?query=${TITLE}' >${ TITLE } </a> est disponible dans le video-club de mes amis...<br>
Lecture automatique dans 10 secondes...<br><br>
<h2>Découvrez <a href = 'https://copylaradio.com' >astrXbian</a></h2>" > ~/.zen/ipfs/. ${ IPFSNODEID } /KEY/ ${ INDEXPREFIX } ${ REFERENCE } /index.html
2021-03-02 13:24:45 +01:00
2021-04-06 02:47:04 +02:00
########################################################################
## PUBLISH new IPNS
2021-03-17 16:41:56 +01:00
NEWIPFS = $( ipfs add -rHq ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } / | tail -n 1 )
2021-02-25 00:16:39 +01:00
IPNS = $( ipfs name publish --quieter --key= " ${ INDEXPREFIX } ${ REFERENCE } " $NEWIPFS )
2021-02-18 00:33:06 +01:00
########################################################################
########################################################################
2021-04-06 02:47:04 +02:00
# film/serie/anime PUBLISH "ajouter_video.txt" for KODI
2021-02-18 00:33:06 +01:00
########################################################################
2021-04-23 21:41:13 +02:00
if [ [ " ${ CAT } " = ~ ^( film| serie| anime| youtube) $ ] ]
2021-03-02 11:13:24 +01:00
then
2021-04-06 02:47:04 +02:00
## CREATE GCHANGE AD
2021-05-18 23:47:39 +02:00
if [ [ ! -f ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.gchange.ad && " ${ CAT } " != "youtube" ] ]
2021-03-02 22:38:53 +01:00
then
2021-05-30 14:35:06 +02:00
GOFFER = $( ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" setoffer -t " ${ TITLE } #astroport # ${ INDEXPREFIX } ${ REFERENCE } " -d " Envoyez un coeur à ce fichier. https://tube.copylaradio.com/ipns/ $IPNS / pour le conserver dans notre Mediacenter Virtuel entre Amis - #CopyLaRadio - https://astroport.com " -p ~/.zen/astrXbian/disk.png)
2021-03-17 16:41:56 +01:00
echo $GOFFER > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.gchange.ad
NEWIPFS = $( ipfs add -rHq ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } / | tail -n 1 )
2021-03-04 00:02:09 +01:00
IPNS = $( ipfs name publish --quieter --key= " ${ INDEXPREFIX } ${ REFERENCE } " $NEWIPFS )
2021-03-02 22:38:53 +01:00
fi
2021-03-17 16:41:56 +01:00
echo " Annonce gchange : $( cat ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /.gchange.ad) "
2021-03-02 12:54:20 +01:00
2021-04-04 17:52:53 +02:00
########################################################################
2021-04-06 02:47:04 +02:00
# ${PREFIX}ASTRXBIAN FILE : Add Header
2021-04-04 17:52:53 +02:00
[ [ ! -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
2020-12-24 15:00:48 +01:00
2021-04-04 17:52:53 +02:00
# ADD NEW LINE TO INDEX
if [ [ -f ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /ajouter_video.txt ] ]
then
line = $( cat ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /ajouter_video.txt | sed " s/_IPFSREPFILEID_/ $IPFSREPFILEID /g " | sed " s/_IPNSKEY_/ $IPNS /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 ;; ${ IPNS } ; $RES ;/ipfs/ $IPFSREPFILEID / $URLENCODE_FILE_NAME "
fi
echo "-------------------- UPDATE MY INDEX -----------------------------"
echo " $line "
echo " $line " >> ~/.zen/ipfs/.${ IPFSNODEID } /astroport/kodi/vstream/${ PREFIX } ASTRXBIAN
echo " UPDATE IPNS ~/.zen/ipfs/. ${ IPFSNODEID } /KEY/ ${ INDEXPREFIX } ${ REFERENCE } /ajouter_video.txt "
echo " $line " > ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /ajouter_video.txt
2021-05-16 04:49:00 +02:00
## UPDATE SOURCE ajouter_video.txt FILE
cp -f ~/.zen/ipfs/.${ IPFSNODEID } /KEY/${ INDEXPREFIX } ${ REFERENCE } /${ G1PUB } /ajouter_video.txt ~/astroport/${ TYPE } /${ REFERENCE } /ajouter_video.txt
2021-04-04 20:43:21 +02:00
########################################################################
## TODO: ACTIVATE SUB DEFCON 4 MODE = encrypt/decrypt file in $G1DEST subdirectory
########################################################################
2021-04-04 17:52:53 +02:00
echo "----------------- REFRESH LOCAL KODI INDEX ----------------------"
cat ~/.zen/ipfs/.${ IPFSNODEID } /astroport/kodi/vstream/${ PREFIX } ASTRXBIAN ~/.zen/ipfs_swarm/.12D*/astroport/kodi/vstream/${ PREFIX } ASTRXBIAN | sort | uniq > ~/.zen/ipfs/.${ IPFSNODEID } /${ PREFIX } ASTRXBIAN
2020-12-24 15:00:48 +01:00
fi
2021-04-04 17:52:53 +02:00
########################################################################
2021-04-04 20:43:21 +02:00
# PUBLISH YOUTUBE video to /astroport/wordpress/
2021-04-04 17:52:53 +02:00
########################################################################
2021-04-04 20:43:21 +02:00
if [ [ " ${ CAT } " = = "youtube" ] ]
then
## CREATE astroport call to Astroport/Wordpress stations
2021-04-04 21:56:35 +02:00
if [ [ ! -d ~/.zen/ipfs/.$IPFSNODEID /astroport/wordpress/${ INDEXPREFIX } ${ REFERENCE } ] ] ; then
mkdir -p ~/.zen/ipfs/.$IPFSNODEID /astroport/wordpress/${ INDEXPREFIX } ${ REFERENCE }
2021-04-05 00:27:06 +02:00
echo "1" > ~/.zen/ipfs/.$IPFSNODEID /astroport/wordpress/${ INDEXPREFIX } ${ REFERENCE } /do
2021-04-04 21:56:35 +02:00
fi
2021-04-04 20:43:21 +02:00
fi
2021-03-13 23:35:37 +01:00
2021-04-04 17:52:53 +02:00
########################################################################
2021-02-17 03:33:41 +01:00
2021-01-10 17:58:41 +01:00
########################################################################
2021-02-17 03:33:41 +01:00
# REFRESH IPNS SELF PUBLISH
########################################################################
~/.zen/astrXbian/zen/ipns_self_publish.sh
########################################################################
2021-01-10 17:58:41 +01:00
2020-12-24 15:00:48 +01:00
echo " NEW $TYPE ( $file ) ADDED. "
2021-01-11 22:33:23 +01:00
echo " INDEX UPDATED : http://127.0.0.1:8181/ipns/ ${ IPFSNODEID } /. ${ IPFSNODEID } / ${ PREFIX } ASTRXBIAN "
2021-03-02 14:01:19 +01:00
echo " VIDEO IPNS LINK : http://127.0.0.1:8181/ipns/ $KEY / $G1PUB / "
2021-02-25 00:16:39 +01:00
exit 0