From c8e5f874154f322f05ea69c53f3bf2ec6ae97e19 Mon Sep 17 00:00:00 2001 From: zen <71zenith@proton.me> Date: Mon, 21 Apr 2025 22:45:52 +0530 Subject: [PATCH 1/2] fix: remove legacy and merge cond with case --- ani-cli | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ani-cli b/ani-cli index 3c45f98..0ebba43 100755 --- a/ani-cli +++ b/ani-cli @@ -139,8 +139,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*) @@ -151,6 +149,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|\ @@ -183,7 +182,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) ;; @@ -218,7 +217,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 From 6023ccb4f309eb29cb5233beda8773ae4478a444 Mon Sep 17 00:00:00 2001 From: zen <71zenith@proton.me> Date: Mon, 21 Apr 2025 23:00:24 +0530 Subject: [PATCH 2/2] chore: shfmt --- ani-cli | 2 +- ani-cli.1 | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ani-cli b/ani-cli index 0ebba43..56722de 100755 --- a/ani-cli +++ b/ani-cli @@ -149,7 +149,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" + 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|\ 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