diff --git a/routes.sh b/routes.sh
index 22becdc..001dc09 100644
--- a/routes.sh
+++ b/routes.sh
@@ -5,11 +5,4 @@
router "/channel/:id" "${cfg[namespace]}/webroot/channel.shs"
router "/user/:user" "${cfg[namespace]}/webroot/channel.shs"
router "/playlist" "${cfg[namespace]}/webroot/playlist.shs"
-
-if [[ "${r[host]}" == "${cfg[flash_host]}" ]]; then
- router "/watch" "${cfg[namespace]}/webroot/watch_flash.shs"
-else
- router "/watch" "${cfg[namespace]}/webroot/watch.shs"
-fi
-
-echo "${r[host]}" > tmp
+router "/watch" "${cfg[namespace]}/webroot/watch.shs"
diff --git a/webroot/player_flash.shs b/webroot/player_flash.shs
index 3ce3ded..d58b6b6 100755
--- a/webroot/player_flash.shs
+++ b/webroot/player_flash.shs
@@ -3,6 +3,6 @@ echo ''
diff --git a/webroot/watch.shs b/webroot/watch.shs
index 475cebd..0669200 100755
--- a/webroot/watch.shs
+++ b/webroot/watch.shs
@@ -39,12 +39,17 @@ if [[ "${get_data[v]}" ]]; then
fi
fi
- strings[player]=$(source "${cfg[namespace]}/webroot/player.shs")
+ if [[ "${r[host]}" == "${cfg[flash_host]}" ]]; then
+ strings[player]=$(source "${cfg[namespace]}/webroot/player_flash.shs")
+ else
+ strings[player]=$(source "${cfg[namespace]}/webroot/player.shs")
+ fi
strings[upload_date]=$(date -d "$(echo $video | jq -r '.upload_date' | sed -E 's/..../&-/;s/....-../&-/')" "+%d %B %Y")
strings[view_count]=$(echo $video | jq -r '.view_count')
strings[like_count]=$(echo $video | jq -r '.like_count')
- strings[dislike_count]=$(echo $video | jq -r '.dislike_count')
+ strings[dislike_count]=$(echo $video | jq -r '.dislike_count')
+ strings[sub]=''
#
if [[ ${cookies[sh_session]} ]]; then
@@ -71,24 +76,20 @@ if [[ "${get_data[v]}" ]]; then
strings[fav]="Log in to add this video to your favourites and/or subscribe to this channel!
"
fi
fi
- strings[description]=$(echo "$video" | jq -r '.description' | sed -E 's/$/
/g')
+ strings[description]=$(jq -r '.description' <<< "$video" | sed -E 's/$/
/g')
vid="$(cat "temp/${get_data[v]}_https_-_"*"watch"*".dump")"
vid_json="$(tr -d '\n' <<< "$vid" | grep -Poh "ytInitialData.*?" | sed 's/ytInitialData = //;s/<\/script>//')"
strings[recommended]=$(jq -r '.contents.twoColumnWatchNextResults.secondaryResults.secondaryResults.results[] | .compactAutoplayRenderer.contents[0].compactVideoRenderer, .compactVideoRenderer | if .videoId != null then "
" else empty end' <<< "$vid_json")
-
- #for i in $(grep -ohE "watch\?v\=[A-zaz0-9]{11}" <<< "$vid" | cut -c 9-19 | uniq); do
- # echo "";
- #done
vid="$(curl -s "https://www.youtube.com/watch?v=${get_data[v]}" -c cookiejar_)" # broken comment support, we need this for now
- cont="$(echo "$vid" | grep -Poh 'continuation":".*?"' | sed -E 's/.*":"//g;s/"//g')"
- CSRF="$(echo "$vid" | grep -Poh 'XSRF_TOKEN":".*?"' | sed -E 's/XSRF_TOKEN":"//g;s/"//g;s/\\u00/%/g')"
+ cont="$(grep -Poh 'continuation":".*?"' <<< "$vid" | sed -E 's/.*":"//g;s/"//g')"
+ CSRF="$(grep -Poh 'XSRF_TOKEN":".*?"' <<< "$vid" | sed -E 's/XSRF_TOKEN":"//g;s/"//g;s/\\u00/%/g')"
- comments="$(curl -vvv 'https://www.youtube.com/comment_service_ajax?action_get_comments=1&pbj=1&ctoken='"$cont"'&continuation='"$cont" -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'X-YouTube-Client-Name: 1' -H 'X-YouTube-Client-Version: 2.20201105.01.01' --data-raw 'session_token='"$CSRF" -b cookiejar_)"
+ comments="$(curl -s 'https://www.youtube.com/comment_service_ajax?action_get_comments=1&pbj=1&ctoken='"$cont"'&continuation='"$cont" -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'X-YouTube-Client-Name: 1' -H 'X-YouTube-Client-Version: 2.20201105.01.01' --data-raw 'session_token='"$CSRF" -b cookiejar_)"
IFS=$'\n'
comment_nick=($(jq -r '.response.continuationContents.itemSectionContinuation.contents[].commentThreadRenderer.comment.commentRenderer.authorText.simpleText' <<< "$comments"))
diff --git a/webroot/watch_flash.shs b/webroot/watch_flash.shs
deleted file mode 100755
index b5d7cc0..0000000
--- a/webroot/watch_flash.shs
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/bin/bash
-
-declare -A strings
-
-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)'
- url='https://f.sakamoto.pl/videoplayback_.flv'
- if [[ ${cfg[template]} == 'default' ]]; then
- meta[title]="${strings[title]}"
- source templates/head.sh
- fi
- else
- cd temp
- video=$(haruhi-dl --write-pages --cookies ${cfg[_cookies]} -J "http://youtube.com/watch?v=${get_data[v]}")
- if [[ $video == '' ]]; then # okay who did this
- video=$(haruhi-dl --write-pages --cookies ${cfg[_cookies]} -J "http://youtube.com/watch?v=${get_data[v]}")
- if [[ $video == '' ]]; then # seriously WHO DID THIS
- return
- fi
- fi
- cd ..
- #echo "http://youtube.com/watch?v=${get_data[v]}" > /dev/stderr
- strings[channel_id]=$(jq -r '.channel_url' <<< "$video" | sed -s 's/http:\/\/www.youtube.com\/channel\///')
- strings[uploader]=$(jq -r '.uploader' <<< "$video")
- strings[title]=$(jq -r '.title' <<< "$video")
- if [[ ${cfg[template]} == 'default' ]]; then
- meta[title]="${strings[title]}"
- source templates/head.sh
- fi
- IFS=$'\n'
- urls=($(jq -r '.formats[] | select(.format_id == "22" or .format_id == "18").url' <<< "$video"))
- unset IFS
- if [[ ${urls[1]} != '' ]]; then
- url=${urls[1]}
- else
- url=${urls[0]}
- fi
- fi
-
- strings[player]=$(source "${cfg[namespace]}/webroot/player_flash.shs")
-
- strings[upload_date]=$(date -d "$(echo $video | jq -r '.upload_date' | sed -E 's/..../&-/;s/....-../&-/')" "+%d %B %Y")
- strings[view_count]=$(echo $video | jq -r '.view_count')
- strings[like_count]=$(echo $video | jq -r '.like_count')
- strings[dislike_count]=$(echo $video | jq -r '.dislike_count')
-
- #
- if [[ ${cookies[sh_session]} ]]; then
- if [[ $(grep $(session_get_username "${cookies[sh_session]}") storage/faves | grep "${get_data[v]}") == '' ]]; then
- if [[ ${cfg[template]} == 'default' ]]; then
- strings[fav]="Add to favourites
"
- fi
- else
- if [[ ${cfg[template]} == 'default' ]]; then
- strings[fav]="Remove from favourites
"
- fi
- fi
- if [[ $(grep $(session_get_username "${cookies[sh_session]}") storage/subscribed | grep "${strings[channel_id]}") == '' ]]; then
- if [[ ${cfg[template]} == 'default' ]]; then
- strings[sub]="Subscribe to $uploader!
"
- fi
- else
- if [[ ${cfg[template]} == 'default' ]]; then
- strings[sub]="Unsubscribe from $uploader
"
- fi
- fi
- else
- if [[ ${cfg[template]} == 'default' ]]; then
- echo "Log in to add this video to your favourites and/or subscribe to this channel!
"
- fi
- fi
-
- vid="$(cat "temp/${get_data[v]}_https_-_"*"watch"*".dump")"
- vid_json="$(tr -d '\n' <<< "$vid" | grep -Poh "ytInitialData.*?" | sed 's/ytInitialData = //;s/<\/script>//')"
-
- strings[recommended]=$(jq -r '.contents.twoColumnWatchNextResults.secondaryResults.secondaryResults.results[] | .compactAutoplayRenderer.contents[0].compactVideoRenderer, .compactVideoRenderer | if .videoId != null then "" else empty end' <<< "$vid_json")
-
- #for i in $(grep -ohE "watch\?v\=[A-zaz0-9]{11}" <<< "$vid" | cut -c 9-19 | uniq); do
- # echo "";
- #done
-
- vid="$(curl -s "https://www.youtube.com/watch?v=${get_data[v]}" -c cookiejar_)" # broken comment support, we need this for now
-
- echo "Comments
"
-
- cont="$(echo "$vid" | grep -Poh 'continuation":".*?"' | sed -E 's/.*":"//g;s/"//g')"
- CSRF="$(echo "$vid" | grep -Poh 'XSRF_TOKEN":".*?"' | sed -E 's/XSRF_TOKEN":"//g;s/"//g;s/\\u00/%/g')"
-
-
- comments="$(curl -vvv 'https://www.youtube.com/comment_service_ajax?action_get_comments=1&pbj=1&ctoken='"$cont"'&continuation='"$cont" -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'X-YouTube-Client-Name: 1' -H 'X-YouTube-Client-Version: 2.20201105.01.01' --data-raw 'session_token='"$CSRF" -b cookiejar_)"
-
- IFS=$'\n'
- comment_nick=($(jq -r '.response.continuationContents.itemSectionContinuation.contents[].commentThreadRenderer.comment.commentRenderer.authorText.simpleText' <<< "$comments"))
- comment_published=($(jq -r '.response.continuationContents.itemSectionContinuation.contents[].commentThreadRenderer.comment.commentRenderer.publishedTimeText.runs[0].text' <<< "$comments"))
- comment_likes=($(jq -r '.response.continuationContents.itemSectionContinuation.contents[].commentThreadRenderer.comment.commentRenderer.likeCount' <<< "$comments"))
- comment_avatar=($(jq -r '.response.continuationContents.itemSectionContinuation.contents[].commentThreadRenderer.comment.commentRenderer.authorThumbnail.thumbnails[1].url' <<< "$comments"))
- unset IFS
- x=$(jq '.response.continuationContents.itemSectionContinuation.contents[].commentThreadRenderer.comment.commentRenderer.contentText.runs | map(.text)' <<< "$comments")
- IFS=']'
- for i in $x; do
- comment_text+=($(echo "$i]" | jq -r 'join("")')) # sincerely, fsck [] shell expansion
- done
-
- for (( i=0; i<${#comment_nick[@]}; i++ )); do
- strings[comments_list]+=" ${comment_nick[$i]} | ${comment_published[$i]} | ${comment_likes[$i]} liked
${comment_text[$i]}
"
- done
-
- strings[playlist]=""
-
- if [[ "${get_data[playlist]}" ]]; then
- playlist=$(haruhi-dl --cookies ${cfg[_cookies]} -j --flat-playlist "https://www.youtube.com/playlist?list=${get_data[playlist]}")
-
- IFS=$'\n'
- video_title=($(jq -r '.title' <<< $playlist))
- video_id=($(jq -r '.id' <<< $playlist))
-
- for (( i=0; i<${#video_id[@]}; i++ )); do
- if [[ "${video_id[$i]}" == "${get_data[v]}" ]]; then
- next="${video_id[$((i+1))]}"
- break
- fi
- done
-
- [[ "$next" == '' ]] && next='dQw4w9WgXcQ'
-
- strings[playlist]+="Playlist
"
-
- for (( i=0; i<${#video_id[@]}; i++ )); do
- strings[playlist]+="
${video_title[$i]}
"
- done
- fi
-
- render_unsafe strings "${cfg[namespace]}/templates/themes/${cfg[template]}/watch_flash.t"
-else
- source templates/head.sh
- echo "pls add ?v param i'm still WiP"
-fi