ಪ್ರತಿ xargs ಕೆಲಸದೊಳಗೆ ಪ್ರಾಕ್ಸಿ ಆಯ್ಕೆಮಾಡಿ
ಮಗು ಶೆಲ್ನಲ್ಲಿ ಯಾದೃಚ್ಛಿಕ ಆಯ್ಕೆಯನ್ನು ನಡೆಸಿ, ಇದರಿಂದ ಪ್ರತಿ ಸಮಾನಾಂತರ curl ಕೆಲಸವೂ ಪಟ್ಟಿಯಿಂದ ಪ್ರಾಕ್ಸಿ ಪಡೆಯುತ್ತದೆ.
ಪ್ರತಿ ಕೆಲಸಕ್ಕೆ ಪ್ರಾರಂಭವಾಗುವ ಶೆಲ್ನೊಳಗೆ ಯಾದೃಚ್ಛಿಕ ಆಯ್ಕೆಯನ್ನು ಇರಿಸಿ. ಹೊರಗಿನ ಶೆಲ್ನಲ್ಲಿ ಆಜ್ಞಾ ಬದಲಿಯನ್ನು ವಿಸ್ತರಿಸಿದರೆ 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 ಸೆಟ್ಟಿಂಗ್ ಆಯ್ದ ಮಧ್ಯವರ್ತಿಯನ್ನು ಬೈಪಾಸ್ ಮಾಡದಂತೆ ತಡೆಯುತ್ತದೆ. ಉದಾಹರಣೆ ಪ್ರತಿಕ್ರಿಯೆ ದೇಹಗಳನ್ನು ತ್ಯಜಿಸುತ್ತದೆ; ಏಕಕಾಲಿಕ ಡೌನ್ಲೋಡ್ಗಳನ್ನು ಉಳಿಸುವಾಗ ಪ್ರತ್ಯೇಕ ಔಟ್ಪುಟ್ ಮಾರ್ಗಗಳನ್ನು ಬಳಸಿ.