Umístěte náhodný výběr dovnitř shellu, který se spouští pro každou úlohu. Rozbalení substituce příkazu ve vnějším shellu vybere hodnotu dříve, než xargs začne pracovat.

S ověřeným proxies.txt s jedním URL proxy na řádek mohou veřejní kandidáti pocházet ze seznamu bezplatných proxy; každý záznam naformátujte protokolem, který 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 předá každému příkazu jedno URL a -P 4 povoluje až čtyři příkazy současně. Vstup oddělený nulami zachová URL jako jeden argument. Podtržítko zaujímá pozici $0 v sh a URL zůstává v $1.

Každý podřízený shell spouští shuf nezávisle. Náhodný výběr může zvolit stejný proxy vícekrát; nejde o kruhové plánování ani záruku různých výstupních adres.

Explicitní prázdný seznam obcházení brání tomu, aby zděděné nastavení no_proxy obešlo zvoleného prostředníka. Příklad zahazuje těla odpovědí; při ukládání souběžných stahování používejte samostatné výstupní cesty.

Související články