From 48d5ef22a7b81a101bc2bdff66931e1a318dd19f Mon Sep 17 00:00:00 2001 From: Dominika Liberda Date: Sun, 20 Jun 2021 21:14:13 +0000 Subject: [PATCH] + proxying stub --- config.sh | 3 +++ webroot/watch.shs | 35 +++++++++++++++++++---------------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/config.sh b/config.sh index d3b093c..c7c0fa2 100644 --- a/config.sh +++ b/config.sh @@ -9,3 +9,6 @@ if [[ "${r[url]}" == "/proxy"* ]]; then cfg[proxy_url]='http(s|)://[a-z0-9-]*\.googlevideo\.com/.*' cfg[proxy_param]='url' fi + +cfg[regionlock_proxy]=false +cfg[regionlock_proxy_url]='http://.../' diff --git a/webroot/watch.shs b/webroot/watch.shs index a04c185..44667ff 100755 --- a/webroot/watch.shs +++ b/webroot/watch.shs @@ -48,29 +48,32 @@ if [[ "${get_data[v]}" ]]; then source templates/head.sh fi else - cd temp video=$(haruhi-dl --ie-key Youtube --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=$(haruhi-dl --ie-key Youtube --write-pages --cookies ${cfg[_cookies]} -J "http://youtube.com/watch?v=${get_data[v]}" &> output$random_hash.log) + video=$(haruhi-dl --ie-key Youtube --write-pages --cookies ${cfg[_cookies]} -J "http://youtube.com/watch?v=${get_data[v]}" 2> temp/output$random_hash.log) if [[ $video == '' ]]; then # seriously WHO DID THIS - output=$(cat output$random_hash.log) - rm output$random_hash.log - cd .. - 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' + if [[ "${cfg[regionlock_proxy]}" == true ]]; then + # retrying w/ proxy! + video=$(haruhi-dl --ie-key Youtube --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 temp/output$random_hash.log) + rm temp/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 + source templates/head.sh + source "${cfg[namespace]}/templates/header.shs" + render strings "${cfg[namespace]}/templates/themes/${cfg[template]}/watch_error.t" + return fi - source templates/head.sh - source "${cfg[namespace]}/templates/header.shs" - render strings "${cfg[namespace]}/templates/themes/${cfg[template]}/watch_error.t" - 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")