Изаберите прокси унутар сваког xargs посла
Покрените случајни избор у подљуски како би сваки паралелни curl посао добио прокси са листе.
Сместите случајни избор унутар љуске која се покреће за сваки посао. Проширивање замене наредбе у спољној љусци бира вредност пре него што xargs почне свој рад.
Уз проверени proxies.txt са једним URL-ом проксија у сваком реду, јавни кандидати могу доћи са листе бесплатних проксија; сваки запис обликујте протоколом који curl подржава:
printf '%s\0' 'https://a.example/one' 'https://b.example/two' |
xargs -0 -n 1 -P 4 sh -c '
proxy=$(shuf -n 1 proxies.txt) || exit 1
[ -n "$proxy" ] || exit 1
curl --fail --silent --show-error --max-time 30 \
--proxy "$proxy" --noproxy "" --output /dev/null "$1"
' _
-n 1 даје један URL свакој наредби, а -P 4 дозвољава до четири наредбе истовремено. Улаз раздвојен нулама чува URL као један аргумент. Доња црта заузима место $0 у sh, остављајући URL у $1.
Свака подљуска покреће shuf независно. Случајни избор може изабрати исти прокси више пута; то није кружно распоређивање ни гаранција различитих излазних адреса.
Изричито празна листа заобилажења спречава да наслеђено подешавање no_proxy заобиђе изабраног посредника. Пример одбацује тела одговора; користите одвојене излазне путање када чувате паралелна преузимања.