From 2268ef05427061e1fe6f4e3e84e3747893a156e0 Mon Sep 17 00:00:00 2001 From: CoolnsX Date: Fri, 6 May 2022 20:20:59 +0530 Subject: [PATCH] dummy commit --- ani-cli | 263 ------------------------------------------------ ani-new | 29 ++++-- bat-status | 18 ---- dmenu-5.0/dmenu | Bin 43312 -> 43208 bytes dmenu-5.0/drw.c | 13 --- dmenu-5.0/drw.o | Bin 10536 -> 10328 bytes rss | 6 +- tor-cli | 2 +- youtube | 4 +- 9 files changed, 24 insertions(+), 311 deletions(-) delete mode 100755 ani-cli delete mode 100755 bat-status diff --git a/ani-cli b/ani-cli deleted file mode 100755 index 7c67e03..0000000 --- a/ani-cli +++ /dev/null @@ -1,263 +0,0 @@ -#!/bin/sh - -# dependencies: grep sed curl video_player -# video_player ( needs to be able to play urls ) -player_fn="mpv" -prog="ani-cli" -site="gogoanime.film" -agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" - -c_red="\033[1;31m" -c_green="\033[1;32m" -c_yellow="\033[1;33m" -c_blue="\033[1;34m" -c_magenta="\033[1;35m" -c_cyan="\033[1;36m" -c_reset="\033[0m" - -help_text () { - while IFS= read line; do - printf "%s\n" "$line" - done <<-EOF - USAGE: $prog - -h show this help text - -d download episode - EOF -} - -die () { - printf "$c_red%s$c_reset\n" "$*" >&2 - exit 1 -} - -err () { - printf "$c_red%s$c_reset\n" "$*" >&2 -} - -search_anime () { - # get anime name along with its id - search=$1 - curl -s "https://$site//search.html?keyword=$search" | sed -n -E ' - s_^[[:space:]]*/dev/null || die "Invalid number entered" - - # Select respective anime_id - count=1 - while read anime_id; do - if [ $count -eq $choice ]; then - selection_id=$anime_id - break - fi - count=$((count+1)) - done <<-EOF - $search_results - EOF - - [ -z "$selection_id" ] && die "Invalid number entered" - - read last_ep_number <<-EOF - $(search_eps "$selection_id") - EOF -} - -################## -## Ep selection ## -################## - -open_episode () { - anime_id=$1 - episode=$2 - - if [ $episode -lt 1 ] || [ $episode -gt $last_ep_number ]; then - err "Episode out of range" - printf "${c_blue}Choose episode $c_cyan[1-%d]$c_reset:$c_green " $last_ep_number - read episode - printf "$c_reset" - fi - - printf "\nGetting data for episode %d\n" $episode - - embedded_url=$(embade_link "$anime_id" "$episode") - video_url=$(decrypt_link "$embedded_url") - printf "%s\n" "$embedded_url" - printf "%s\n" "$video_url" - - if [ $is_download -eq 0 ]; then - ([ -z $ep_choice_end ] && - setsid -f $player_fn --http-header-fields="User-Agent:$agent" --referrer="$embedded_url" "$video_url" >/dev/null 2>&1 || $player_fn --referrer="$embedded_url" "$video_url" >/dev/null 2>&1) - else - printf "Downloading episode $episode ...\n" - # add 0 padding to the episode name - episode=$(printf "%03d" $episode) - { - aria2c -x 16 -s 16 -U "$agent" --referer "$embedded_url" "$video_url" --dir=MOVIES -o "${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 -} - -############ -# Start Up # -############ - -# to clear the colors when exited using SIGINT -trap "printf '$c_reset';exit 1" INT HUP - -# option parsing -is_download=0 -while getopts 'hdc' OPT; do - case $OPT in - h) - help_text - exit 0 - ;; - d) - is_download=1 - ;; - esac -done -shift $((OPTIND - 1)) - -######## -# main # -######## - -get_search_query "$*" -search_results=$(search_anime "$query") -[ -z "$search_results" ] && die "No search results found" -anime_selection "$search_results" -[ $is_download -eq 1 ] && printf "Range of episodes can be specified: start_number end_number\n" -printf "${c_blue}Choose episode $c_cyan[1-%d]$c_reset:$c_green " $last_ep_number -read ep_choice_start ep_choice_end -printf "$c_reset" - -{ # checking input - [ "$ep_choice_start" -eq "$ep_choice_start" ] 2>/dev/null || die "Invalid number entered" - episodes=$ep_choice_start - - if [ -n "$ep_choice_end" ]; then - [ "$ep_choice_end" -eq "$ep_choice_end" ] 2>/dev/null || die "Invalid number entered" - # create list of episodes to download/watch - episodes=$(seq $ep_choice_start $ep_choice_end) - fi -} - -for ep in $episodes -do - open_episode "$selection_id" "$ep" -done -episode=${ep_choice_end:-$ep_choice_start} - -while :; do - printf "\n${c_green}Currently playing %s episode ${c_cyan}%d/%d\n" "$selection_id" $episode $last_ep_number - printf "$c_blue[${c_cyan}%s$c_blue] $c_yellow%s$c_reset\n" "n" "next 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_magenta%s$c_reset\n" "r" "replay current episode" - printf "$c_blue[${c_cyan}%s$c_blue] $c_red%s$c_reset\n" "q" "exit" - printf "${c_blue}Enter choice:${c_green} " - read choice - printf "$c_reset" - case $choice in - n) - episode=$((episode + 1)) - open_episode "$selection_id" "$episode" - ;; - p) - episode=$((episode - 1)) - open_episode "$selection_id" "$episode" - ;; - - s) printf "${c_blue}Choose episode $c_cyan[1-%d]$c_reset:$c_green " $last_ep_number - read episode - printf "$c_reset" - [ "$episode" -eq "$episode" ] 2>/dev/null || die "Invalid number entered" - open_episode "$selection_id" "$episode" - ;; - - r) - episode=$((episode)) - open_episode "$selection_id" "$episode" - ;; - - q) - break;; - - *) - err "invalid choice" - ;; - esac - -done diff --git a/ani-new b/ani-new index c0a28f2..528137c 100755 --- a/ani-new +++ b/ani-new @@ -1,19 +1,26 @@ #!/bin/sh -agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" decrypt_link() { - ajax_url='https://gogoplay.io/encrypt-ajax.php' - video_id=$(printf "$1" | cut -d\? -f2 | cut -d\& -f1 | sed 's/id=//g') - secret_key='3235373436353338353932393338333936373634363632383739383333323838' - iv='34323036393133333738303038313335' - ajax=$(printf "$video_id" | openssl enc -aes256 -K "$secret_key" -iv "$iv" -a) - curl -s -H "X-Requested-With:XMLHttpRequest" -H "User-Agent:$agent" -H "Referer:https:$1" "$ajax_url" -d "id=$ajax" -d "time=69420691337800813569" | jq -r '.source[].file' | head -4 | tail -1 + secret_key='3633393736383832383733353539383139363339393838303830383230393037' + iv='34373730343738393639343138323637' + ajax_url="https://gogoplay5.com/encrypt-ajax.php" + id=$(printf "%s" "$1" | sed -nE 's/.*id=(.*)&title.*/\1/p') + ajax=$(printf "%s" "$id" | openssl enc -e -aes256 -K "$secret_key" -iv "$iv" | base64) + data=$(curl -s -H "X-Requested-With:XMLHttpRequest" "$ajax_url" -d "id=$ajax" | sed -e 's/{"data":"//' -e 's/"}/\n/' -e 's/\\//g') + printf "$data" | base64 -d | openssl enc -d -aes256 -K "$secret_key" -iv "$iv" | sed -e 's/\].*/\]/' -e 's/\\//g' | grep -Eo 'https:\/\/[-a-zA-Z0-9@:%._\+~#=][a-zA-Z0-9][-a-zA-Z0-9@:%_\+.~#?&\/\/=]*' | head -4 | tail -1 } -notify-send -t 1000 "parsing gogoanime.... please wait!!" -url=$(curl -s -A "$agent" "https://gogoanime.film" | sed -nE 's/.*"name".*href="\/([^"]*)".*/\1/p' | dmenu -p "Select anime:") +notify-send -t 1000 "parsing gogoplay5.... please wait!!" +url=$(curl -s "https://gogoplay5.com" | sed -nE 's_.*_\1_p' | dmenu -l 15 -p "Select anime:") [ -z "$url" ] && notify-send -u critical "Err.. no anime selected" && exit 0 -refr=$(curl -s -A "$agent" "https://gogoanime.film/$url" | sed -n -E 's/^[[:space:]]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 R;bIg!v8At=#iF*R{V$MR99jSX delta 13002 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 diff --git a/dmenu-5.0/drw.c b/dmenu-5.0/drw.c index 4cdbcbe..c1c265c 100644 --- a/dmenu-5.0/drw.c +++ b/dmenu-5.0/drw.c @@ -133,19 +133,6 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern) die("no font specified."); } - /* Do not allow using color fonts. This is a workaround for a BadLength - * error from Xft with color glyphs. Modelled on the Xterm workaround. See - * https://bugzilla.redhat.com/show_bug.cgi?id=1498269 - * https://lists.suckless.org/dev/1701/30932.html - * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349 - * and lots more all over the internet. - */ - FcBool iscol; - if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) { - XftFontClose(drw->dpy, xfont); - return NULL; - } - font = ecalloc(1, sizeof(Fnt)); font->xfont = xfont; font->pattern = pattern; diff --git a/dmenu-5.0/drw.o b/dmenu-5.0/drw.o index 769ec788f1a0bd7c34ebe2f1e6bd6ac9069cf045..2b22ad343936a116cacf0e7187de55dff0ad9253 100644 GIT binary patch delta 4153 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 $HOME/.cache/rss +data=$(curl -s "https://subsplease.org/rss/?r=1080" | tr "<|>" "\n") #extracting names and providing the menu for selecting particular title -name=$(sed -n -e 's/title>\[.*Please\] \(.*\)/\1/p' .cache/rss | dmenu -l 25 -p "Search anime:") +name=$(printf "%s" "$data" | sed -nE 's/^\[.*Please\] (.*)/\1/p' | dmenu -l 25 -p "Search anime:") [ -z "$name" ] && notify-send -u critical "Err.. Query empty" && exit 0 #extracting id from anime_name_[id].mkv id=$(printf "$name" | sed -n -e 's/.*\[\(.*\)\].*/\1/p') #finding the magnet link containing the exact pattern -magnet=$(sed -n -e "s/link>\(.*$id.*\).*/\1/p" .cache/rss | sed 's/amp;//g') +magnet=$(printf "%s" "$data" | grep "$id%" | sed 's/amp;//g') #custom script for downloading torrent using aria2c.. you can use your own bittorrent client here st -e $HOME/repos_scripts/torrent "$magnet" & diff --git a/tor-cli b/tor-cli index 44a9e04..6c64ba4 100755 --- a/tor-cli +++ b/tor-cli @@ -4,7 +4,7 @@ mkdir -p $HOME/.cache/pirokit query=$(printf "" | dmenu -p "Search Torrent: ") baseurl="https://www.1337xx.to" cachedir="$HOME/.cache/pirokit" -query="$(sed 's/ /+/g' <<<$query)" +query="$(sed 's/ /%20/g' <<<$query)" curl -s "$baseurl/search/$query/1/" > $cachedir/tmp.html # Get Titles diff --git a/youtube b/youtube index 5277239..ea6670b 100755 --- a/youtube +++ b/youtube @@ -26,8 +26,8 @@ part(){ printf "${c_yellow}Enter End Point(hh:mm:ss)or(mm:ss):${c_cyan}" read end [ -z "$2" ] && - ffmpeg -i $(yt-dlp -f b --get-url "$video") -ss $start -to $end "$HOME/Videos/%(title)s.mp4" || - ffmpeg -i $(yt-dlp -f 'ba' --get-url "$video") -ss $start -t $end -map a -q:a 0 "$HOME/Music/%(title)s.mp3" + ffmpeg -i $(yt-dlp -f b --get-url "$video") -ss $start -to $end "$HOME/Videos/$(date +%s).mp4" || + ffmpeg -i $(yt-dlp -f 'ba' --get-url "$video") -ss $start -t $end -map a -q:a 0 "$HOME/Music/$(date +%s).mp3" } #program starts from here..