diff --git a/crowdbunker.sh b/crowdbunker.sh index adc560a..fc3f606 100755 --- a/crowdbunker.sh +++ b/crowdbunker.sh @@ -29,6 +29,7 @@ IPFSNGW="http://127.0.0.1:8080" [[ ! $isLAN ]] && IPFSNGW="https://$(hostname)" echo "IPFS GATEWAY $IPFSNGW" +########################################################################### ## History Rotation hier=$(date --date="yesterday" +"%Y-%m-%d") # New day! 00:00 is passed... @@ -50,6 +51,7 @@ if [[ ! -f ~/.zen/bunkerbox/history_${hier}.json && -f ~/.zen/bunkerbox/homepage echo "'qo-op' update with /ipfs/$VROOT" ipfs name publish --key=qo-op /ipfs/$VROOT fi +########################################################################### ## GET LATEST VIDEOS VWALLURL="https://api.crowdbunker.com/post/all" @@ -76,10 +78,7 @@ for VUID in $(tac /tmp/vuid.list); do DURATION=$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r .video.duration) && [[ $DURATION == 0 ]] && echo "NOT STARTED YET" && echo && continue TITLE=$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r .video.title | sed "s/'/ /g" | sed 's/"/ /g' | sed "s/&/ /g") # Remove quote CHANNEL=$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r .channel.organization.uid) - ## GET MORE DATA... CORRECT IT for each JSON - ORGUID=$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r .organization.uid) - ORGNAME=$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r .organization.name) - ORGBANNER=$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r .organization.banner.url) + ## GET MORE DATA FROM JSON, or get it from web page loading $VUID.json HLS=$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r .video.hlsManifest.url) MEDIASOURCE=$(echo $HLS | rev | cut -d '/' -f 2- | rev) @@ -93,22 +92,22 @@ for VUID in $(tac /tmp/vuid.list); do curl -s $HLS -o ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 [[ ! $(cat ~/.zen/bunkerbox/choice 2>/dev/null) ]] && cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 # DEBUG - echo ">>>>>>>>>>>>>>>> Downloading VIDEO" - # Choose 360p or 480p or 720p or 240p - VSIZE=360 && VIDEOHEAD=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep -B1 ${VSIZE}p | head -n 1) && VIDEOSRC=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep ${VSIZE}p | tail -n 1 | cut -f 1 -d '.') - [[ "$VIDEOSRC" == "" ]] && VSIZE=480 && VIDEOHEAD=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep -B1 ${VSIZE}p | head -n 1) && VIDEOSRC=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep ${VSIZE}p | tail -n 1 | cut -f 1 -d '.') - [[ "$VIDEOSRC" == "" ]] && VSIZE=720 && VIDEOHEAD=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep -B1 ${VSIZE}p | head -n 1) && VIDEOSRC=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep ${VSIZE}p | tail -n 1 | cut -f 1 -d '.') - [[ "$VIDEOSRC" == "" ]] && VSIZE=240 &&VIDEOHEAD=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep -B1 ${VSIZE}p | head -n 1) && VIDEOSRC=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep ${VSIZE}p | tail -n 1 | cut -f 1 -d '.') - ## NO VIDEO ? - [[ "$VIDEOSRC" == "" ]] && echo "NO COMPATIBLE RESOLUTION VIDEO FOUND." && cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 && continue - - # THUMBNAIL - VTHUMB="$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r --arg VSIZE "$VSIZE" '.video.thumbnails[] | select(.height == $VSIZE) | .url')" - echo ">>>>>>>>>>>>>>>> Downloading $VSIZE Thumbnail" - [[ ! -f ~/.zen/bunkerbox/cache/$VUID/media/$VUID.jpg ]] && curl -s $VTHUMB -o ~/.zen/bunkerbox/cache/$VUID/media/$VUID.jpg - [[ ! -f ~/.zen/bunkerbox/cache/$VUID/media/$VUID.jpg ]] && cp ${MY_PATH}/images/astroport.jpg ~/.zen/bunkerbox/cache/$VUID/media/$VUID.jpg # CORRECT MISSING THUMB - + # Choose 360p or 480p or 720p or 240p + echo ">>>>>>>>>>>>>>>> Selecting VIDEO" + VIDEOHEAD=""; VIDEOSRC="" + for VSIZE in 360 480 720 240; do + [[ "$VIDEOHEAD" == "" ]] && VIDEOHEAD=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep -B1 ${VSIZE}p | head -n 1) + [[ "$VIDEOSRC" == "" ]] && VIDEOSRC=$(cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 | grep ${VSIZE}p | tail -n 1 | cut -f 1 -d '.') + VTHUMB="$(cat ~/.zen/bunkerbox/cache/$VUID/media/$VUID.json | jq -r --arg VSIZE "$VSIZE" '.video.thumbnails[] | select(.height == $VSIZE) | .url')" + [[ ! -f ~/.zen/bunkerbox/cache/$VUID/media/$VUID.jpg ]] && echo "Downloading $VSIZE thumbnail" && curl -s $VTHUMB -o ~/.zen/bunkerbox/cache/$VUID/media/$VUID.jpg + done + ## NO VIDEO FOUND ? + [[ "$VIDEOSRC" == "" ]] && echo "NO COMPATIBLE RESOLUTION VIDEO FOUND." && cat ~/.zen/bunkerbox/cache/$VUID/$VUID.m3u8 && continue echo "VIDEOSRC=$MEDIASOURCE/$VIDEOSRC" + # CORRECT MISSING THUMB + [[ ! -f ~/.zen/bunkerbox/cache/$VUID/media/$VUID.jpg ]] && cp ${MY_PATH}/images/astroport.jpg ~/.zen/bunkerbox/cache/$VUID/media/$VUID.jpg + + echo ">>>>>>>>>>>>>>>> Downloading VIDEO" # Downloading Video m3u8 and Video [[ ! -f ~/.zen/bunkerbox/cache/$VUID/media/$VIDEOSRC.m3u8 ]] && curl -s $MEDIASOURCE/$VIDEOSRC.m3u8 -o ~/.zen/bunkerbox/cache/$VUID/media/$VIDEOSRC.m3u8 [[ ! -f ~/.zen/bunkerbox/cache/$VUID/media/$VIDEOSRC ]] && curl $MEDIASOURCE/$VIDEOSRC -o ~/.zen/bunkerbox/cache/$VUID/media/$VIDEOSRC