Astroport.ONE/tools/download_from_kodi_log.sh

94 lines
3.8 KiB
Bash
Raw Normal View History

2022-11-19 01:38:27 +01:00
#!/bin/bash
########################################################################
# Author: papiche
# Version: 0.1
2023-01-20 22:42:05 +01:00
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.${MOATS}/)
2022-11-19 01:38:27 +01:00
########################################################################
# download_from_kodi_log.sh
########################################################################
echo "Extract uqload links from ~/.kodi/temp/kodi.${OLD}log"
# Detects uqload links and ask for copying it to $HOME/astroport
########################################################################
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
SCRIPT="${0##*/}"
2023-01-20 22:42:05 +01:00
isKodiRunning=$(ps auxf --sort=+utime | grep -w 'kodi-x11' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
if [[ ! $isKodiRunning ]]; then
echo "Kodi is not running"
fi
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
2022-11-19 01:38:27 +01:00
# script usage
usage()
{
# if argument passed to function echo it
[ -z "${1}" ] || echo "! ${1}"
# display help
echo "\
2023-01-20 22:42:05 +01:00
# extract played uqload links from kodi log file
2022-11-19 01:38:27 +01:00
$(basename "$0") : current log scraping
$(basename "$0") old scraping"
exit 2
}
2023-01-12 23:42:03 +01:00
IPFSNODEID=$(ipfs --timeout 5s id -f='<id>\n')
[[ ! $IPFSNODEID ]] && IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID)
2023-01-20 22:42:05 +01:00
[[ $IPFSNODEID == "" ]] && echo "IPFS APPLICATION. P.LEASE " && exit 1
mkdir -p ~/.zen/tmp/${IPFSNODEID}/uqdl/
2023-01-20 22:42:05 +01:00
mkdir -p $HOME/Astroport/film/${MOATS}
2022-11-19 01:38:27 +01:00
## CHOOSE kodi.${OLD}log
[[ $1 == "old" ]] && OLD='old.' || OLD=''
[[ ! $(which kodi) ]] && echo "KODI IS MISSING." && exit 1
2022-11-19 01:38:27 +01:00
2022-12-30 17:07:08 +01:00
function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
2022-11-19 01:38:27 +01:00
## LOOP
cycle=1
for uqlink in $(cat ~/.kodi/temp/kodi.${OLD}log | grep uqload | grep 'play :' | rev | cut -d '/' -f 1 | rev);
do
2022-12-30 17:07:08 +01:00
proname=$(cat ~/.kodi/temp/kodi.${OLD}log | grep uqload | grep $uqlink | grep VideoPlayer | cut -d '=' -f 4 | cut -d '&' -f 1)
uqname=$(urldecode $proname | detox --inline)
[[ ! $uqname ]] && echo "$uqlink is BAD" && continue
2022-11-19 01:38:27 +01:00
cycle=$((cycle+1))
echo "########################################################################"
2022-12-14 13:46:06 +01:00
echo "MANUAL : uqload_downloader https://uqload.com/$uqlink \"$HOME/Astroport/$uqname.mp4\""
2022-11-19 01:38:27 +01:00
! cat ~/.zen/tmp/${IPFSNODEID}/uqdl/commands.fifo | grep -w "$uqname.mp4" && \
2023-01-20 22:42:05 +01:00
echo "uqload_downloader https://uqload.com/$uqlink \"$HOME/Astroport/film/${MOATS}/$uqname.mp4\"" >> ~/.zen/tmp/${IPFSNODEID}/uqdl/commands.fifo || \
echo "$uqname.mp4 detected in ~/.zen/tmp/${IPFSNODEID}/uqdl/commands.fifo"
2022-11-19 01:38:27 +01:00
## CHECK & MANAGE COPY
if [[ $(find $HOME/Astroport -name "$uqname.mp4" -type f -print) ]];
2022-11-19 01:38:27 +01:00
then
2023-01-20 22:42:05 +01:00
echo "FILE ALREADY IN $HOME/Astroport/"
2022-11-27 04:49:12 +01:00
continue
2022-11-19 01:38:27 +01:00
else
2022-11-27 04:49:12 +01:00
echo "DETECTED MOVIE : $uqname (https://uqload.com/$uqlink)"
2023-01-20 22:42:05 +01:00
uqload_downloader https://uqload.com/$uqlink "$HOME/Astroport/film/${MOATS}/$uqname.mp4"
echo "COPY ~/Astroport/film/${MOATS}/$uqname.mp4 DONE"
2023-01-12 23:42:03 +01:00
## RUNNING ON ASTROPORT STATION?
(
[[ $(which ipfs) && $IPFSNODEID ]] \
2023-01-17 15:23:45 +01:00
&& espeak "Download $uqname done. Adding file to I P F S" \
2023-01-20 22:42:05 +01:00
&& ~/.zen/Astroport.ONE/tools/new_file_in_astroport.sh "$HOME/Astroport/film/${MOATS}/" "$uqname.mp4"
2023-01-20 15:17:02 +01:00
#~ && CID=$(ipfs add -q ~/Astroport/$uqname.mp4 | tail -n 1) \
#~ && mkdir -p ~/.zen/tmp/$IPFSNODEID/$PLAYER/Astroport/ \
#~ && echo "/ipfs/$CID" > ~/.zen/tmp/$IPFSNODEID/Astroport/$uqname.mp4.ipfs \
#~ && espeak "Added to Station 12345 mapping"
2023-01-12 23:42:03 +01:00
) &
2022-11-19 01:38:27 +01:00
fi
done
echo
echo "########################################################################"
[[ $cycle == 1 && ! ${OLD} ]] && echo "NOTHING IN CURRENT LOG, TRY old ?" && read OLD && [[ "$OLD" != "" ]] && $MY_PATH/$SCRIPT old
2022-11-27 04:49:12 +01:00
echo "DONE... VideoClub Datacenter Virtuel entre amis."
2022-11-19 01:38:27 +01:00
echo "ASTROPORT. Le web des gens."
exit 0