Created
February 11, 2024 23:48
-
-
Save gotbletu/fc1c3509b81ed537203c6597e1f9509f to your computer and use it in GitHub Desktop.
urlportal with menu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
### _ _ _ _ | |
### __ _ ___ | |_| |__ | | ___| |_ _ _ | |
### / _` |/ _ \| __| '_ \| |/ _ \ __| | | | | |
###| (_| | (_) | |_| |_) | | __/ |_| |_| | | |
### \__, |\___/ \__|_.__/|_|\___|\__|\__,_| | |
### |___/ | |
### https://www.youtube.com/user/gotbletu | |
### https://twitter.com/gotbletu | |
### https://github.com/gotbletu | |
### | |
### Author : gotbletu | |
### Name : urlportal | |
### Description : custom way to handle url (similar idea to xdg-open, mailcap) | |
### Depends On : lynx yt-dlp task-spooler mpv urlview tmux feh plowshare streamlink curl coreutils moreutils | |
### Video Demo : https://www.youtube.com/watch?v=2jyfrmBYzVQ | |
### Source : https://gist.github.com/fxsjy/5465353 | |
### References : cirrusuk http://arza.us/paste/piper | |
### : obosob https://github.com/michael-lazar/rtv/issues/78#issuecomment-125507472 | |
### : budlabs https://www.youtube.com/watch?v=-vbr3-mHoRs | |
### : https://github.com/budlabs/youtube/blob/master/letslinux/032-queue-files-in-mpv/openvideo | |
### : ji99 https://www.reddit.com/r/commandline/comments/920p5d/bash_script_for_queueing_youtube_links_in_mpv/ | |
### ChangeLog : 2021-02-13 replace mpv with new flag --input-ipc-server=/tmp/mpvinput | |
### 2016-12-21 it has begun! | |
### Todo: : catt chromecast | |
### : share to social media e.g twitter | |
# set default fzf options | |
export FZF_DEFAULT_OPTS='--prompt="urlportal: " --info=default --layout=reverse --tiebreak=index' | |
# check if tmux v3.2+ then use popup window | |
if [ "$TERM_PROGRAM" = tmux ]; then | |
FZF_PROG="fzf-tmux -p -h 60%" | |
else | |
FZF_PROG="fzf-tmux" | |
fi | |
########################## CONFIG EXAMPLES ########################## {{{ | |
# newsboat: | |
# vim ~/.newsboat/config | |
# browser ~/.scripts/urlportal | |
# rtv: | |
# vim ~/.bashrc | |
# export RTV_BROWSER=~/.scripts/urlportal | |
# w3m: | |
# vim ~/.w3m/keymap | |
# keymap e EXTERN_LINK ~/.scripts/urlportal | |
# urlview: | |
# vim ~/.urlview | |
# COMMAND ~/.scripts/urlportal | |
#### }}} | |
########################## VARIABLE SECTION ########################## {{{ | |
# temp file for images | |
TMP_IMG=/tmp/image.jpg | |
# output path for yt-dlp | |
YTDL_OUTDIR="${HOME}/.cyberbay/ytdlbay" | |
PLOW_OUTDIR="${HOME}/.cyberbay/plowbay" | |
DEFAULT="$BROWSERCLI" | |
# queue manager | |
TASK_PQ="pueue add --group vids" | |
TASK_PQ_DL="pueue add --group dl" | |
TASK_TS='TS_SOCKET=/tmp/vids tsp' | |
TASK_TS_DL="TS_SOCKET=/tmp/dl tsp" | |
# chromecast | |
STRM_CATT_CAST="catt cast" | |
STRM_CATT_ADD="catt add" | |
# framebuffer | |
MPLAYER_ARGS_FBR="mplayer -vo fbdev -noborder -ontop -geometry "99%:96%" -zoom -x 500 -y 280" | |
# MPLAYER_ARGS_FBR="mplayer -noborder -ontop -geometry "99%:96%" -zoom -x 500 -y 280" | |
MPV_ARGS="mpv --ontop --no-border --force-window --autofit=500x280 --geometry=-15-53" | |
# MPV_ARGS="smplayer -mpcgui -close-at-end" | |
# VIDEO_QUEUE="mpv --ontop --no-border --force-window --autofit=500x280 --geometry=-15-53" | |
# VIDEO_QUEUE="tsp mpv --ontop --no-border --force-window --autofit=500x280 --geometry=-15-53" | |
# VIDEO_QUEUE_ALT="tsp quvi dump "$LINK" -b quiet --exec 'mpv %u'" | |
MPV_LOOP="mpv --loop --quiet --ontop --no-border --force-window --autofit=900x600 --geometry=-15+60" | |
# for youtube.com only | |
YTDL_MAIN="yt-dlp -f bestvideo+bestaudio --merge-output-format mkv -o ${YTDL_OUTDIR}/'%(title)s.%(ext)s'" | |
# any other yt-dlp supported site | |
YTDL_REG="yt-dlp -o ${YTDL_OUTDIR}/'%(title)s.%(ext)s'" | |
CHAFA_ARGS="chafa" | |
# FEH_ARGS="feh -g 900x600-15+60" | |
FEH_ARGS="feh --auto-zoom --scale-down -g 1360x768 -B black" | |
UCOLLAGE_ARGS="ucollage" | |
FBI_ARGS="fbi" | |
FBV_ARGS="fbv" | |
W3MIMGDISPLAY_ARGS="w3m -o display_image=1 -o imgdisplay=w3mimgdisplay" | |
# IMAGEGUI="feh -. -x -B black -g 900x600-15+60" | |
# IMAGECLI="w3m /usr/lib/w3m/cgi-bin/treat_as_url.cgi -o display_image=1 -o imgdisplay=/usr/lib/w3m/w3mimgdisplay" | |
IMAGECLI="w3m -o display_image=1 -o imgdisplay=w3mimgdisplay" | |
# IMAGECLI="fbi" | |
# LIVEFEED='streamlink -p "mpv --cache 2048 --ontop --no-border --force-window --autofit=500x280 --geometry=-15-60"' | |
LIVEFEED="tsp streamlink" | |
DDL_PATH=~/Downloads/plowshare | |
DDL_QUEUE_FAST=~/.config/plowshare/queuefast.txt | |
MEGANZ="tsp-dl megadl --limit-speed=3000 --path=$PLOW_OUTDIR" | |
PLOWDL="tsp-dl plowdown --max-rate=3000K --output-directory=$PLOW_OUTDIR" | |
# https://github.com/stck-lzm/badown | |
MDFDIR="cd $PLOW_OUTDIR && tsp-dl badown --speed 3000K" | |
# https://github.com/tanaikech/goodls | |
GDDL="cd $PLOW_OUTDIR && tsp-dl goodls --url" | |
# GDRDL="cd $PLOW_OUTDIR && tsp-dl goodls --apikey "xxxxxxxxxxxxxxxxxx" --url" | |
# sites that doesnt require captcha | |
# mega.nz | |
# mediafire | |
# zippyshare | |
CLIPBOARD_MULTI(){ | |
# copy to X11 (linux,bsd) | |
printf '%s' "$LINK" | xsel -b || printf '%s' "$LINK" | xclip -selection clipboard -r | |
# copy to Wayland (linux,bsd) | |
printf '%s' "$LINK" | wl-copy | |
# copy to WindowsOS (Vista+) | |
printf '%s' "$LINK" | clip | |
# copy to Cygwin (WindowsOS) | |
printf '%s' "$LINK" > /dev/clipboard | |
# copy to MacOS | |
printf '%s' "$LINK" | pbcopy | |
# copy to Termux (Android) | |
printf '%s' "$LINK" | termux-clipboard-set | |
# copy to tmux | |
printf '%s' "$LINK" | tmux load-buffer - | |
# tmux display-message "Copied to clipboard" | |
} | |
#### }}} | |
opt_video() { | |
choice=$(cat <<-_END_ | |
1 -- mediaplayer -- mpv [task-spooler] | |
2 -- mediaplayer -- mpv [pueue] | |
3 -- mediaplayer -- mpv [nohup] | |
4 -- mediaplayer -- mpv (loop) [nohup] {mainly for gif} | |
5 -- downloader -- yt-dlp [task-spooler] | |
6 -- downloader -- yt-dlp [pueue] | |
7 -- downloader -- yt-dlp [terminal] | |
9 -- clipboard -- copy url | |
10 -- chromecast -- play | |
11 -- chromecast -- queue (youtube only) | |
12 -- framebuffer -- mplayer with yt-dlp [pueue] | |
13 -- framebuffer -- mplayer with yt-dlp [task-spooler] | |
14 -- framebuffer -- mplayer with yt-dlp [terminal] | |
15 -- framebuffer -- mplayer | |
_END_ | |
) | |
selection="$(echo "$choice" | $FZF_PROG | cut -d ' ' -f1)" | |
case $selection in | |
1) | |
eval $TASK_TS $MPV_ARGS "$LINK" | |
;; | |
2) | |
$TASK_PQ "$MPV_ARGS $LINK" | |
;; | |
3) | |
nohup $MPV_ARGS "$LINK" > /dev/null 2>&1 & | |
;; | |
4) | |
nohup $MPV_LOOP "$LINK" > /dev/null 2>&1 & | |
;; | |
5) | |
if [[ "$LINK" == *"youtube.com"* ]] || [[ "$LINK" == *"youtu.be"* ]]; then | |
eval $TASK_TS_DL $YTDL_MAIN "$LINK" | |
else | |
eval $TASK_TS_DL $YTDL_REG "$LINK" | |
fi | |
;; | |
6) | |
if [[ "$LINK" == *"youtube.com"* ]] || [[ "$LINK" == *"youtu.be"* ]]; then | |
$TASK_PQ_DL "$YTDL_MAIN $LINK" | |
else | |
$TASK_PQ_DL "$YTDL_REG $LINK" | |
fi | |
;; | |
7) | |
if [[ "$LINK" == *"youtube.com"* ]] || [[ "$LINK" == *"youtu.be"* ]]; then | |
$YTDL_MAIN "$LINK" | |
else | |
$YTDL_REG "$LINK" | |
fi | |
;; | |
8) | |
;; | |
9) | |
CLIPBOARD_MULTI | |
;; | |
10) | |
nohup $STRM_CATT_CAST "$LINK" > /dev/null 2>&1 & | |
;; | |
11) | |
nohup $STRM_CATT_ADD "$LINK" > /dev/null 2>&1 & | |
;; | |
12) | |
$TASK_PQ "$MPLAYER_ARGS_FBR '"$(yt-dlp -g --format "best[height<=?720]" "$LINK")"'" | |
;; | |
13) | |
eval $TASK_TS $MPLAYER_ARGS_FBR '"$(yt-dlp -g --format "best[height<=?720]" "$LINK")"' | |
;; | |
14) | |
yt-dlp --format "best[height<=?720]" -o - "$LINK" | $MPLAYER_ARGS_FBR - | |
;; | |
15) | |
$MPLAYER_ARGS_FBR "$LINK" | |
;; | |
esac | |
} | |
opt_audio() { | |
choice=$(cat <<-_END_ | |
1 -- musicplayer -- mpv (no video, use mpris/playerctl to control) | |
2 -- musicplayer -- mpv [tmux, append queue] | |
3 -- musicplayer -- mpv [video] | |
4 -- musicplayer -- cmus | |
5 -- musicplayer -- mocp | |
6 -- musicplayer -- mpd (mpc) | |
9 -- clipboard -- copy url | |
_END_ | |
) | |
selection="$(echo "$choice" | $FZF_PROG | cut -d ' ' -f1)" | |
case $selection in | |
1) | |
nohup mpv --no-video "$LINK" > /dev/null 2>&1 & | |
;; | |
2) | |
# create queue fifo files if it does not exist | |
if [[ ! -p /tmp/mpvinput ]]; then | |
mkfifo /tmp/mpvinput | |
fi | |
# check if process mpv exist (e.g mpv --input-file=/tmp/mpvinput filename.mp3) | |
if pgrep -f mpvinput > /dev/null | |
then | |
# if mpv is already running then append new url/files to queue | |
# echo loadfile \"${LINK/'/\\'}\" append-play > /tmp/mpvinput | |
echo loadfile \"$LINK\" append-play > /tmp/mpvinput | |
# nohup $MPV_LOOP "${LINK/.gifv/.webm}" > /dev/null 2>&1 & | |
else | |
# if mpv is not running then start it (initial startup) | |
# mpv --no-video --input-file=/tmp/mpvinput "$1" | |
# tmux split-window -fv -p 20 && tmux send-keys "mpv --no-video --input-file=/tmp/mpvinput \"$LINK\" && exit" 'Enter' | |
# --input-ipc-server replaces --input-file flag in new mpv version | |
tmux split-window -fv -p 20 && tmux send-keys "mpv --no-video --input-ipc-server=/tmp/mpvinput \"$LINK\" && exit" 'Enter' | |
fi | |
# Note: use "<" or ">" hotkeys to skip between songs/audio queue list on mpv | |
;; | |
3) | |
nohup $MPV_ARGS "$LINK" > /dev/null 2>&1 & | |
;; | |
4) | |
cmus-remote -c -q && cmus-remote -q "$LINK" && sleep 0.5 && cmus-remote -n -p | |
;; | |
5) | |
mocp -l "$LINK" | |
;; | |
6) | |
mpc add "$LINK" && mpc play | |
;; | |
9) | |
CLIPBOARD_MULTI | |
;; | |
esac | |
} | |
opt_clip() { | |
choice=$(cat <<-_END_ | |
1 -- mediaplayer -- mpv (loop) [nohup] | |
9 -- clipboard -- copy url | |
_END_ | |
) | |
selection="$(echo "$choice" | $FZF_PROG | cut -d ' ' -f1)" | |
case $selection in | |
1) | |
nohup $MPV_LOOP "$LINK" > /dev/null 2>&1 & | |
;; | |
9) | |
CLIPBOARD_MULTI | |
;; | |
esac | |
} | |
opt_gif() { | |
choice=$(cat <<-_END_ | |
1 -- mediaplayer -- mpv (loop) [nohup] | |
2 -- asciigif -- mpv (tct) | |
3 -- asciigif -- chafa | |
7 -- framebuffer -- mpv | |
8 -- framebuffer -- mplayer | |
9 -- clipboard -- copy url | |
_END_ | |
) | |
selection="$(echo "$choice" | $FZF_PROG | cut -d ' ' -f1)" | |
case $selection in | |
1) | |
nohup $MPV_LOOP "$LINK" > /dev/null 2>&1 & | |
;; | |
2) | |
mpv -loop -vo tct "$LINK" | |
;; | |
3) | |
# LINK="${LINK/.gifv/.gif}" | |
# LINK="${LINK/.mp4/.gif}" | |
# LINK="${LINK/.webm/.gif}" | |
if [ "$TERM_PROGRAM" = tmux ]; then | |
tmux new-window -n chafagif && tmux send-keys "$CHAFA_ARGS '$LINK' && tmux kill-pane" 'Enter' | |
else | |
$CHAFA_ARGS "$LINK" | |
read -rsp $'Press any key to quit\n' -n1 | |
# clear screen | |
printf "\033c" | |
fi | |
;; | |
4) | |
# LINK="${LINK/.gifv/.gif}" | |
# LINK="${LINK/.mp4/.gif}" | |
# LINK="${LINK/.webm/.gif}" | |
# $CHAFA_ARGS "$LINK" | |
# tmux new-window -n gif && tmux send-keys "$CHAFA_ARGS '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n gif && tmux send-keys "mpv -vo drm '$LINK' && tmux kill-pane" 'Enter' | |
# mpv -vo drm "$LINK" | |
;; | |
7) | |
# mpv -loop -vo tct "$LINK" | |
mpv -loop -vo fbdev "$LINK" | |
;; | |
8) | |
mplayer -loop 0 -vo fbdev "$LINK" | |
;; | |
9) | |
CLIPBOARD_MULTI | |
;; | |
esac | |
} | |
opt_image() { | |
choice=$(cat <<-_END_ | |
1 -- guiviewer -- feh | |
2 -- guiviewer -- mpv | |
3 -- imageviewer -- w3mimgdisplay | |
4 -- imageviewer -- ucollage | |
6 -- asciiviewer -- chafa | |
7 -- framebuffer -- fbv | |
8 -- framebuffer -- fbi | |
9 -- clipboard -- copy url | |
_END_ | |
) | |
selection="$(echo "$choice" | $FZF_PROG | cut -d ' ' -f1)" | |
case $selection in | |
1) | |
$FEH_ARGS "$LINK" | |
;; | |
2) | |
mpv --image-display-duration=inf "$LINK" | |
;; | |
3) | |
if [ "$TERM_PROGRAM" = tmux ]; then | |
tmux new-window -n w3mimgage && tmux send-keys "$W3MIMGDISPLAY_ARGS '$LINK' && tmux kill-pane" 'Enter' | |
else | |
$W3MIMGDISPLAY_ARGS "$LINK" | |
fi | |
;; | |
4) | |
if [ "$TERM_PROGRAM" = tmux ]; then | |
tmux new-window -n ucollageimgage && tmux send-keys "curl -s '$LINK' > $TMP_IMG && $UCOLLAGE_ARGS $TMP_IMG && tmux kill-pane" 'Enter' | |
else | |
curl -s "$LINK" > "$TMP_IMG" && "$UCOLLAGE_ARGS" "$TMP_IMG" | |
fi | |
;; | |
6) | |
if [ "$TERM_PROGRAM" = tmux ]; then | |
tmux new-window -n chafagif && tmux send-keys "$CHAFA_ARGS '$LINK'" 'Enter' | |
else | |
$CHAFA_ARGS "$LINK" | |
read -rsp $'Press any key to quit\n' -n1 | |
# clear screen | |
printf "\033c" | |
fi | |
;; | |
7) | |
curl -s "$LINK" > "$TMP_IMG" && "$FBV_ARGS" "$TMP_IMG" | |
;; | |
8) | |
curl -s "$LINK" > "$TMP_IMG" && "$FBI_ARGS" "$TMP_IMG" | |
;; | |
9) | |
CLIPBOARD_MULTI | |
;; | |
esac | |
} | |
opt_reddit() { | |
choice=$(cat <<-_END_ | |
1 -- client -- rtv | |
2 -- webbrowser -- lynx | |
3 -- webbrowser -- w3m | |
4 -- webbrowser -- elinks | |
5 -- webbrowser -- links | |
9 -- clipboard -- copy url | |
_END_ | |
) | |
selection="$(echo "$choice" | $FZF_PROG | cut -d ' ' -f1)" | |
case $selection in | |
1) | |
# reddits comment section | |
if [[ "$LINK" == *'/comments/'* ]]; then | |
LINK="${LINK/\/.mobile//}" | |
tmux new-window -n rtv && tmux send-keys "rtv -l $LINK && tmux kill-pane" 'Enter' | |
else | |
# subreddit/user profiles | |
LINK="$(echo "$LINK" | awk -F '.com' '{print $2}')" | |
LINK="${LINK/\/.mobile//}" | |
tmux new-window -n rtv && tmux send-keys "rtv -s $LINK && tmux kill-pane" 'Enter' | |
fi | |
;; | |
2) | |
tmux new-window -n lynxreddit && tmux send-keys "lynx -accept_all_cookies $LINK && tmux kill-pane" 'Enter' | |
;; | |
3) | |
tmux new-window -n w3mreddit && tmux send-keys "w3m $LINK && tmux kill-pane" 'Enter' | |
;; | |
4) | |
tmux new-window -n elinksreddit && tmux send-keys "elinks $LINK && tmux kill-pane" 'Enter' | |
;; | |
5) | |
tmux new-window -n linksreddit && tmux send-keys "links $LINK && tmux kill-pane" 'Enter' | |
;; | |
9) | |
CLIPBOARD_MULTI | |
;; | |
esac | |
} | |
# enable case-insensitive matching | |
shopt -s nocasematch | |
# if [ -z "$W3M_CURRENT_LINK" ]; then | |
# LINK="$W3M_CURRENT_LINK" | |
# elif [ -z "$W3M_URL" ]; then | |
# LINK="$W3M_URL" | |
# else | |
# LINK="$1" | |
# fi | |
LINK="$1" | |
case "$LINK" in | |
########################## VIDEO SECTION ########################## {{{ | |
*bitchute.com/*) | |
opt_video | |
;; | |
*dailymotion.com*) | |
opt_video | |
;; | |
*goodporn.to/videos/*) | |
opt_video | |
;; | |
*moviefone.com/movie/*/*/main/) | |
LINK="${LINK/main/trailers}" | |
opt_video | |
;; | |
*pornhub.com/*) | |
opt_video | |
;; | |
*v.redd.it/*) | |
opt_video | |
;; | |
*redtube.com/[0-9]*) | |
opt_video | |
;; | |
*tube8.com/*/*/[0-9]*) | |
opt_video | |
;; | |
*webmshare.com/*) | |
LINK="$(curl -s "$LINK" | grep -oP '<meta property="og:video" content="\K[^"]+' | sed 's@^@https:@')" | |
opt_video | |
;; | |
*worldstarhiphop.com/videos/*|*worldstar.com/video.php?v=*) | |
opt_video | |
;; | |
*xvideos.com/*) | |
opt_video | |
;; | |
*youporn.com/watch/*) | |
opt_video | |
;; | |
*youtube.com/watch*|*youtu.be/*|*yewtu.be/*|*vid.puffyan.us/*) | |
opt_video | |
;; | |
**duckduckgo.com/*www.youtube.com*watch*) | |
# clean url: https://duckduckgo.com/l/?uddg=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DYtoIjNDQ2kU | |
# to --> https://www.youtube.com/watch?v=YtoIjNDQ2kU | |
LINK="$(echo "$LINK" | cut -d"=" -f2 | sed 's@%3A%2F%2F@://@g' | sed 's@%2F@/@g' | sed 's@%3F@?@g' | sed 's@%3D@=@g')" | |
opt_video | |
;; | |
*.webp|*.webm) | |
opt_video | |
;; | |
*.mp4|*.mkv|*.avi|*.wmv|*.m4v|*.mpg|*.mpeg|*.mov|*.flv|*.ogm|*.ogv) | |
opt_video | |
;; | |
#### }}} | |
########################## CLIP SECTION ###################### {{{ | |
*clippituser.tv/*) | |
opt_clip | |
;; | |
*gfycat.com/*) | |
opt_clip | |
;; | |
*streamable.com/*) | |
opt_clip | |
;; | |
*streamja.com/*) | |
opt_clip | |
;; | |
#### }}} | |
########################## GIF SECTION ###################### {{{ | |
*coub.com/view/*) | |
opt_gif | |
;; | |
*giphy.com*) | |
opt_gif | |
;; | |
*liveleak.com/*) | |
opt_gif | |
;; | |
*tiktok.com/*) | |
opt_gif | |
;; | |
*video.twimg.com/*) | |
opt_gif | |
;; | |
*i.makeagif.com/*.gif) | |
opt_gif | |
;; | |
*imgur.com/*.gifv|*imgur.com/*.mp4|*imgur.com/*.webm|*imgur.com/*.gif) | |
# LINK="${LINK/.gifv/.gif}" | |
# LINK="${LINK/.i//}" | |
opt_gif | |
;; | |
*makeagif.com/i/*) | |
nohup $MPV_LOOP "${LINK/.gifv/.webm}" > /dev/null 2>&1 & | |
;; | |
*tenor.com/view/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<img src="\K[^"]+' | grep '^http' | head -n1)" | |
tmux new-window -n gif && tmux send-keys "chafa '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*github.com/*.gif) | |
LINK="$(echo $LINK | sed -e 's/github.com/raw.githubusercontent.com/g' -e 's/\/blob//g' )" | |
opt_gif | |
;; | |
gopher*.gif) | |
# curl -s "$LINK" > /tmp/gopher.gif | |
# nohup $MPV_LOOP /tmp/gopher.gif > /dev/null 2>&1 & | |
tmux new-window -n gif && tmux send-keys "curl -s '$LINK' > /tmp/gopher.gif && chafa /tmp/gopher.gif && tmux kill-pane" 'Enter' | |
;; | |
*.gif) | |
opt_gif | |
;; | |
#### }}} | |
########################## LIVE STREAM SECTION ########################## {{{ | |
*twitch.tv/*) | |
# $LIVEFEED "$LINK" | |
opt_video | |
;; | |
#### }}} | |
########################## IMAGE SECTION ########################## {{{ | |
*imgwallet.com/images/small/*) | |
LINK="${LINK/small/big}" | |
opt_image | |
;; | |
*22pixx.xyz/*jpeg.html) | |
LINK="$(echo $LINK | cut -d '/' -f5- | sed 's/\.html//g')" | |
LINK="$(echo https://22pixx.xyz/o/$LINK)" | |
opt_image | |
;; | |
*imgbum.ru/allimage/*) | |
LINK="${LINK/-thumb/}" | |
opt_image | |
;; | |
*imgclick.ru/allimage/*) | |
LINK="${LINK/-thumb/}" | |
opt_image | |
;; | |
*olarixas.xyz/img-*) | |
LINK="$(curl --data "imgContinue=Continue to image ... " --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
opt_image | |
;; | |
*olarixas.xyz/upload/small/*) | |
LINK="${LINK/small/big}" | |
opt_image | |
;; | |
*payforpic.ru/allimage/*) | |
LINK="${LINK/-thumb/}" | |
opt_image | |
;; | |
*pnyimg.net/image/*) | |
LINK="$(curl -s "$LINK" | grep image_src | grep -oP 'href="\K[^"]+')" | |
opt_image | |
;; | |
*bitpic.me/v/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<img src="\K[^"]+' | tail -n1 | while read -r line; do echo "https://bitpic.me/$line"; done)" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*blameless.work/img*) | |
LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*blameless.work/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*dailyimages.xyz/*.html) | |
# LINK="$(curl --data "submit=Continue to image..." --location "$LINK" | grep scaleImg | grep -oP 'img src="\K[^"]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*damimage.com/img*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*dimtus.com/img*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*discountxpic.xyz/img*) | |
LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*discountxpic.xyz/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*.fastpic.ru/big/*) | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*erophotopixxx.com/*.html) | |
LINK="$(curl -s "$LINK" | grep '<img class' | head -n1 | grep -oP 'src="\K[^"]+' | while read -r line; do echo "https://erophotopixxx.com$line"; done)" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*trans.firm.in//img*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*trans.firm.in//upload/small/*|*trans.firm.in/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*freebunker.com/*) | |
LINK="${LINK/img\//tn\/i}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*freescreens.ru/allimage/*) | |
LINK="${LINK/-thumb/}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*freescreens.ru/*) | |
LINK="$(echo "$LINK/1/" | sed 's/freescreens.ru/picpic.online/')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*funimg.net/img*) | |
LINK="$(curl --data "imgContinue=Click here to view image" --location "$LINK" | grep -oP 'var linkid="\K[^"]+' | while read -r line; do curl -s "$line" ; done | grep -oP 'src="\K[^"]+' | grep upload )" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*hdmoza.com//img*) | |
# LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Website Changed' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*hdmoza.com//upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*hotimage.uk/img*) | |
# LINK="$(curl --data "imgContinue=Continue to image ..." --location "$(echo $LINK | sed 's@http://@https://www.@')" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
LINK="$(curl --data "imgContinue=Continue to image ..." --location "${LINK/http:\/\//https:\/\/www.}" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*hotimage.uk/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*hotspic.ru/img*) | |
LINK="$(curl --data "imgContinue=Click To View The Image ... " --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*pic.hotimg.site/img*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*ibb.co/*) | |
LINK="$(lynx -listonly -nonumbers -dump "$LINK" | grep image)" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*iceimg.net/*) | |
# LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*imagebam.com/image/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imagecurl.com/viewer.php?file=*) | |
LINK="$(echo "$LINK" | sed 's@https://@https://cdn.@' | sed 's@/viewer.php?file=@/images/@')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imagedecode.com/img*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imagedecode.com/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imagehub.pro/img*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imagerar.com/t/*) | |
LINK="${LINK/\/t/\/u}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imagerar.com/imgy-u/*) | |
LINK="$(echo "$LINK" | sed 's/imgy-u/u/g' | sed 's/.html//g')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imagescomplete.xyz/image/*) | |
LINK="$(lynx -source "$LINK" | grep embed-code-2 | grep -oP 'value="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imageshtorm.com/img*) | |
LINK="$(curl -s "$LINK" | grep onclick | grep -oP '<a href=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imageshtorm.com/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imagespublic.tk/img*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<img src=\047\K[^\047]+' | sed 's/small/big/')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imageteam.org/*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*/imagetwist.com/*) | |
LINK="$(curl -s "$LINK" | grep -oP '<p style="display: block; text-align:center;"><img src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imageuploads.co.uk/image/*) | |
LINK="$(lynx -source "$LINK" | grep image-viewer-container | grep -oP '<img src="\K[^"]+' | sed 's@\.md@@')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*img-central.com/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*img2share.com/*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgadult.com/img*) | |
LINK="$(curl -s "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+' | sed 's/small/big/')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgbaron.com/*.html) | |
# LINK="$(curl --data "submit=Continue to image..." --location "$LINK" | grep scaleImg | grep -oP 'img src="\K[^"]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*images2.imgbox.com/*.jpg) | |
opt_image | |
;; | |
*imgbox.com/*) | |
LINK="$(curl -s "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgcris.com/*) | |
LINK="$(lynx -listonly -nonumbers -dump "$LINK" | grep images)" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgdawgknuttz.com/img-*) | |
# LINK="$(curl --data "imgContinue=Continue to image ... " --location "$LINK" | grep centred | grep -oP 'src="\K[^"]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 6/16/20 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*imgdawgknuttz.com/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgdone.com/image/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgflip.com/i/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgfrost.net/*) | |
# LINK="$(curl --data "submit=Continue to image..." --location "$LINK" | grep scaleImg | grep -oP 'img src="\K[^"]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*i.imghost.top/image/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgjazz.com/img*) | |
LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgmak.com/image*) | |
LINK="$(curl -s "$LINK" | grep -oP '<img src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*new.imgmercy.com/image/*) | |
LINK="$(lynx -source "$LINK" | grep image-viewer-container | grep -oP '<img src="\K[^"]+' | sed 's@\.md@@')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgpeak.com/*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgsalem.com/*) | |
# LINK="$(curl --data "imgContinue=Continue to image ... " --location "$LINK" | grep centred | grep -oP 'src="\K[^"]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*imgskull.xyz/*|*imgskull.com/*) | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/23/19 This Site is Dead' && sleep 2 && tmux kill-pane" 'Enter' | |
;; | |
*imgtaxi.com/images/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgstudio.org/img*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgtornado.com/img*) | |
LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imgtorrnt.in/view.php?id=*) | |
# LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*i.imgur.com/*| *imgur.com/*.*) | |
opt_image | |
# choice="$(printf "w3m-img\nfeh\nxdg-open"|$FZF_PROG)" | |
# if [[ "$choice" = "w3m-img" ]]; then | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
# elif [[ "$choice" = "feh" ]]; then | |
# nohup feh "$LINK" > /dev/null 2>&1 & | |
# elif [[ "$choice" = "xdg-open" ]]; then | |
# xdg-open "$LINK" > /dev/null 2>&1 & | |
# fi | |
;; | |
# imgur multi links album/gallery (e.g https://imgur.com/a/5DhTEXV ) | |
*imgur.com/*) | |
LINK="(lynx -source "$(echo $LINK | cut -d'#' -f1)" | grep post-image-container | grep -oP '<div id=\"\K[^\"]+' | while read line; do echo '%s\n' https://i.imgur.com/"\$line".png; done | urlview)" | |
tmux split-window && tmux send-keys "$LINK && tmux kill-pane" 'Enter' | |
;; | |
*imguur.pictures/thumb-*) | |
LINK="${LINK/thumb-/image-}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*imguur.pictures/share-*) | |
LINK="$(echo "$LINK" | sed 's/share-/image-/' | sed 's/html/jpg/')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*instagram.com/p/*) | |
LINK="$(curl -s "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*juicyxxx.click/image/*) | |
LINK="$(curl -s "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*kropic.com/*) | |
LINK="$(curl --data "submit=Continue to image..." --location "$LINK" | grep scaleImg | grep -oP 'img src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
# tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*kvador.com/*) | |
# LINK="$(curl --data "submit=Continue to image..." --location "$LINK" | grep scaleImg | grep -oP 'img src="\K[^"]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*money-pic.ru/allimage/*) | |
LINK="${LINK/-thumb/}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*money-pic.ru/*) | |
LINK="$(curl -s "$LINK/1/" | grep allimage | grep -oP '<img src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*mstimg.com/image/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*nikapic.ru/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*i.nmfiles.com/image/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*orangepics.xyz/image/*) | |
LINK="$(lynx -source "$LINK" | grep embed-code-2 | grep -oP 'value="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*pacific.picturedent.org/image/*) | |
LINK="$(curl -s "$LINK" | grep '<img class' | grep -oP 'src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*picbaron.com/*.html) | |
# LINK="$(curl --data "submit=Continue to image..." --location "$LINK" | grep scaleImg | grep -oP 'img src="\K[^"]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
tmux new-window -n pixcli && tmux send-keys "echo 'Last Tested: 9/13/19 Not Supported Javascript Website' && sleep 3 && tmux kill-pane" 'Enter' | |
;; | |
*picforall.ru/allimage/*) | |
LINK="${LINK/-thumb/}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*picforall.ru/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<img src="\K[^"]+' | grep "thumb" |sed 's/-thumb//')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*picfuture.com/*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*picmoza.com//img*) | |
LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*pixcloud.ru/view*) | |
LINK="$(curl -s "$LINK" | grep -oP '<img id="photo" src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*placeimg.net/img*) | |
LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*pornweb.xyz/*) | |
LINK="$(curl -s "$LINK" | grep imagebam | grep -oP '<p><img src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*pornyfap.com/pic/*) | |
LINK="$(curl -s "$LINK" | grep myImg | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*tk.imgsking.com/img-*) | |
LINK="$(lynx -source "$LINK" | grep center | grep -oP '<img src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*pornbaker.men/image/*) | |
LINK="$(lynx -source "$LINK" | grep image-viewer-container | grep -oP '<img src="\K[^"]+' | sed 's@\.md@@')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*proimg.site/image/*) | |
LINK="$(lynx -source "$LINK" | grep image-viewer-container | grep -oP '<img src="\K[^"]+' | sed 's@\.md@@')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*putaimage.info/image/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*preview.redd.it/*.png*) | |
# LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
# tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
opt_image | |
;; | |
*sam-power.ru/upload/small/*) | |
LINK="${LINK/small/big}" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*sam-power.ru/img-*) | |
LINK="$(curl --data "imgContinue=Continue to image ... " --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*trafficimage.club/image/*) | |
LINK="$(lynx -source "$LINK" | grep image-viewer-container | grep -oP '<img src="\K[^"]+' | sed 's@\.md@@')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*pbs.twimg.com/*) | |
LINK="$LINK" | |
# LINK="$(lynx -source "$LINK" | grep -oP '<img src="\K[^"]+' | sed 's@small@big@' )" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*ubapacola.xyz/img-*) | |
LINK="$(curl -s "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*unporn.site/img*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<img src="\K[^"]+' | sed 's@small@big@' )" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*wallpaperspic.pw/*) | |
LINK="$(curl -s "$LINK" | grep imagebam | grep -oP '<p><img src="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*xaoutchouc.live/img*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<img src=\047\K[^\047]+' | sed 's/small/big/')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*xxximagetpb.org/*) | |
LINK="$(lynx -source "$LINK" | grep -oP '<meta property="og:image" content="\K[^"]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*xxxwebdlxxx.org/img*) | |
LINK="$(curl --data "imgContinue=Continue to image ..." --location "$LINK" | grep centred | grep -oP 'src=\047\K[^\047]+')" | |
tmux new-window -n pixcli && tmux send-keys "$IMAGECLI '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
# gopher*.jpg$|gopher*.jpeg$|gopher*.png$) | |
gopher*.jpg|gopher*.jpeg|gopher*.png) | |
tmux new-window -n pixcli && tmux send-keys "curl '$LINK' > /tmp/gopher.jpg && $IMAGECLI /tmp/gopher.jpg && tmux kill-pane" 'Enter' | |
;; | |
*.jpg|*.jpeg|*.png|*:large) | |
opt_image | |
;; | |
#### }}} | |
########################## AUDIO SECTION ########################## {{{ | |
*internet-radio.com/*.pls|*internet-radio.com/*.m3u) | |
# LINK=$(echo "$LINK" | cut -d'=' -f2- | cut -d'&' -f1) | |
LINK=$(echo "$LINK" | cut -d'=' -f2- | cut -d '&' -f1) | |
opt_audio | |
;; | |
*.pls|*.m3u|*.aac) | |
tmux split-window -fv -p 20 && tmux send-keys "mpv '$LINK' && exit" 'Enter' | |
;; | |
*.mp3|*.m4a|*.wav|*.ogg|*.oga|*.flac) | |
opt_audio | |
;; | |
#### }}} | |
########################## CYBERLOCKER SECTION ########################## {{{ | |
*mediafire.com/file/*) | |
$PLOWDL "$LINK" | |
;; | |
*mediafire.com/folder/*) | |
# plowlist "$LINK" | awk '/^http/ {print $1}' | while read URI; do $PLOWDL "$URI"; done | |
plowlist "$LINK" | awk '/^http/ {print $1}' | while read URI; do $MDFDIR "$URI"; done | |
;; | |
*mega.nz/*) | |
$MEGANZ "$LINK" | |
;; | |
*zippyshare.com/*) | |
$PLOWDL "$LINK" | |
;; | |
*drive.google.com/drive/folders/*) | |
$GDDL "$LINK" | |
;; | |
*sendspace.com/file/*) | |
$PLOWDL "$LINK" | |
;; | |
# cyberlocker download without captcha code | |
# *zippyshare.com/*|*mediafire.com/file/*|*sendspace.com/file/*) | |
# if pgrep -f $DDL_QUEUE_FAST > /dev/null | |
# then | |
# echo "$LINK" >> $DDL_QUEUE_FAST | |
# else | |
# echo "$LINK" >> $DDL_QUEUE_FAST | |
# cat $DDL_QUEUE_FAST | awk '!x[$0]++' | sponge $DDL_QUEUE_FAST | |
# tmux split-window -fv -p 20 && tmux send-keys "until [[ \$(cat $DDL_QUEUE_FAST | grep -v '#' | wc -l) -eq 0 ]]; do mkdir -p $DDL_PATH && cd $DDL_PATH && plowdown -m $DDL_QUEUE_FAST -o $DDL_PATH ; done" 'Enter' | |
# fi | |
# ;; | |
#### }}} | |
########################## OTHER SECTION ########################## {{{ | |
*reddit.com/r/*/comments/*) | |
LINK="$LINK/.mobile" | |
opt_reddit | |
;; | |
# reddit subreddit or user | |
*reddit.com/r/*|*reddit.com/u/*|*reddit.com/user/*) | |
LINK="$(echo "$LINK" | awk -F '.com' '{print $2}')" | |
LINK="https://www.reddit.com${LINK}/.mobile" | |
opt_reddit | |
;; | |
*twitter.com/*/status/*) | |
LINK="${LINK/twitter.com/nitter.net}" | |
tmux new-window -n w3mtweet && tmux send-keys "w3m $LINK && tmux kill-pane" 'Enter' | |
;; | |
*.cbz|.cbr) | |
mcomix "$LINK" | |
;; | |
# irc xdcc downloader | |
*ixirc.com/?pid*) | |
# install requirements: https://git.sr.ht/~dax/xdcc | |
# $ xdcc -s irc.example.org -c channel_name -b bot_name pack_number | |
LINK=$(curl -s "$LINK") | |
server=$(echo "$LINK" | grep -oP '<td><a href="\K[^"]+' | cut -d'/' -f3 | cut -d':' -f1) | |
port=$(echo "$LINK" | grep -oP '<td><a href="\K[^"]+' | cut -d':' -f3 | cut -d'/' -f1) | |
channel_name=$(echo "$LINK" | grep -oP '<td><a href="\K[^"]+' | cut -d'/' -f4) | |
bot_name=$(echo "$LINK" | grep msg | grep -oP 'value="\K[^"]+' |cut -d' ' -f2) | |
package_number=$(echo "$LINK" | grep msg | grep -oP 'value="\K[^"]+' |cut -d' ' -f5 | cut -d'#' -f2) | |
tmux split-window -fv -p 30 && tmux send-keys "cd ~/Downloads && xdcc -y -v -s $server -p $port -c $channel_name -b \"$bot_name\" $package_number" 'Enter' | |
;; | |
mailto:*) | |
tmux split-window -fv && tmux send-keys "mutt -- '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
magnet:*|*.torrent) | |
transmission-remote --add "$LINK" | |
;; | |
*.nfo) | |
tmux new-window -n view && tmux send-keys "vim '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*.html) | |
tmux new-window -n browse && tmux send-keys "$DEFAULT '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
*) | |
tmux new-window -n browse && tmux send-keys "$DEFAULT '$LINK' && tmux kill-pane" 'Enter' | |
;; | |
#### }}} | |
esac | |
########################## EMPTY SECTION ########################## {{{ | |
#### }}} | |
########################## EMPTY SECTION ########################## {{{ | |
#### }}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment