diff --git a/ani-new b/ani-new index f3c152e..077b272 100755 --- a/ani-new +++ b/ani-new @@ -3,17 +3,14 @@ down () { notify-send "$3 links fetched.." -r "$tmp" choice=$(printf "stream\ndownload\nnext mirror" | bemenu --fn 'Roboto 15' -p "??" -i -c -W 0.4 -B 3 -l 10) - [ "$choice" = "stream" ] && setsid -f mpv --referrer="$1" "$2" --force-media-title="$title" && notify-send -i "$icon_dir/apps/mpv.svg" "opening $title" -r "$tmp" && exit 0 + [ "$choice" = "stream" ] && setsid -f mpv "$2" --force-media-title="$title" && notify-send -i "$icon_dir/apps/mpv.svg" "opening $title" -r "$tmp" && exit 0 [ "$choice" = "next mirror" ] && return 0 notify-send -i "$icon_dir/panel/jdownloader-indicator.svg" "Downloading $title" -r "$tmp" case $2 in - *m3u*) - $TERMINAL -e ffmpeg -loglevel error -stats -referer "$1" -user_agent "$agent" -i "$2" -c copy "$title.mp4" || (notify-send -u "critical" "Downloading failed $title" -r "$tmp" && exit 0) - notify-send "Episode Downloaded $title" -r "$tmp" ;; - *) - $TERMINAL -e aria2c -U "$agent" --check-certificate=false --summary-interval=0 -x 16 -s 16 --referer="$1" "$2" -o "$title.mp4" --download-result=hide || (notify-send -u "critical" "Downloading failed $title" -r "$tmp" && exit 0) - notify-send "Episode Downloaded $title" -r "$tmp" ;; + *m3u*) $TERMINAL -e hls -ro "Downloads/$title.mp4" "$2" || (notify-send -u "critical" "Downloading failed $title" -r "$tmp" && exit 0) ;; + *) $TERMINAL -e aria2c -U "$agent" --check-certificate=false -d 'Downloads' --summary-interval=0 -x 16 -s 16 --referer="$1" "$2" -o "$title.mp4" --download-result=hide || (notify-send -u "critical" "Downloading failed $title" -r "$tmp" && exit 0) ;; esac + notify-send "Episode Downloaded $title" -r "$tmp" exit 0 } @@ -21,12 +18,12 @@ provider_run(){ notify-send "Fetching $1 links" -r "$tmp" provider_id=$(printf "%s" "$data" | sed -n "$2" | head -1 | cut -d':' -f2) [ -z "$provider_id" ] && return 0 - provider_video=$(curl -s "https://blog.allanime.pro/apivtwo/clock.json?id=$provider_id" | sed 's|},{|\n|g' | sed -nE 's|.*link":"([^"]*)".*"resolutionStr":"([^"]*)".*|\1|p' | head -1) + provider_video=$(curl -s "https://blog.allanime.pro/apivtwo/clock.json?id=$provider_id" | sed 's|},{|\n|g' | sed -nE 's|.*link":"([^"]*)".*"resolutionStr":"([^"]*)".*|\1|p;s|.*hls","url":"([^"]*)".*"hardsub_lang":"en-US".*|\1|p' | head -1) [ -z "$provider_video" ] && return 0 case $provider_video in - *v.vrv.co*|*crunchyroll*) down "$base_url" "$(curl -s "$provider_video" -A "$agent" | sed -n '/x1080/{n;p;}')" "$1" ;; - *repackager.wixmp.com*) down "$base_url" "$(printf %s "$provider_video" | cut -d',' -f1,2 | tr -d ',' | sed 's|repackager.wixmp.com/||g')/mp4/file.mp4" "$1" ;; - *) down "$base_url" "$provider_video" "$1" ;; + *crunchyroll*) down "$base_url" "$(curl -s "$provider_video" -A "$agent" | sed -n '/x1080/{n;p;}')" "$1" ;; + *repackager.wixmp.com*) down "$base_url" "$(printf %s "$provider_video" | cut -d',' -f1,2 | tr -d ',' | sed 's|repackager.wixmp.com/||g')/mp4/file.mp4" "$1" ;; + *) down "$base_url" "$provider_video" "$1" ;; esac } @@ -35,19 +32,22 @@ base_url="https://allanime.site" agent="Mozilla/5.0" trap "exit 0" INT HUP tmp=$(notify-send "Parsing $base_url.. Please wait..." -t 1500 -p) -[ -z "$*" ] && url=$(curl -s "$base_url/allanimeapi?variables=%7B%22search%22%3A%7B%22sortBy%22%3A%22Recent%22%2C%22allowAdult%22%3Afalse%2C%22allowUnknown%22%3Afalse%7D%2C%22limit%22%3A40%2C%22page%22%3A1%2C%22translationType%22%3A%22sub%22%2C%22countryOrigin%22%3A%22JP%22%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%229c7a8bc1e095a34f2972699e8105f7aaf9082c6e1ccd56eab99c2f1a971152c6%22%7D%7D" -A "$agent" | sed 's|Show|\n|g' | sed -nE 's|.*_id":"([^"]*)","name":"([^"]*)".*sub":\{"episodeString":"([^"]*)".*|\1\t\2\tepisode \3 sub|p' | bemenu --fn 'Roboto 15' -i -c -W 0.6 -B 3 -l 20 -p "Select Anime: " | tr '[:punct:]' ' ' | tr -s ' ' | tr ' \t' '-/') || url=$* +[ -z "$*" ] && url=$(curl -s "$base_url/allanimeapi?variables=%7B%22search%22%3A%7B%22sortBy%22%3A%22Recent%22%2C%22allowAdult%22%3Atrue%2C%22allowUnknown%22%3Atrue%7D%2C%22limit%22%3A40%2C%22page%22%3A1%2C%22translationType%22%3A%22sub%22%2C%22countryOrigin%22%3A%22JP%22%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%229c7a8bc1e095a34f2972699e8105f7aaf9082c6e1ccd56eab99c2f1a971152c6%22%7D%7D" -A "$agent" | sed 's|Show|\n|g' | sed -nE 's|.*_id":"([^"]*)","name":"([^"]*)".*sub":\{"episodeString":"([^"]*)".*|\1\t\2\tepisode \3|p' | bemenu --fn 'Roboto 15' -i -c -W 0.6 -B 3 -l 20 -p "Select Anime: " | tr '[:punct:]' ' ' | tr -s ' ' | tr ' \t' '-/') || url=$(printf "%s" "$*" | sed -nE 's|.*/watch/(.*)-sub|\1|p') +[ -z "$url" ] && notify-send -u "critical" "No anime selected" -r "$tmp" && exit 0 title=$(printf "%s" "$url" | cut -d'/' -f2- | tr '[:punct:]' ' ') url=$(printf "%s" "$url" | cut -d'/' -f1,3) -[ -z "$url" ] && notify-send -u "critical" "No anime selected" -r "$tmp" && exit 0 notify-send "Loading Episode $title.." -r "$tmp" -data=$(curl -A "$agent" -s "${base_url}/watch/$url" | tr '{}' '\n' | sed 's|\\u002F|\/|g;s|\\||g' | sed -nE 's|.*sourceUrl":".*?id=([^"]*)".*sourceName":"([^"]*)".*|\2 :\1|p') +data=$(curl -A "$agent" -s "${base_url}/watch/$url-sub" | tr '{}' '\n' | sed 's|\\u002F|\/|g;s|\\||g' | sed -nE 's|.*sourceUrl":".*?id=([^"]*)".*sourceName":"([^"]*)".*|\2 :\1|p') notify-send "Fetching Embed links" -r "$tmp" #pstatic links provider_run "pstatic" "/Default B :/p" -#vrv|wixmp links -provider_run "vrv" "/Default :/p" +#wixmp links +provider_run "wixmp" "/Default :/p" + +#wixmp links +provider_run "vrv" "/Ac :/p" #sharepoint links provider_run "sharepoint" "/S-mp4 :/p" diff --git a/bkmark b/bkmark index 923328a..c0eb3e2 100755 --- a/bkmark +++ b/bkmark @@ -2,9 +2,10 @@ #script for bookmarking selected items and later using it.. -data="$(wl-paste -p | tr '\n' '\`')" +data="$(wl-paste -p | tr '\n' '\`' | sed 's/$/ /g')" file="$HOME/.cache/bookmarks" +oshi_file="$HOME/.cache/oshi-urls" if [ "$*" = "add" ];then if [ -z "$data" ];then @@ -21,7 +22,7 @@ elif [ "$*" = "rm" ];then del=$(printf "%s" "$data" | bemenu --fn 'Roboto 15' -i -c -W 0.6 -B 3 -l 30 -p "delete-bookmark :" | cut -f1) [ -z "$del" ] || (sed -i "${del}d" "$file" && notify-send "Bookmarked deleted") else - wtype -d 5 "$(sed '/^$/d' "$file" | bemenu --fn 'Roboto 15' -i -c -W 0.6 -B 3 -l 30 -p "Put-bookmark :" | tr '\`' '\n')" + wtype -d 10 "$(sed '/^$/d' "$file" "$oshi_file" | sed -E 's/.*DL: ([^|]*).*/\1/g' | bemenu --fn 'Roboto 15' -i -c -W 0.6 -B 3 -l 30 -p "Put-bookmark :" | tr '\`' '\n')" fi sed -i '/^$/d' "$file" diff --git a/yt-music b/yt-music index 8f10532..f4bb987 100755 --- a/yt-music +++ b/yt-music @@ -73,6 +73,7 @@ loop(){ sleep 2 done pos=$(echo '{ "command": ["get_property", "time-remaining"]}' | socat - /tmp/mpvsocket | sed -nE 's_.*data":([^\.]*).*_\1_p') + pgrep -f "mpvsocket" >/dev/null || exit 0 [ -z "$pos" ] && pgrep -f "mpvsocket" > /dev/null && [ -n "$(cat "$logdir/next")" ] && play "$(shuf -n1 "$logdir/next")" "$1" done }