Anineko/anineko

156 lines
4.1 KiB
Text
Raw Normal View History

2014-11-20 19:05:30 +00:00
#!/bin/bash
useragent="Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37... nope, actually wget"
mode=$1
2014-11-22 23:08:12 +00:00
help() {
if test "$2" = "file"; then
echo -e \
"Usage: $1 file URL FILE"\
"\nDownloads one video from URL (GoGoAnime-Page) to FILE."
elif test "$2" = "search"; then
echo -e \
"Usage: $1 search KEYWORDS [DIRECTORY]"\
"\nLists all links on the first result page at a search for KEYWORDS on GoGoAnime."\
"\nIf DIRECTORY is given, it will be created if it doesn't exist yet and all result videos will be downloaded to that directory."
else
echo -e \
"Usage: $1 file|search"\
"\nDownloads videos from GoGoAnime."\
"\n"\
"\nFor more help try: $1 file"\
"\n or: $1 search"
fi
}
if test "$mode" = "search"; then
2014-11-20 19:05:30 +00:00
text=$(echo $2 | tr " " "+")
dir=$3
2014-11-22 23:08:12 +00:00
if test -z "$text"; then
help $0 search
exit 2
fi
2014-11-20 19:05:30 +00:00
echo -n "Searching for $text ... "
links=$(wget --user-agent="$useragent" -O - "http://www.gogoanime.com/?s=${text}" 2> /dev/null | grep "Permanent Link to" | awk -F"<a " '{ print $2 }' | awk -F'\"' '{ print $2}')
echo -e "[ \033[32mdone\033[0m ]"
links=$(for link in $links; do
echo $link
done | sort)
i=0
for link in $links; do
i=$(echo $i + 1 | bc)
done
total=$i
echo "Found $total episodes:"
for link in $links; do
echo " - " $link
done
2014-11-22 23:08:12 +00:00
if test -z "$dir"; then
exit 0
fi
2014-11-20 19:05:30 +00:00
echo -ne "\nPress [Enter] to continue, [Ctrl] + [C] to cancel. "
read
echo
echo -n "Creating directory ... "
if test ! -d $dir; then
mkdir $dir
fi
echo -e "[ \033[32mdone\033[0m ]"
i=0
for link in $links; do
i=$(echo $i + 1 | bc)
file=$(echo $link | awk -F'/' '{ print $4}')
echo "Fetching file $i of $total: $file ..."
$0 file $link ${dir}/${file}.mp4
echo "done."
done
echo "All done."
2014-11-22 23:08:12 +00:00
elif test "$mode" = "file"; then
2014-11-20 19:05:30 +00:00
url=$2
file=$3
2014-11-22 23:08:12 +00:00
if test -z "$file"; then
help $0 file
exit 2
fi
2014-11-22 22:40:15 +00:00
extract() {
# first param: provider page url
echo -n " Extracting video-url... " 1>&2
vurl=$(wget --user-agent="$useragent" -q -O - "$1" 2> /dev/null| grep "url: " | grep '.flv\|.mp4' | tr '\"' "'" | awk -F"'" '{ print $2 }' 2> /dev/null)
vurl=$(python2 -c 'import sys, urllib; print urllib.unquote(sys.argv[1])' $vurl)
echo -e "[ \033[32mdone\033[0m ]" 1>&2
echo $vurl
}
download() {
# first param: video url
echo " Starting Download... "
wget --user-agent="$useragent" -O "${file}" -c "$1" --progress=bar:force 2>&1 | tail -f -n +12
2014-11-22 22:40:15 +00:00
# echo -ne "\033[2A\033[0K"
echo " Download completed."
}
echo -n " Try to extract playpanda-frame... "
page=$(wget --user-agent="$useragent" -q -O - "${url}")
purl=$(echo -e "${page}" | grep "playpanda" | sed -e "s/#038;//g" | awk -F'\"' '{ print $2; }' 2> /dev/null)
if test -n "${purl}"; then
echo -e "[ \033[32mdone\033[0m ]"
download `extract $purl`
exit 0
fi
echo -e "[ \033[31mfail\033[0m ]"
2014-11-22 23:08:12 +00:00
echo -n " Try to extract videowing-frame... "
2014-11-22 22:40:15 +00:00
page=$(wget --user-agent="$useragent" -q -O - "${url}")
purl=$(echo -e "${page}" | grep "videowing" | sed -e "s/#038;//g" | awk -F'\"' '{ print $2; }' 2> /dev/null)
if test -n "${purl}"; then
echo -e "[ \033[32mdone\033[0m ]"
download `extract $purl`
exit 0
fi
echo -e "[ \033[31mfail\033[0m ]"
# echo -n " Try to extract playbb-frame... "
# page=$(wget --user-agent="$useragent" -q -O - "${url}")
# purl=$(echo -e "${page}" | grep "playbb.me" | sed -e "s/#038;//g" | awk -F'\"' '{ print $2; }' 2> /dev/null)
# if test -n "${purl}"; then
# echo -e "[ \033[32mdone\033[0m ]"
# download `extract $purl`
# exit 0
# fi
# echo -e "[ \033[31mfail\033[0m ]"
#
2014-12-12 20:38:40 +00:00
echo -n " Try to extract easyvideo-frame... "
page=$(wget --user-agent="$useragent" -q -O - "${url}")
purl=$(echo -e "${page}" | grep "easyvideo.me" | sed -e "s/#038;//g" | awk -F'\"' '{ print $2; }' 2> /dev/null)
if test -n "${purl}"; then
echo -e "[ \033[32mdone\033[0m ]"
download `extract $purl`
exit 0
fi
echo -e "[ \033[31mfail\033[0m ]"
2014-11-22 22:40:15 +00:00
# Add additional providers here
echo -e " \033[31mPermanent fail!\033[0m"
exit 1
2014-11-22 23:08:12 +00:00
else
help $0
exit 2
2014-11-20 19:05:30 +00:00
fi