From 3e5458c95c50c06523de4c3cd8dc425f67d4dea5 Mon Sep 17 00:00:00 2001 From: Tyler Hoang Date: Sat, 6 Nov 2021 21:07:20 -0700 Subject: initial commit --- 4viewer | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 4viewer (limited to '4viewer') diff --git a/4viewer b/4viewer new file mode 100755 index 0000000..47b7f32 --- /dev/null +++ b/4viewer @@ -0,0 +1,22 @@ +#!/bin/bash + +archivegif () { +LINK=$(curl -s "${1}") +title=$(echo "$LINK" | grep -oE post_title.*\<\/h2\> | head -1 | sed 's/post_title">//' | sed 's/<\/h2>//') +urls=$(echo "$LINK" | grep -oP '"\K[^"\047]+(?=["\047])' | grep -E ".gif|.webm" | grep -v "s\." | grep "//" | grep torako | uniq) +} + + +mpv-chan() { + URL=$1 + BOARD=$(echo $URL| grep -Po '([\w\d]+)\/thread' |cut -d'/' -f1) + title=$(curl -sL "${URL}.json" | jq -cr '.posts[0].sub') + urls=$(curl -sL "${URL}.json"|jq -cr '.posts[]|("https://i.4cdn.org/'${BOARD}'/"+(.tim|tostring) + .ext )'|grep -v null|paste -sd ' ') +} + +if [[ "$1" == *"boards"* ]]; then + mpv-chan "$1" + else + archivegif "$1" +fi +mpv --quiet --prefetch-playlist=yes --no-pause --force-media-title="$title" --demuxer-cache-wait=no $urls -- cgit v1.2.3-13-gbd6f