Ilagay ang random na pagpili sa loob ng shell na sinisimulan para sa bawat trabaho. Kapag pinalawak ang pagpapalit ng utos sa panlabas na shell, napipili na ang halaga bago pa magsimula ang xargs sa trabaho nito.

Sa isang balidong proxies.txt na may isang proxy URL bawat linya, ang mga pampublikong kandidato ay maaaring magmula sa listahan ng libreng proxy; i-format ang bawat entry sa protokol na sinusuportahan ng 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 ay nagbibigay ng isang URL sa bawat utos, at -P 4 ay nagpapahintulot ng hanggang apat na utos nang sabay. Pinapanatili ng input na hinati ng zero ang URL bilang isang argumento. Sinasakop ng salungguhit ang posisyon ng $0 ng sh, at nananatili ang URL sa $1.

Ang bawat shell ng anak ay nagpapatakbo ng shuf nang nakapag-iisa. Maaaring piliin ng random na pagpili ang parehong proxy nang higit sa isang beses; hindi ito round-robin scheduling at hindi rin garantiya ng magkaibang exit address.

Ang hayagang walang laman na listahan ng bypass ay pumipigil sa minanang setting ng no_proxy na laktawan ang piniling tagapamagitan. Itinatapon ng halimbawa ang mga katawan ng tugon; gumamit ng hiwalay na output path kapag nagse-save ng sabay-sabay na download.

Kaugnay na mga artikulo