#!/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=leek+plant&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/leeks 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 leek_${curdate}_XXXXXXX.jpg)" while [ -f ${outputname} ]; do outputname="$(mktemp -u leek_${curdate}_XXXXXXX.jpg)" done curl -s -o "${outputname}" "${uri}" 2>/dev/null sleep 1 done # TODO: Remove duplicates?