#!/bin/sh
maxtries=10
searxinstances='
https://raw.githubusercontent.com/searxng/searx-instances/master/searxinstances/instances.yml'
tries=0
while [ $tries -lt $maxtries ];
do
searxbase=
https://search.stinpriza.org
#searxbase="$(curl -s ${searxinstances} \
# | grep "^http" \
# | grep -v "i2p" \
# | cut -d':' -f 1-2 \
# | shuf -n 1)"
searxuri="${searxbase}/search?q=water+leaks&categories=images&language=de"
status="$(curl -s -I "${searxuri}" | grep "^HTTP" | cut -d' ' -f 2)"
[ "$status" = "200" ] && break
sleep 1
done
[ "$status" != 200 ] && exit 1
cd /br/gopher/leaks
curdate="$(date +%Y_%m_%d_%H_%M_%S)"
curl -s "${searxuri}" \
| xml2tsv 2>/dev/null \
| grep img \
| cut -f 2 \
| grep ^src \
| cut -d'=' -f 2- \
| while read -r uri;
do
case "${uri}" in
/*)
uri="${searxbase}${uri}"
;;
esac
outputname="$(mktemp -u leak_${curdate}_XXXXXXX.jpg)"
while [ -f ${outputname} ];
do
outputname="$(mktemp -u leak_${curdate}_XXXXXXX.jpg)"
done
curl -s -o "${outputname}" "${uri}" 2>/dev/null
sleep 1
done
# TODO: Remove duplicates?