Use Case

Misalnya kalian melakukan data scraping ke website suatu marketplace untuk mengambil detail produk-produknya, sayangnya data scraping biasanya adalah hal yang dilarang sehingga biasanya marketplace tersebut akan memblokir IP yang dicurigai melakukan scraping karena secara terus menerus me-request ke website tersebut

Solusinya adalah menggunakan proxy agar IP kita tidak terblokir! 1 proxy juga kadang tidak cukup maka kita butuh merubah IP setiap melakukan request ke webbsite marketplace tersebut.

Load Balancing Proxy Dengan Squid

Anggap saja kita punya list proxy

x.x.x.2:3128
x.x.x.3:3128
x.x.x.4:3128
x.x.x.5:3128

Kita ingin setiap kali kita melakukan scraping ke website marketplace tersebut, IP kita akan selalu berubah-ubah sesuai dengan proxy list kita. Caranya dengan me-balancing-kan proxy list tersebut dengan VPS (x.x.x.1) yang akan kita install squid

Langsung saja ke prakteknya

1. Install Squid

Agar lebih mudah pakai script yang saya sediakan di https://github.com/kripul/squid

wget https://raw.githubusercontent.com/kripul/squid/master/squid3-install.sh
chmod 755 squid3-install.sh
sudo ./squid3-install.sh

NOTE : script di atas menginstall Squid dengan port 3129 bukan 3128!

2. Tambahkan config cache_peer

Edit konfigurasi squid

sudo nano /etc/squid/squid.conf

Lalu kita tambahkan proxy list punya kita di baris paling bawah

# List proxies
cache_peer x.x.x.2 parent 3128 0 round-robin no-query login=admin:admin
cache_peer x.x.x.3 parent 3128 0 round-robin no-query login=admin:admin
cache_peer x.x.x.4 parent 3128 0 round-robin no-query login=admin:admin
cache_peer x.x.x.5 parent 3128 0 round-robin no-query login=admin:admin

Save dan restart Squid

sudo service squid restart

Sekarang kita coba

http_proxy="http://x.x.x.1:3129" wget -O - ifconfig.co -q

Kalau kita menjalankan perintah di atas di terminal, maka hasilnya IP kita akan selalu berubah-ubah setiap melakukan request sesuai dengan list proxy kita!

Selamat mencoba!