Umiestnite náhodný výber dovnútra shellu, ktorý sa spúšťa pre každú úlohu. Rozbalenie substitúcie príkazu vo vonkajšom shelli vyberie hodnotu skôr, než xargs začne pracovať.

S overeným proxies.txt s jedným URL proxy na riadok môžu verejní kandidáti pochádzať zo zoznamu bezplatných proxy; každú položku naformátujte protokolom, ktorý curl podporuje:

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 odovzdá každému príkazu jedno URL a -P 4 povoľuje až štyri príkazy súčasne. Vstup oddelený nulami zachová URL ako jeden argument. Podčiarknik zaberá pozíciu $0 v sh, pričom URL zostáva v $1.

Každý podriadený shell spúšťa shuf nezávisle. Náhodný výber môže vybrať rovnaký proxy viackrát; nejde o kruhové plánovanie ani záruku rôznych výstupných adries.

Explicitne prázdny zoznam obchádzania bráni tomu, aby zdedené nastavenie no_proxy obišlo zvoleného sprostredkovateľa. Príklad zahadzuje telá odpovedí; pri ukladaní súbežných sťahovaní používajte samostatné výstupné cesty.

Súvisiace články