Astroport.ONE/tools/download_from_kodi_log.sh

82 lines
3.3 KiB
Bash
Raw Normal View History

2022-11-19 01:38:27 +01:00
#!/bin/bash
########################################################################
# Author: papiche
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
# 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##*/}"
# script usage
usage()
{
# if argument passed to function echo it
[ -z "${1}" ] || echo "! ${1}"
# display help
echo "\
# extract uplad links from kodi log file
$(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)
mkdir -p ~/.zen/tmp/${IPFSNODEID}/uqdl/
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" && \
2022-12-14 13:46:06 +01:00
echo "uqload_downloader https://uqload.com/$uqlink \"$HOME/Astroport/$uqname.mp4\"" >> ~/.zen/tmp/${IPFSNODEID}/uqdl/commands.fifo || \
2022-12-30 17:07:08 +01:00
echo "$uqname.mp4 conflict 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
2022-11-23 14:59:04 +01:00
echo "COPY 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)"
2022-12-14 13:46:06 +01:00
uqload_downloader https://uqload.com/$uqlink "$HOME/Astroport/$uqname.mp4"
echo "COPY ~/Astroport/$uqname.mp4 DONE"
2023-01-12 23:42:03 +01:00
## RUNNING ON ASTROPORT STATION?
(
[[ $(which ipfs) && $IPFSNODEID ]] \
&& espeak "Download $uqname done. Adding file to IPFS." \
&& 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"
) &
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