Never before had a small typo like this one caused so much damage.

This commit is contained in:
2024-12-30 23:18:20 +02:00
parent 24748a0e23
commit bb79185f75

View File

@@ -41,12 +41,15 @@ function message {
# Standard curl request # Standard curl request
function curlRequest { function curlRequest {
response="$(curl -s -L -c "$GRPOPPRO_COOKIE_FILE" -b "$GRPOPPRO_COOKIE_FILE" \ response="$(curl -s -L \
-c "$GRPOPPRO_COOKIE_FILE" \
-b "$GRPOPPRO_COOKIE_FILE" \
-A "$USER_AGENT" \ -A "$USER_AGENT" \
-H "$ACCEPT" \ -H "$ACCEPT" \
-H "$ACCEPT_LANGUAGE" \ -H "$ACCEPT_LANGUAGE" \
-H "$CONNECTION" \ -H "$CONNECTION" \
-H "$UP_IN_REQ" \ -H "$UP_IN_REQ" \
--compressed \
"$@" "$@"
)" )"
exit_code="$?" exit_code="$?"
@@ -75,8 +78,17 @@ function getFzfForTermux {
# Retrieve IMDb ID # Retrieve IMDb ID
function getIMDBID { function getIMDBID {
response="$(curlRequest "https://www.imdb.com/find/?q=$title")" response="$(curlRequest "https://www.imdb.com/find/?q=$title")"
imdbid="$(echo "$response" | grep -io ' href=['"'"'"][^"'"'"']*['"'"'"]' | grep 'href="/title/'| head -n1 | sed -e 's/href="\/title\///' -e 's/\/?.*//' -e 's/^ //')" imdbid="$(echo "$response" \
# imdbid="$(curl -s "http://imdb.konsthol.eu/find?q=$title" | grep -io ' href=['"'"'"][^"'"'"']*['"'"'"]' | grep title | head -n1 | sed -e 's/^ //' -e 's/href="\/title\///' -e 's/"//')" | grep -io ' href=['"'"'"][^"'"'"']*['"'"'"]' \
| grep 'href="/title/' \
| head -n1 \
| sed -e 's/href="\/title\///' -e 's/\/?.*//' -e 's/^ //'
)"
# response="$(curlRequest "http://imdb.konsthol.eu/find?q=$title")"
# imdbid="$(echo "$response" \
# | grep -io ' href=['"'"'"][^"'"'"']*['"'"'"]' \
# | grep title | head -n1 \
# | sed -e 's/^ //' -e 's/href="\/title\///' -e 's/"//')"
if ! [[ "$imdbid" == *"tt"* ]]; then if ! [[ "$imdbid" == *"tt"* ]]; then
message "Film or show not found in imdb" message "Film or show not found in imdb"
exit 0 exit 0
@@ -98,13 +110,22 @@ function getInternalID {
message "No file found" message "No file found"
exit 0 exit 0
fi fi
internalid="$(echo "$response" | grep news_id | awk '{print $5}' | awk -F\' '{print $2}')" internalid="$(echo "$response" \
| grep news_id \
| awk '{print $5}' \
| awk -F\' '{print $2}'
)"
} }
# Retrieve movie stream URL # Retrieve movie stream URL
function getMovieStreamUrl { function getMovieStreamUrl {
PHPSESSID="$(grep 'PHPSESSID' "$GRPOPPRO_COOKIE_FILE" | awk '{print $NF}')" PHPSESSID="$(grep 'PHPSESSID' "$GRPOPPRO_COOKIE_FILE" | awk '{print $NF}')"
response="$(curl -s -L -c "$GRPOPPRO_COOKIE_FILE" -b "$GRPOPPRO_COOKIE_FILE" "$apiurl/engine/ajax/controller.php" --compressed -X POST \ response="$(curl -s -L \
-c "$GRPOPPRO_COOKIE_FILE" \
-b "$GRPOPPRO_COOKIE_FILE" \
"$apiurl/engine/ajax/controller.php" \
--compressed \
-X POST \
-A "$USER_AGENT" \ -A "$USER_AGENT" \
-H 'Accept: application/json, text/javascript, */*; q=0.01' \ -H 'Accept: application/json, text/javascript, */*; q=0.01' \
-H "$ACCEPT_LANGUAGE" \ -H "$ACCEPT_LANGUAGE" \
@@ -123,7 +144,10 @@ function getMovieStreamUrl {
-H 'TE: trailers' \ -H 'TE: trailers' \
--data-raw "mod=players&news_id=$internalid" --data-raw "mod=players&news_id=$internalid"
)" )"
streamurl="$(echo "$response" | sed 's/\\//g' | grep -oP 'file:"\K[^"]+')" streamurl="$(echo "$response" \
| sed 's/\\//g' \
| grep -oP 'file:"\K[^"]+'
)"
} }
# Stream the video # Stream the video
@@ -175,15 +199,27 @@ function menuSearch {
getInternalID "$simpleurl" getInternalID "$simpleurl"
response="$(curlRequest "$apiurl/uploads/playlists/$internalid.txt")" response="$(curlRequest "$apiurl/uploads/playlists/$internalid.txt")"
echo "$response" > "$GRPOPPRO_PLAYLIST_FILE" echo "$response" > "$GRPOPPRO_PLAYLIST_FILE"
title="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" | head -n1 | awk -F/ '{print $(NF-1)}')" title="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" \
| head -n1 \
| awk -F/ '{print $(NF-1)}'
)"
title="${title//_/ }" title="${title//_/ }"
title="${title//-/ }" title="${title//-/ }"
seasonEpisode="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" | awk -F\" '{print $8}' | awk -F/ '{print $NF}' | awk -F. '{print $1}' | eval "$menu"\""$title" \")" seasonEpisode="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" \
| awk -F\" '{print $8}' \
| awk -F/ '{print $NF}' \
| awk -F. '{print $1}' \
| eval "$menu"\""$title" \"
)"
if [[ -z "$seasonEpisode" ]]; then if [[ -z "$seasonEpisode" ]]; then
message "Nothing Selected" message "Nothing Selected"
exit 0 exit 0
fi fi
streamurl="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" | grep "${seasonEpisode}" | head -n1 | awk -F\" '{print $8}')" streamurl="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" \
| grep "${seasonEpisode}" \
| head -n1 \
| awk -F\" '{print $8}'
)"
dumpData "$title" "$seasonEpisode" dumpData "$title" "$seasonEpisode"
play play
resume resume
@@ -201,12 +237,22 @@ function resume {
while true while true
do do
sourceData sourceData
seasonEpisode="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" | awk -F\" '{print $8}' | awk -F/ '{print $NF}' | awk -F. '{print $1}' | sed -n -e "0,/$lastSeasonEpisodePlayed/!p" | eval "$menu"\""$title" \")" seasonEpisode="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" \
| awk -F\" '{print $8}' \
| awk -F/ '{print $NF}' \
| awk -F. '{print $1}' \
| sed -n -e "0,/$lastSeasonEpisodePlayed/!p" \
| eval "$menu"\""$title" \"
)"
if [[ -z "$seasonEpisode" ]]; then if [[ -z "$seasonEpisode" ]]; then
message "Nothing Selected" message "Nothing Selected"
exit 0 exit 0
fi fi
streamurl="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" | grep "${seasonEpisode}" | head -n1 | awk -F\" '{print $8}')" streamurl="$(grep "mp4" "$GRPOPPRO_PLAYLIST_FILE" \
| grep "${seasonEpisode}" \
| head -n1 \
| awk -F\" '{print $8}'
)"
dumpData "$title" "$seasonEpisode" dumpData "$title" "$seasonEpisode"
play play
done done
@@ -219,13 +265,16 @@ function resumeSeries {
exit 0 exit 0
fi fi
resume_series=$(awk -F'|' '{print $1}' "$GRPOPPRO_HISTORY_FILE" | sort | uniq | eval "$menu"\"Select Series \") resume_series="$(awk -F'|' '{print $1}' "$GRPOPPRO_HISTORY_FILE" \
| sort \
| uniq \
| eval "$menu"\"Select Series \"
)"
if [[ -z "$resume_series" ]]; then if [[ -z "$resume_series" ]]; then
message "No series selected" message "No series selected"
exit 0 exit 0
fi fi
# resume_episode=$(grep "^$resume_series|" "$GRPOPPRO_HISTORY_FILE" | awk -F'|' '{print $2}' | eval "$menu"\"Select Episode \")
resume_episode="$(grep "^$resume_series|" "$GRPOPPRO_HISTORY_FILE" | awk -F'|' '{print $2}')" resume_episode="$(grep "^$resume_series|" "$GRPOPPRO_HISTORY_FILE" | awk -F'|' '{print $2}')"
if [[ -n "$resume_episode" ]]; then if [[ -n "$resume_episode" ]]; then
message "Continuing $resume_series from $resume_episode" message "Continuing $resume_series from $resume_episode"
@@ -321,7 +370,12 @@ if [[ "$#" -eq 3 ]]; then
season="$2" season="$2"
episode="$3" episode="$3"
response="$(curlRequest "$apiurl/uploads/playlists/$internalid.txt")" response="$(curlRequest "$apiurl/uploads/playlists/$internalid.txt")"
streamurl="$(echo "$response" | grep "mp4" | grep "${season}x${episode}" | head -n1 | awk -F\" '{print $8}')" streamurl="$(echo "$response" \
| grep "mp4" \
| grep "${season}x${episode}" \
| head -n1 \
| awk -F\" '{print $8}'
)"
message "Loading $title at season $season on episode $episode" message "Loading $title at season $season on episode $episode"
play play
exit 0 exit 0