mirror of
https://github.com/pystardust/ani-cli.git
synced 2026-02-20 07:01:47 +08:00
Merge branch 'pystardust:fix-range-again' into fix-range-again
This commit is contained in:
commit
e515d95523
7
ani-cli
7
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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user