temporarily remove the easter egg to unclutter the code
parent
fe0fb5e42a
commit
c491f1ec60
|
@ -7,103 +7,67 @@ fi
|
|||
|
||||
declare -A strings
|
||||
|
||||
#if [[ ! "$(which haruhi-dl)" ]]; then
|
||||
# strings[error]='Could not load video'
|
||||
# source templates/head.sh
|
||||
# source "${cfg[namespace]}/templates/header.shs"
|
||||
# render strings "${cfg[namespace]}/templates/themes/${cfg[template]}/watch_error.t"
|
||||
# return
|
||||
#fi
|
||||
|
||||
if [[ "${get_data[v]}" ]]; then
|
||||
if [[ "${get_data[v]}" == '18l' || "${get_data[v]}" == '5eFdt6Y_34E' ]]; then
|
||||
strings[uploader]='MyMusicGroup'
|
||||
strings[title]='█▬█ █ ▀█▀ Jeden Osiem L - Jak Zapomnieć (Oficjalny Teledysk)'
|
||||
formats='[{
|
||||
"format_id": "44",
|
||||
"url": "https://sakamoto.pl/tmp/videoplayback_.webm",
|
||||
"asr": 44100,
|
||||
"format_note": "480p",
|
||||
"fps": 25,
|
||||
"height": 480,
|
||||
"tbr": 867,
|
||||
"width": 640,
|
||||
"ext": "webm",
|
||||
"vcodec": "vp8",
|
||||
"acodec": "vorbis"
|
||||
}]'
|
||||
subs='[]'
|
||||
if [[ "${r[host]}" == "${cfg[flash_host]}" ]]; then
|
||||
url='http://f.sakamoto.pl/videoplayback_.flv'
|
||||
fi
|
||||
if [[ ${cfg[template]} != 'retro' ]]; then
|
||||
meta[title]="${strings[title]}"
|
||||
#source templates/head.sh
|
||||
source "${cfg[namespace]}/templates/header.shs"
|
||||
fi
|
||||
else
|
||||
cd temp
|
||||
video=$(yt-dlp --all-subs --write-pages --cookies "${cfg[_cookies]}" -J "http://youtube.com/watch?v=${get_data[v]}")
|
||||
if [[ $video == '' ]]; then # okay who did this
|
||||
random_hash=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 24 | head -n 1)
|
||||
video=$(yt-dlp --all-subs --write-pages --cookies ${cfg[_cookies]} -J "http://youtube.com/watch?v=${get_data[v]}" 2> output$random_hash.log)
|
||||
if [[ $video == '' ]]; then # seriously WHO DID THIS
|
||||
if [[ "${cfg[regionlock_proxy]}" == true ]]; then
|
||||
# retrying w/ proxy!
|
||||
video=$(yt-dlp --all-subs --write-pages --cookies ${cfg[_cookies]} --proxy "${cfg[regionlock_proxy_url]}" -J "http://youtube.com/watch?v=${get_data[v]}" 2> output$random_hash.log)
|
||||
cd temp
|
||||
video=$(yt-dlp --all-subs --write-pages --cookies "${cfg[_cookies]}" -J "http://youtube.com/watch?v=${get_data[v]}")
|
||||
if [[ $video == '' ]]; then # okay who did this
|
||||
random_hash=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 24 | head -n 1)
|
||||
video=$(yt-dlp --all-subs --write-pages --cookies ${cfg[_cookies]} -J "http://youtube.com/watch?v=${get_data[v]}" 2> output$random_hash.log)
|
||||
if [[ $video == '' ]]; then # seriously WHO DID THIS
|
||||
if [[ "${cfg[regionlock_proxy]}" == true ]]; then
|
||||
# retrying w/ proxy!
|
||||
video=$(yt-dlp --all-subs --write-pages --cookies ${cfg[_cookies]} --proxy "${cfg[regionlock_proxy_url]}" -J "http://youtube.com/watch?v=${get_data[v]}" 2> output$random_hash.log)
|
||||
fi
|
||||
output=$(cat output$random_hash.log)
|
||||
rm output$random_hash.log
|
||||
if [[ $video == '' ]]; then
|
||||
if [[ $output == 'ERROR: Video unavailable' ]]; then
|
||||
strings[error]='Video unavailable'
|
||||
elif [[ $output == *'ERROR: Incomplete YouTube ID'* ]]; then
|
||||
strings[error]='Incomplete YouTube ID'
|
||||
else
|
||||
strings[error]='Unexpected error has occured'
|
||||
fi
|
||||
output=$(cat output$random_hash.log)
|
||||
rm output$random_hash.log
|
||||
if [[ $video == '' ]]; then
|
||||
if [[ $output == 'ERROR: Video unavailable' ]]; then
|
||||
strings[error]='Video unavailable'
|
||||
elif [[ $output == *'ERROR: Incomplete YouTube ID'* ]]; then
|
||||
strings[error]='Incomplete YouTube ID'
|
||||
else
|
||||
strings[error]='Unexpected error has occured'
|
||||
fi
|
||||
cd ..
|
||||
source "${cfg[namespace]}/templates/header.shs"
|
||||
render strings "${cfg[namespace]}/templates/themes/${cfg[template]}/watch_error.html"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
cd ..
|
||||
strings[channel_id]=$(jq -r '.channel_url' <<< "$video" | sed -s 's/.*\/channel\///')
|
||||
strings[uploader]=$(jq -r '.uploader' <<< "$video")
|
||||
strings[title]=$(jq -r '.title' <<< "$video")
|
||||
if [[ ${cfg[template]} != 'retro' ]]; then
|
||||
meta[title]="${strings[title]}"
|
||||
meta[description]="$(jq -r '.description' <<< "$video")"
|
||||
meta[unsafe]="
|
||||
<meta property='og:image' content='https://i.ytimg.com/vi/$(html_encode "${get_data[v]}")/hqdefault.jpg'>
|
||||
<meta property='og:type' content='video.other'>
|
||||
<meta property='video:duration' content='$(jq -r '.duration' <<< "$video")'>
|
||||
"'<script type="application/ld+json">'"$(jq -c '{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": .title,
|
||||
"alternateName": .alt_title,
|
||||
"description": .description,
|
||||
"thumbnail": .thumbnails[-1].url,
|
||||
"duration": ("PT" + (.duration | tostring) + "S"),
|
||||
}' <<< "$video" | sed 's/</\</g;s/>/\>/g;')"'</script>'
|
||||
#source templates/head.sh
|
||||
source "${cfg[namespace]}/templates/header.shs"
|
||||
fi
|
||||
formats=$(jq -c '[.formats[] | {"format_id":.format_id,"url":.url,"ext":.ext,"width":.width,"height":.height,"format_note":.format_note,"acodec":.acodec,"vcodec":.vcodec,"abr":.abr,"fps":.fps}]' <<< "$video")
|
||||
|
||||
sub_array=()
|
||||
|
||||
for i in $(jq -r '.subtitles | keys[]' <<< "$video"); do
|
||||
sub_array+=("$(jq '.subtitles.'"$i"'[] | select(.ext == "vtt").url | {"url": ., "lang":"'"$i"'"}' <<< "$video")")
|
||||
done
|
||||
|
||||
subs=$(jq -s '.' <<< "${sub_array[@]}")
|
||||
|
||||
cd ..
|
||||
source "${cfg[namespace]}/templates/header.shs"
|
||||
render strings "${cfg[namespace]}/templates/themes/${cfg[template]}/watch_error.html"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ..
|
||||
strings[channel_id]=$(jq -r '.channel_url' <<< "$video" | sed -s 's/.*\/channel\///')
|
||||
strings[uploader]=$(jq -r '.uploader' <<< "$video")
|
||||
strings[title]=$(jq -r '.title' <<< "$video")
|
||||
if [[ ${cfg[template]} != 'retro' ]]; then
|
||||
meta[title]="${strings[title]}"
|
||||
meta[description]="$(jq -r '.description' <<< "$video")"
|
||||
meta[unsafe]="
|
||||
<meta property='og:image' content='https://i.ytimg.com/vi/$(html_encode "${get_data[v]}")/hqdefault.jpg'>
|
||||
<meta property='og:type' content='video.other'>
|
||||
<meta property='video:duration' content='$(jq -r '.duration' <<< "$video")'>
|
||||
"'<script type="application/ld+json">'"$(jq -c '{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "VideoObject",
|
||||
"name": .title,
|
||||
"alternateName": .alt_title,
|
||||
"description": .description,
|
||||
"thumbnail": .thumbnails[-1].url,
|
||||
"duration": ("PT" + (.duration | tostring) + "S"),
|
||||
}' <<< "$video" | sed 's/</\</g;s/>/\>/g;')"'</script>'
|
||||
#source templates/head.sh
|
||||
source "${cfg[namespace]}/templates/header.shs"
|
||||
fi
|
||||
formats=$(jq -c '[.formats[] | {"format_id":.format_id,"url":.url,"ext":.ext,"width":.width,"height":.height,"format_note":.format_note,"acodec":.acodec,"vcodec":.vcodec,"abr":.abr,"fps":.fps}]' <<< "$video")
|
||||
|
||||
sub_array=()
|
||||
|
||||
for i in $(jq -r '.subtitles | keys[]' <<< "$video"); do
|
||||
sub_array+=("$(jq '.subtitles.'"$i"'[] | select(.ext == "vtt").url | {"url": ., "lang":"'"$i"'"}' <<< "$video")")
|
||||
done
|
||||
|
||||
subs=$(jq -s '.' <<< "${sub_array[@]}")
|
||||
|
||||
if [[ "${r[host]}" == "${cfg[flash_host]}" ]]; then
|
||||
IFS=$'\n'
|
||||
urls=($(jq -r '.formats[] | select(.format_id == "22" or .format_id == "18").url' <<< "$video"))
|
||||
|
@ -169,8 +133,6 @@ if [[ "${get_data[v]}" ]]; then
|
|||
vid="$(cat "temp/${written_id}_https_-_"*"watch"*".dump")"
|
||||
vid_json="$(tr -d '\n' <<< "$vid" | grep -Poh "ytInitialData.*?</script>" | sed 's/ytInitialData = //;s/<\/script>//')"
|
||||
|
||||
#strings[recommended]=$()
|
||||
|
||||
_jq_to_array '.contents.twoColumnWatchNextResults.secondaryResults.secondaryResults.results[] | .compactAutoplayRenderer.contents[0].compactVideoRenderer, .compactVideoRenderer |
|
||||
if .videoId != null then
|
||||
[.videoId,
|
||||
|
|
Loading…
Reference in New Issue