From 3f607a88685b054d373bc15d0d08c76ac219eb86 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Thu, 29 Oct 2015 10:46:51 -0500 Subject: [PATCH] Use referer for CDNs that forbid hotlinking --- fetch | 3 ++- lib/profiles/gelbooru | 4 ++++ lib/taggery.sh | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/fetch b/fetch index 6ce856a..7357773 100755 --- a/fetch +++ b/fetch @@ -76,7 +76,8 @@ then then echo "Filename md5/${name} already exists" else - wget -O "md5/${name}" "${file}" + referer="$(taggery_image_referer "${id}")" + wget ${referer:+--referer="${referer}"} -O "md5/${name}" "${file}" nabbed=NABBED fi fi diff --git a/lib/profiles/gelbooru b/lib/profiles/gelbooru index ccc9b41..8c52c26 100644 --- a/lib/profiles/gelbooru +++ b/lib/profiles/gelbooru @@ -1,3 +1,6 @@ +gelbooru_image_referer() { + echo "http://www.gelbooru.com/index.php?page=post&s=view&id=${1}" +} gelbooru_image_url_filter() { sed -e '/>Original imageOriginal image.*//i; s/^.*/&\n/g' | sed -e '/class="tag-type-/!d; s/\([^?]\)<\/a>.*$/\1/; s/^.*>//; s/ /_/g' } taggery_fmturl="http://gelbooru.com/index.php?page=post&s=view&id=%s" +taggery_image_referer=gelbooru_image_referer taggery_image_url_filter=gelbooru_image_url_filter taggery_image_tags_filter=gelbooru_image_tags_filter diff --git a/lib/taggery.sh b/lib/taggery.sh index c5dcb90..84ffecc 100644 --- a/lib/taggery.sh +++ b/lib/taggery.sh @@ -88,6 +88,13 @@ taggery_image_url() { taggery_page "${id}" | "${taggery_image_url_filter}" } +taggery_image_referer() { + [ "${1}" ] || return 1 + local id="${1}" + [ "${taggery_image_referer}" ] || return 0 + "${taggery_image_referer}" "${1}" +} + taggery_image_tags() { [ "${1}" ] || return 1 local id="${1}" -- 2.45.0