diff --git a/ani-cli b/ani-cli index 48abb55..e74207b 100755 --- a/ani-cli +++ b/ani-cli @@ -144,8 +144,6 @@ get_links() { response="$(curl -e "$allanime_refr" -s "https://${allanime_base}$*" -A "$agent")" episode_link="$(printf '%s' "$response" | sed 's|},{|\ |g' | sed -nE 's|.*link":"([^"]*)".*"resolutionStr":"([^"]*)".*|\2 >\1|p;s|.*hls","url":"([^"]*)".*"hardsub_lang":"en-US".*|\1|p')" - printf '%s' "$response" | grep -q "master.m3u8" && m3u8_refr=$(printf '%s' "$response" | sed -nE 's|.*Referer":"([^"]*)".*|\1|p') && - printf '%s\n' "m3u8_refr >$m3u8_refr" > "$cache_dir/m3u8_refr" case "$episode_link" in *repackager.wixmp.com*) @@ -156,6 +154,7 @@ get_links() { done | sort -nr ;; *master.m3u8*) + m3u8_refr=$(printf '%s' "$response" | sed -nE 's|.*Referer":"([^"]*)".*|\1|p') && printf '%s\n' "m3u8_refr >$m3u8_refr" >"$cache_dir/m3u8_refr" extract_link=$(printf "%s" "$episode_link" | head -1 | cut -d'>' -f2) relative_link=$(printf "%s" "$extract_link" | sed 's|[^/]*$||') curl -e "$m3u8_refr" -s "$extract_link" -A "$agent" | sed 's|^#EXT-X-STREAM.*x||g; s|,.*|p|g; /^#/d; $!N; s|\ @@ -188,7 +187,7 @@ generate_link() { } select_quality() { - # removing urls which have soft subs to avoid playing on android and iSH + # removing urls which have soft subs to avoid playing on android and iSH and vlc (m3u8 streams don't get correct referrer) printf '%s' "$player_function" | grep -qE '(android|iSH|vlc)' && links=$(printf '%s' "$links" | sed '/cc>/d;/subtitle >/d;/m3u8_refr >/d') case "$1" in best) result=$(printf "%s" "$links" | head -n1) ;; @@ -223,7 +222,7 @@ get_episode_url() { done wait # select the link with matching quality - links=$(cat "$cache_dir"/* | sed 's|^Mp4-||g;/http/!d;/Alt/d;' | sort -g -r -s) + links=$(cat "$cache_dir"/* | sort -g -r -s) rm -r "$cache_dir" select_quality "$quality" if printf "%s" "$ep_list" | grep -q "^$ep_no$"; then diff --git a/ani-cli.1 b/ani-cli.1 index e74385c..ae0a1cc 100644 --- a/ani-cli.1 +++ b/ani-cli.1 @@ -63,6 +63,7 @@ Use ani-skip to skip the intro of the episode (mpv only) .TP \fB\--no-detach\fR Don't detach the player (useful for in-terminal playback, mpv only) +.TP \fB\--exit-after-play\fR Exit the player, and return the player exit code (useful for non interactive scenarios, mpv only) .TP