mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2026-03-20 01:37:45 +01:00
Sometimes sites don't add the filetype to the URL. When this is the case, the file gets downloaded from the website and gets checked locally what filetype it is. Afterwards it gets opened with the right application.
40 lines
1.5 KiB
Bash
Executable File
40 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Feed script a url or file location.
|
|
# If an image, it will view in sxiv,
|
|
# if a video or gif, it will view in mpv
|
|
# if a music file or pdf, it will download,
|
|
# otherwise it opens link in browser.
|
|
|
|
# If no url given. Opens browser. For using script as $BROWSER.
|
|
[ -z "$1" ] && { "$BROWSER"; exit; }
|
|
|
|
case "$1" in
|
|
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*|*videos.lukesmith.xyz*|*odysee.com*)
|
|
setsid -f mpv -quiet "$1" >/dev/null 2>&1 ;;
|
|
*png|*jpg|*jpe|*jpeg|*gif)
|
|
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
|
|
*pdf|*cbz|*cbr)
|
|
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
|
|
*mp3|*flac|*opus|*mp3?source*)
|
|
qndl "$1" 'curl -LO' >/dev/null 2>&1 ;;
|
|
*)
|
|
urlcode=$(echo "$1" | sed "s/.*\///;s/%20/ /g")
|
|
|
|
curl -sL "$1" > "/tmp/$urlcode"
|
|
fileinfo=$(file -ib "/tmp/$urlcode")
|
|
|
|
case "$fileinfo" in
|
|
video*)
|
|
setsid -f mpv -quiet "/tmp/$urlcode" >/dev/null 2>&1 ;;
|
|
image*)
|
|
sxiv -a "/tmp/$urlcode" >/dev/null 2>&1 & ;;
|
|
application/pdf*|application/x-zip*|application/x-rar*)
|
|
zathura "/tmp/$urlcode" >/dev/null 2>&1 & ;;
|
|
audio*)
|
|
mv "/tmp/$urlcode" . >/dev/null 2>&1 ;;
|
|
*)
|
|
[ -f "$1" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$1" >/dev/null 2>&1 || setsid -f "$BROWSER" "$1" >/dev/null 2>&1
|
|
esac
|
|
esac
|