Daftar proxy Bash curl: hapus CR di akhir baris CRLF
Baca URL proxy baris demi baris di Bash dan hapus satu CR di akhir dari berkas CRLF sebelum meneruskan nilainya ke curl.
Baris yang disalin dari berkas CRLF bisa tampak seperti proxy.example:8080 padahal variabelnya sebenarnya berakhir dengan carriage return. Mengapit variabel dengan tanda kutip mempertahankan karakter itu; tanda kutip tidak menghapusnya.
Untuk berkas Bash yang berisi satu URL proxy lengkap per baris:
target='https://api.example/'
while IFS= read -r proxy || [ -n "$proxy" ]; do
proxy=${proxy%$'\r'}
if [ -z "$proxy" ]; then
continue
fi
curl --proxy "$proxy" --max-time 10 --url "$target"
done < ProxyList.txt
Gunakan entri seperti http://proxy.example:8080; daftar proxy HTTP menyediakan alamat publik kandidat untuk diformat seperti itu. read menghapus pembatas baris baru; perluasan sufiks menghapus satu CR di akhir jika ada. Kondisi itu juga memproses baris terakhir yang tidak kosong tanpa baris baru.
IFS= mencegah pemecahan medan selama read, dan -r mempertahankan garis miring terbalik literal. Tanda kutip ganda kemudian meneruskan URL yang dihasilkan sebagai satu argumen curl. Hindari mengulang atas keluaran substitusi perintah: pemecahan kata oleh shell dapat mengubah batas rekaman berkas sebelum curl melihatnya.
Ini menormalkan akhir baris. Ini tidak memperbaiki protokol pendengar yang salah, titik akhir yang hilang, atau layanan yang tidak dapat dijangkau.