mirror of
https://github.com/CoolnsX/repos_scripts.git
synced 2025-12-20 07:15:20 +05:30
update ani-cli
This commit is contained in:
45
ani-cli
45
ani-cli
@@ -23,6 +23,7 @@ help_text () {
|
|||||||
USAGE: $prog <query>
|
USAGE: $prog <query>
|
||||||
-h show this help text
|
-h show this help text
|
||||||
-d download episode
|
-d download episode
|
||||||
|
-a using alternate link (slow, high buffering, use only if normal is not working)
|
||||||
-H continue where you left off
|
-H continue where you left off
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
@@ -39,10 +40,10 @@ err () {
|
|||||||
|
|
||||||
search_anime () {
|
search_anime () {
|
||||||
# get anime name along with its id
|
# get anime name along with its id
|
||||||
search=$(printf '%s' "$1" | tr ' ' '-' )
|
search=$1
|
||||||
titlepattern='<a href="/category/'
|
titlepattern='<a href="/category/'
|
||||||
|
|
||||||
curl -s "https://gogoanime.vc//search.html" \
|
curl -s "https://gogoanime.pe//search.html" \
|
||||||
-G \
|
-G \
|
||||||
-d "keyword=$search" |
|
-d "keyword=$search" |
|
||||||
sed -n -E '
|
sed -n -E '
|
||||||
@@ -54,7 +55,7 @@ search_eps () {
|
|||||||
# get available episodes for anime_id
|
# get available episodes for anime_id
|
||||||
anime_id=$1
|
anime_id=$1
|
||||||
|
|
||||||
curl -s "https://gogoanime.vc/category/$anime_id" |
|
curl -s "https://gogoanime.pe/category/$anime_id" |
|
||||||
sed -n -E '
|
sed -n -E '
|
||||||
/^[[:space:]]*<a href="#" class="active" ep_start/{
|
/^[[:space:]]*<a href="#" class="active" ep_start/{
|
||||||
s/.* '\''([0-9]*)'\'' ep_end = '\''([0-9]*)'\''.*/\2/p
|
s/.* '\''([0-9]*)'\'' ep_end = '\''([0-9]*)'\''.*/\2/p
|
||||||
@@ -69,22 +70,25 @@ get_embedded_video_link() {
|
|||||||
ep_no=$2
|
ep_no=$2
|
||||||
|
|
||||||
# credits to fork: https://github.com/Dink4n/ani-cli for the fix
|
# credits to fork: https://github.com/Dink4n/ani-cli for the fix
|
||||||
if [ $is_download -eq 0 ]; then
|
if [ $is_alter -eq 0 ]; then
|
||||||
|
curl -s "https://gogoanime.pe/$anime_id-episode-$ep_no" |
|
||||||
|
sed -n -E 's/^[[:space:]]*<li class="dowloads"><a href="([^"]*)".*/\1/p'
|
||||||
|
else
|
||||||
curl -s "https://gogoanime.vc/$anime_id-episode-$ep_no" |
|
curl -s "https://gogoanime.vc/$anime_id-episode-$ep_no" |
|
||||||
sed -n -E '
|
sed -n -E '
|
||||||
/^[[:space:]]*<a href="#" rel="100"/{
|
/^[[:space:]]*<a href="#" rel="100"/{
|
||||||
s/.*data-video="([^"]*)".*/https:\1/p
|
s/.*data-video="([^"]*)".*/https:\1/p
|
||||||
q
|
q
|
||||||
}'
|
}'
|
||||||
else
|
|
||||||
curl -s "https://gogoanime.vc/$anime_id-episode-$ep_no" |
|
|
||||||
sed -n -E 's/^[[:space:]]*<li class="dowloads"><a href="([^"]*)".*/\1/p'
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
get_links () {
|
get_links () {
|
||||||
embedded_video_url="$1"
|
embedded_video_url="$1"
|
||||||
if [ $is_download -eq 0 ]; then
|
if [ $is_alter -eq 0 ]; then
|
||||||
|
curl -s "$embedded_video_url" |
|
||||||
|
sed -n -E 's/^[[:space:]]*href="([^"]*\>)".*/\1/p' | sed 1q
|
||||||
|
else
|
||||||
curl -s "$embedded_video_url" |
|
curl -s "$embedded_video_url" |
|
||||||
sed -n -E '
|
sed -n -E '
|
||||||
/^[[:space:]]*sources:/{
|
/^[[:space:]]*sources:/{
|
||||||
@@ -92,9 +96,6 @@ get_links () {
|
|||||||
q
|
q
|
||||||
}
|
}
|
||||||
'
|
'
|
||||||
else
|
|
||||||
curl -s "$embedded_video_url" |
|
|
||||||
sed -n -E 's/^[[:space:]]*href="([^"]*)".*/\1/p' | sed 1q
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -215,17 +216,11 @@ open_episode () {
|
|||||||
# add 0 padding to the episode name
|
# add 0 padding to the episode name
|
||||||
episode=$(printf "%03d" $episode)
|
episode=$(printf "%03d" $episode)
|
||||||
{
|
{
|
||||||
curl -L -# -C - "$video_url" -o "$HOME/MOVIES/${anime_id}-${episode}.mp4" &&
|
ffmpeg -headers "Referer: $embedded_video_url" -i "$video_url" \
|
||||||
|
-c copy -threads 4 "${anime_id}-${episode}.mp4" &&
|
||||||
printf "${c_green}Downloaded episode: %s${c_reset}\n" "$episode" ||
|
printf "${c_green}Downloaded episode: %s${c_reset}\n" "$episode" ||
|
||||||
printf "${c_red}Download failed episode: %s${c_reset}\n" "$episode"
|
printf "${c_red}Download failed episode: %s${c_reset}\n" "$episode"
|
||||||
}
|
}
|
||||||
# episode=$(printf "%03d" $episode)
|
|
||||||
# {
|
|
||||||
# ffmpeg -headers "Referer: $embedded_video_url" -i "$video_url" \
|
|
||||||
# -c copy "${anime_id}-${episode}.mp4" &&
|
|
||||||
# printf "${c_green}Downloaded episode: %s${c_reset}\n" "$episode" ||
|
|
||||||
# printf "${c_red}Download failed episode: %s${c_reset}\n" "$episode"
|
|
||||||
# }
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,8 +235,9 @@ dep_ch "$player_fn" "curl" "sed" "grep"
|
|||||||
|
|
||||||
# option parsing
|
# option parsing
|
||||||
is_download=0
|
is_download=0
|
||||||
|
is_alter=0
|
||||||
scrape=query
|
scrape=query
|
||||||
while getopts 'hdH' OPT; do
|
while getopts 'hdaH' OPT; do
|
||||||
case $OPT in
|
case $OPT in
|
||||||
h)
|
h)
|
||||||
help_text
|
help_text
|
||||||
@@ -250,6 +246,9 @@ while getopts 'hdH' OPT; do
|
|||||||
d)
|
d)
|
||||||
is_download=1
|
is_download=1
|
||||||
;;
|
;;
|
||||||
|
a)
|
||||||
|
is_alter=1
|
||||||
|
;;
|
||||||
H)
|
H)
|
||||||
scrape=history
|
scrape=history
|
||||||
;;
|
;;
|
||||||
@@ -305,6 +304,7 @@ while :; do
|
|||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "p" "previous episode"
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "p" "previous episode"
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "s" "select episode"
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "s" "select episode"
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "r" "replay current episode"
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "r" "replay current episode"
|
||||||
|
[ $is_alter -eq 0 ] && printf "$c_blue[${c_cyan}%s$c_blue] $c_magenta%s$c_reset\n" "R" "replay current episode(high quality, slow, use if normal is in low quality)"
|
||||||
printf "$c_blue[${c_cyan}%s$c_blue] $c_red%s$c_reset\n" "q" "exit"
|
printf "$c_blue[${c_cyan}%s$c_blue] $c_red%s$c_reset\n" "q" "exit"
|
||||||
printf "${c_blue}Enter choice:${c_green} "
|
printf "${c_blue}Enter choice:${c_green} "
|
||||||
read choice
|
read choice
|
||||||
@@ -326,6 +326,11 @@ while :; do
|
|||||||
r)
|
r)
|
||||||
episode=$((episode))
|
episode=$((episode))
|
||||||
;;
|
;;
|
||||||
|
R)
|
||||||
|
is_alter=1
|
||||||
|
episode=$((episode))
|
||||||
|
is_alter=0
|
||||||
|
;;
|
||||||
|
|
||||||
q)
|
q)
|
||||||
break;;
|
break;;
|
||||||
|
|||||||
Reference in New Issue
Block a user