forked from qo-op/bunkerbox
optimisations
This commit is contained in:
parent
8622d2a16a
commit
edcc0c4afe
|
@ -55,12 +55,14 @@ for VUID in $(cat ~/.zen/bunkerbox/crowd.json | jq -r '.posts | .[] | .video.id'
|
||||||
MEDIASOURCE=$(echo $HLS | rev | cut -d '/' -f 2- | rev)
|
MEDIASOURCE=$(echo $HLS | rev | cut -d '/' -f 2- | rev)
|
||||||
echo "$TITLE ($DURATION s)"
|
echo "$TITLE ($DURATION s)"
|
||||||
|
|
||||||
## CHECK PUBLISH MODE
|
## NO choice made, so ask to continue each loop
|
||||||
[[ ! -f ~/.zen/bunkerbox/choice ]] && echo "READY TO PROCESS ? ENTER. Any character sent means next." && read TEST && [[ "$TEST" != "" ]] && echo && continue ## NO CHOICE MADE
|
[[ ! $(cat ~/.zen/bunkerbox/choice 2>/dev/null) ]] && echo "READY TO PROCESS ? ENTER. Any character sent means next." && read TEST && [[ "$TEST" != "" ]] && echo && continue ## NO CHOICE MADE
|
||||||
|
|
||||||
start=`date +%s`
|
start=`date +%s`
|
||||||
echo "$HLS"
|
echo "$HLS"
|
||||||
|
## Download HLS source m3u8 (contains video & audio)
|
||||||
curl -s $HLS -o ~/.zen/bunkerbox/$VUID/$VUID.m3u8
|
curl -s $HLS -o ~/.zen/bunkerbox/$VUID/$VUID.m3u8
|
||||||
# cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8
|
[[ ! $(cat ~/.zen/bunkerbox/choice 2>/dev/null) ]] && cat ~/.zen/bunkerbox/$VUID/$VUID.m3u8 # DEBUG
|
||||||
|
|
||||||
echo ">>>>>>>>>>>>>>>> Downloading VIDEO"
|
echo ">>>>>>>>>>>>>>>> Downloading VIDEO"
|
||||||
# Choose 360p or 480p or 240p
|
# Choose 360p or 480p or 240p
|
||||||
|
@ -97,8 +99,12 @@ $VIDEOHEAD
|
||||||
$VIDEOSRC.m3u8
|
$VIDEOSRC.m3u8
|
||||||
|
|
||||||
" > ~/.zen/bunkerbox/$VUID/media/$VUID.m3u8
|
" > ~/.zen/bunkerbox/$VUID/media/$VUID.m3u8
|
||||||
ls ~/.zen/bunkerbox/$VUID/media/
|
|
||||||
|
ls ~/.zen/bunkerbox/$VUID/media/ # SHOW ALL COLLECTED MEDIA
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
echo "##########################################################################"
|
echo "##########################################################################"
|
||||||
echo ">>>>>>>>>>>>>>>> ADDING index.html"
|
echo ">>>>>>>>>>>>>>>> ADDING index.html"
|
||||||
# COPY index, style, js AND data
|
# COPY index, style, js AND data
|
||||||
|
@ -107,23 +113,27 @@ echo "##########################################################################
|
||||||
cp ${MY_PATH}/templates/videojs.html ~/.zen/bunkerbox/$VUID/media/index.html
|
cp ${MY_PATH}/templates/videojs.html ~/.zen/bunkerbox/$VUID/media/index.html
|
||||||
cp ${MY_PATH}/images/astroport.jpg ~/.zen/bunkerbox/$VUID/media/
|
cp ${MY_PATH}/images/astroport.jpg ~/.zen/bunkerbox/$VUID/media/
|
||||||
|
|
||||||
# Add current/latest common history reversed
|
## CREATE FIRST HISTORY from TEMPLATE
|
||||||
if [[ -f ~/.zen/bunkerbox/history.json ]]; then
|
[[ ! -f ~/.zen/bunkerbox/history.json ]] && cp ${MY_PATH}/templates/data/history.json ~/.zen/bunkerbox/history.json
|
||||||
# qo-op get latest history.json
|
|
||||||
[[ "$(cat ~/.zen/bunkerbox/choice)"=="qo-op" ]] && IPNSL="/ipns/$(cat ~/.zen/bunkerbox/qo-op)" && ipfs get -o ~/.zen/bunkerbox/history.qo-op.json $IPNSL/history.json || IPNSL="./"
|
|
||||||
# [[ $(cat ~/.zen/bunkerbox/history.qo-op.json | jq .Videos[].link | grep $VUID) ]] && echo "Video déjà dans history" && continue
|
|
||||||
|
|
||||||
|
# qo-op get latest history.json
|
||||||
|
if [[ "$(cat ~/.zen/bunkerbox/choice 2>/dev/null)"=="qo-op" ]]; then
|
||||||
|
IPNSL="/ipns/$(cat ~/.zen/bunkerbox/qo-op)"
|
||||||
|
ipfs get -o ~/.zen/bunkerbox/history.qo-op.json $IPNSL/history.json # Get actual IPNS qo-op history.json
|
||||||
|
[[ $(cat ~/.zen/bunkerbox/history.qo-op.json | jq .Videos[].link | grep $VUID) ]] && echo "Video déjà dans history" && cp ~/.zen/bunkerbox/history.qo-op.json ~/.zen/bunkerbox/history.json && continue
|
||||||
# FUSION/REPLACEMENT WHAT TODO ?
|
# FUSION/REPLACEMENT WHAT TODO ?
|
||||||
##
|
jq -s '.[0] * .[1]' ~/.zen/bunkerbox/history.json ~/.zen/bunkerbox/history.qo-op.json | jq -M '.Videos |= unique_by(.link)' > ~/.zen/bunkerbox/history.fusion.json
|
||||||
echo '{
|
mv ~/.zen/bunkerbox/history.fusion.json ~/.zen/bunkerbox/history.json ## REPLACE LOCAL HISTORY CACHE
|
||||||
"Videos":' > ~/.zen/bunkerbox/$VUID/media/history.json
|
|
||||||
cat ~/.zen/bunkerbox/history.json | jq '.[] | reverse' >> ~/.zen/bunkerbox/$VUID/media/history.json
|
|
||||||
echo '}' >> ~/.zen/bunkerbox/$VUID/media/history.json
|
|
||||||
else
|
else
|
||||||
## NEW history
|
IPNSL="./"
|
||||||
[[ ! $(cat ~/.zen/bunkerbox/history.json | grep Videos) ]] && cp ${MY_PATH}/templates/data/history.json ~/.zen/bunkerbox/history.json
|
|
||||||
cp ~/.zen/bunkerbox/history.json ~/.zen/bunkerbox/$VUID/media/history.json
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Add current/latest reversed history to media
|
||||||
|
echo '{
|
||||||
|
"Videos":' > ~/.zen/bunkerbox/$VUID/media/history.json
|
||||||
|
cat ~/.zen/bunkerbox/history.json | jq '.[] | reverse' >> ~/.zen/bunkerbox/$VUID/media/history.json
|
||||||
|
echo '}' >> ~/.zen/bunkerbox/$VUID/media/history.json
|
||||||
|
|
||||||
# Using relative links
|
# Using relative links
|
||||||
sed "s/_IPFSROOT_/./g" ${MY_PATH}/templates/videojs.html > ~/.zen/bunkerbox/$VUID/media/index.html
|
sed "s/_IPFSROOT_/./g" ${MY_PATH}/templates/videojs.html > ~/.zen/bunkerbox/$VUID/media/index.html
|
||||||
sed -i "s/_VUID_/$VUID/g" ~/.zen/bunkerbox/$VUID/media/index.html
|
sed -i "s/_VUID_/$VUID/g" ~/.zen/bunkerbox/$VUID/media/index.html
|
||||||
|
@ -138,7 +148,7 @@ echo "##########################################################################
|
||||||
INDEX="/ipfs/$IPFSROOT"
|
INDEX="/ipfs/$IPFSROOT"
|
||||||
|
|
||||||
VMAIN="/ipfs/$IPFSROOT/$VUID.m3u8"
|
VMAIN="/ipfs/$IPFSROOT/$VUID.m3u8"
|
||||||
# UPDATING original JSON
|
# UPDATING original JSON - TODO inform crowdbunker that IPFS copy is available.
|
||||||
cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq ".video.hlsManifest.url = \"$VMAIN\"" > ~/.zen/bunkerbox/$VUID/media/$VUID.json
|
cat ~/.zen/bunkerbox/$VUID/$VUID.json | jq ".video.hlsManifest.url = \"$VMAIN\"" > ~/.zen/bunkerbox/$VUID/media/$VUID.json
|
||||||
echo "M3U8 : $IPFSNGW$VMAIN"
|
echo "M3U8 : $IPFSNGW$VMAIN"
|
||||||
|
|
||||||
|
@ -161,17 +171,17 @@ echo "##########################################################################
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$INDEX\">" > ~/.zen/bunkerbox/index.html
|
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$INDEX\">" > ~/.zen/bunkerbox/index.html
|
||||||
echo "ACTUEL INDEX $IPFSNGW/ipfs/$IPFSROOT"
|
echo "===== INDEX ===== $IPFSNGW/ipfs/$IPFSROOT"
|
||||||
echo "OLD JSON : $IPFSNGW/ipfs/$IPFSROOT/history.json"
|
echo "HISTORY : $IPFSNGW/ipfs/$IPFSROOT/history.json"
|
||||||
|
|
||||||
PS3="Comment voulez-vous continuer et publier la collecte ? "
|
PS3="Comment voulez-vous continuer et publier votre collecte ? "
|
||||||
choices=("debug" "local" "qo-op" "astrXbian")
|
choices=("debug" "local" "qo-op" "astrXbian")
|
||||||
fav=$(cat ~/.zen/bunkerbox/choice)
|
fav=$(cat ~/.zen/bunkerbox/choice)
|
||||||
[[ ! $fav ]] && select fav in "${choices[@]}"; do [[ $fav ]] && break; done
|
[[ ! $fav ]] && select fav in "${choices[@]}"; do [[ $fav ]] && break; done
|
||||||
case $fav in
|
case $fav in
|
||||||
"local")
|
"local")
|
||||||
echo 'local' > ~/.zen/bunkerbox/choice
|
echo 'local' > ~/.zen/bunkerbox/choice
|
||||||
echo "Historique LOCAL = ~/.zen/bunkerbox/history.json"
|
echo "MODE LOCAL Historique = ~/.zen/bunkerbox/history.json"
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
"astrXbian")
|
"astrXbian")
|
||||||
|
@ -181,33 +191,49 @@ echo "##########################################################################
|
||||||
mkdir -p ~/.zen/ipfs/.$IPFSNODEID/astroport/bunkerbox
|
mkdir -p ~/.zen/ipfs/.$IPFSNODEID/astroport/bunkerbox
|
||||||
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$INDEX\">" > ~/.zen/ipfs/.$IPFSNODEID/astroport/bunkerbox/index.html
|
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$INDEX\">" > ~/.zen/ipfs/.$IPFSNODEID/astroport/bunkerbox/index.html
|
||||||
cp ~/.zen/bunkerbox/history.json ~/.zen/ipfs/.$IPFSNODEID/astroport/bunkerbox/
|
cp ~/.zen/bunkerbox/history.json ~/.zen/ipfs/.$IPFSNODEID/astroport/bunkerbox/
|
||||||
echo "BALISE Station $IPFSNGW/ipns/$IPFSNODEID/.$IPFSNODEID/astroport/bunkerbox/ propagation au prochain cycle astrXbian"
|
echo "BALISE Station :: $IPFSNGW/ipns/$IPFSNODEID/.$IPFSNODEID/astroport/bunkerbox/"
|
||||||
|
echo "Propagation lors du prochain cycle astrXbian"
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
"qo-op")
|
"qo-op")
|
||||||
|
echo "ACTIVATION qo-op"
|
||||||
if [[ ! $(ipfs key list | grep 'qo-op') ]]; then
|
if [[ ! $(ipfs key list | grep 'qo-op') ]]; then
|
||||||
echo "MIssing qo-op key! Clef qo-op manquante!"
|
|
||||||
echo "get it from your best friend and do not break confidence ring!"
|
|
||||||
echo "récupérez la auprès de votre meilleur ami. Et ne brisez pas la chaine de confiance!"
|
|
||||||
|
|
||||||
echo "Contact support@qo-op.com for help! Envoyez un email pour obtenir assistance."
|
echo "Clef qo-op manquante! (Missing qo-op key!)"
|
||||||
echo "Utiliser la clef de DEV ? ENTRER pour OUI. Répondez qqch pour NON."
|
echo "Récupérez la auprès de votre meilleur ami. Et ne brisez pas la chaine de confiance!"
|
||||||
|
echo "(Get it from your best friend and do not break confidence ring!)"
|
||||||
|
sleep 2
|
||||||
|
echo
|
||||||
|
echo "Envoyez un email pour obtenir assistance. (Contact support@qo-op.com) ? HELP !"
|
||||||
|
sleep 1
|
||||||
|
echo
|
||||||
|
echo "Utiliser la clef 'qo-op' de DEV ? ENTRER pour OUI. Saisissez un caractère avant si NON."
|
||||||
read KDEV
|
read KDEV
|
||||||
[[ "$KDEV" != "" ]] && echo "BRAVO! Confidence is in the KEY. La confiance est dans la CLEF." && break ## NO CHOICE MADE
|
if [[ "$KDEV" != "" ]]; then
|
||||||
|
echo "La confiance est dans la CLEF (Confidence is in the KEY)."
|
||||||
## USE DEV KEY
|
echo "Voici la votre (here is yours): "
|
||||||
echo "k51qzi5uqu5djt17zonkpg1cb8hrxhahpesybusz8q57j4ocqm0qlc6s99z60x" > ~/.zen/bunkerbox/qo-op
|
publishkey=$(ipfs key gen qo-op)
|
||||||
cp ${MY_PATH}/key_ofxs233q ~/.ipfs/keystore/
|
echo "~/.ipfs/keystore/key_ofxs233q"
|
||||||
|
echo "Partagez cette clef avec vos amis pour créer une chaine video en commun..."
|
||||||
|
echo "$IPFSNGW/ipns/$publishkey"
|
||||||
|
echo "$publishkey" > ~/.zen/bunkerbox/qo-op
|
||||||
|
echo 'qo-op' > ~/.zen/bunkerbox/choice
|
||||||
|
else
|
||||||
|
## USE DEV KEY
|
||||||
|
echo "k51qzi5uqu5djt17zonkpg1cb8hrxhahpesybusz8q57j4ocqm0qlc6s99z60x" > ~/.zen/bunkerbox/qo-op
|
||||||
|
cp ${MY_PATH}/key_ofxs233q ~/.ipfs/keystore/
|
||||||
|
fi
|
||||||
|
############################################
|
||||||
|
## FIRST PUBLISH index.html (REDIRECT) + history.json + ts
|
||||||
mkdir -p /tmp/$VUID
|
mkdir -p /tmp/$VUID
|
||||||
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$INDEX\">" > /tmp/$VUID/index.html
|
echo "<meta http-equiv=\"refresh\" content=\"0;URL=$INDEX\">" > /tmp/$VUID/index.html
|
||||||
cp ~/.zen/bunkerbox/history.json /tmp/$VUID/history.json
|
cp ~/.zen/bunkerbox/history.json /tmp/$VUID/history.json
|
||||||
echo "$TS" > /tmp/$VUID/ts # TimeStamping
|
echo "$TS" > /tmp/$VUID/ts # TimeStamping
|
||||||
VROOT=$(ipfs add -wHq /tmp/$VUID/* | tail -n 1)
|
VROOT=$(ipfs add -wHq /tmp/$VUID/* | tail -n 1)
|
||||||
ipfs name publish --key=qo-op /ipfs/$VROOT
|
ipfs name publish --key=qo-op /ipfs/$VROOT
|
||||||
echo "qo-op : $IPFSNGW/ipns/$IPNS/history.json /ipfs/$VROOT"
|
echo "qo-op : $IPFSNGW/ipns/$IPNS/history.json REDIRECT TO /ipfs/$VROOT"
|
||||||
else
|
else
|
||||||
## WRITE qo-op IPNS key
|
## qo-op KEY IS ALREADY THERE. WRITE qo-op IPNS key
|
||||||
ipfs key list -l | grep 'qo-op' | cut -f 1 -d ' ' > ~/.zen/bunkerbox/qo-op
|
ipfs key list -l | grep 'qo-op' | cut -f 1 -d ' ' > ~/.zen/bunkerbox/qo-op
|
||||||
fi
|
fi
|
||||||
echo 'qo-op' > ~/.zen/bunkerbox/choice
|
echo 'qo-op' > ~/.zen/bunkerbox/choice
|
||||||
|
|
Loading…
Reference in New Issue