randrss/randrss

44 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -x
set -e
random_default=$( shuf -n 1 -i720-753)
DEFAULT_PER_ITEM="1-$random_default"
echo "Current default sleep seconds range: $DEFAULT_PER_ITEM"
if [ $# -lt 1 ] ; then
echo "Usage: $0 inputfile [user agents] [syncnow]"
exit
fi
inputfile="$1"
useragentsfile="$2"
if [ ! -f "$inputfile" ] ; then
echo "inputfile does not exist or is not readable" 1>&2
exit 1
fi
syncnow=0
if [ "$3" = "syncnow" ] ; then
syncnow=1
fi
while true ; do
shuf "$inputfile" | while read line ; do
url=$( echo "$line" | cut -d":" -f1,2 )
output=$( echo "$line" | cut -d":" -f3)
range=$( echo "$line" | cut -d":" -f4)
sleepfor=0
if [ -n "$range" ] ; then
sleepfor=$( shuf -i "$range" -n 1)
else
sleepfor=$( shuf -i "$DEFAULT_PER_ITEM" -n 1)
fi
useragent=""
if [ -n "$useragentsfile" ] ; then
useragent=$( shuf -n 1 "$useragentsfile" )
fi
echo "Sleeping for $sleepfor seconds for $url"
[ $syncnow -eq 1 ] || sleep "$sleepfor"
torsocks wget "$url" -U "$useragent" -O "$output" || echo "Failed to fetch $url"
done
[ $syncnow -eq 1 ] && exit
done