प्रत्येक कार्यासाठी सुरू होणाऱ्या शेलच्या आत यादृच्छिक निवड ठेवा. बाहेरील शेलमध्ये कमांड प्रतिस्थापन विस्तारल्यास xargs काम सुरू करण्यापूर्वीच मूल्य निवडले जाते.

प्रत्येक ओळीत एक प्रॉक्सी URL असलेल्या सत्यापित proxies.txt सह, सार्वजनिक उमेदवार मोफत प्रॉक्सी सूचीमधून येऊ शकतात; प्रत्येक नोंद 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 एकच आर्ग्युमेंट म्हणून ठेवते. अंडरस्कोअर sh चे $0 स्थान घेते आणि URL $1 मध्ये ठेवते.

प्रत्येक मूल शेल shuf स्वतंत्रपणे चालवते. यादृच्छिक निवड एकाच प्रॉक्सीची एकापेक्षा जास्त वेळा निवड करू शकते; हे क्रमानुसार नियोजन नाही आणि वेगळ्या बाहेर पडण्याच्या पत्त्यांची हमीही नाही.

स्पष्ट रिकामी बायपास सूची वारसाहक्काने मिळालेल्या no_proxy सेटिंगला निवडलेल्या मध्यस्थाला बायपास करण्यापासून रोखते. उदाहरण प्रतिसादाचे मुख्य भाग टाकून देते; एकाच वेळचे डाउनलोड जतन करताना वेगळे आउटपुट मार्ग वापरा.

संबंधित लेख