Legg det tilfeldige valget inne i skallet som startes for hver jobb. Utvider du en kommandosubstitusjon i det ytre skallet, velges verdien før xargs begynner arbeidet sitt.

Med en validert proxies.txt med én proxy-URL per linje kan offentlige kandidater komme fra listen over gratis proxyer; formater hver oppføring med en protokoll som curl støtter:

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 gir én URL til hver kommando, og -P 4 tillater opptil fire kommandoer samtidig. Inndata atskilt med null beholder URL-en som ett argument. Understreken tar $0-posisjonen til sh og lar URL-en bli i $1.

Hvert barneskall kjører shuf uavhengig. Det tilfeldige valget kan velge samme proxy flere ganger; det er ikke rundgangsplanlegging og ingen garanti for ulike utgangsadresser.

Den uttrykkelig tomme omgåelseslisten hindrer en nedarvet no_proxy-innstilling i å omgå den valgte mellommannen. Eksempelet forkaster svarlegemene; bruk separate utdatastier når du lagrer samtidige nedlastinger.

Relaterte artikler