Guntingbatukertas.com

Hemat Bandwith Dan Dongkrak Kecepatan Akses Internet Dengan Squid Proxy

oleh salsabel pada Feb.23, 2010, dalam kategori Internet, Jaringan, Sistem Operasi, Software, Windows

Koneksi internet, seberapapun juga akan tetap mencapai titik dimana dia dianggap lambat. Dulu koneksi internet kampus yang cuman 32kbps saja sudah laku laris manis dijual seharga Rp 4.000,-. Sekarang, warnet Speedy yang 2MBps aja sudah banting harga menjadi Rp 3.000,-. Intinya, kalo nurutin keinginan, seberapapun cepat koneksi tetep aja kurang..

Bagi pengguna internet yang punya koneksi terbatas dan tidak memiliki jaringan dan server yang bisa me-manage bandwith dengan baik, koneksi 152kbps sekelas GPRS kelas 10 tentu akan terasa lambat dibandingkan dengan warnet-warnet sekarang. Bahkan pengguna 3G seperti Smart, Indosat, Telkom (dengan berbagai variannya) juga akan merasakan penurunan kecepatan seiring dengan semakin banyaknya pengguna jasa yang sama. Belum lagi kalo bicara soal pembatasan quota bandwith.

Sekarang, tinggal kita yang dituntut untuk pandai-pandai mengoptimalkan koneksi tersebut. Gimana caranya biar cepet, kuota nggak gampang habis. Nah, kali ini saya akan ulas sedikit tentang Squid Proxy yang bisa dijalankan di Windows. Dengan program ini, Anda bisa melakukan dua hal; penghematan bandwith sekaligus mempercepat koneksi Anda. Kok bisa?
Baca Selengkapnya...
Sekedar ilustrasi, beberapa waktu lalu saat saya masih gemar bermain Travian –salah satu game online– agar dapat selalu memantau perkembangan, saya gunakan koneksi internet GPRS Starone dengan menggunakan HP murah, Haier C6000. Koneksi murah meriah ini tentu sepadan dengan harganya, di tempat saya, saya cuman dapet 2 bar dengan kecepatan maksimal 152kbps, praktisnya sekitar 96kbps saja. Tentu saja jika saya cuman mengandalkan koneksi ini, saya nggak bakal bisa menampilkan web Travian dengan cepat. Namun dengan sedikit upaya, Squid proxy proses loading situs favorit tersebut bisa meningkat hingga tiga kali lipat. Bagaimana logikanya?

CARA KERJA SQUID PROXY
Tiap kita mengakses situs sebenarnya yang kita lakukan adalah mendownload semua data berupa tulisan, link, teks, gambar dan file lain dalam halaman tersebut. Dalam proses standar, semua file ini akan disimpan dalam file temporer browser. Namun pada prakteknya, tiap kita membuka halaman yang sama, kita tetap mendownload file yang sama, berulang kali. Anggap saja suatu halaman web berukuran total 500KB, maka jika kita membuka halaman tersebut sepuluh kali dalam sehari maka kita akan menggunakan bandwith sebesar 500KB x 10 = 5MB!

Proxy atau juga yang disebut Squid sebenarnya adalah program yang dikembangkan dalam dunia Linux yang bekerja efektif mengelola file temporer. Saya menemukan SquidNT yang dikembangkan dari versi linuxnya oleh Guido Serassio. Cara kerjanya sama dengan Squid di Linux, yakni dengan otomatis menyimpan semua file yang kita download saat mengakses situs di dalam satu file temporer yang disebut cache. Di sana semua konten, alamat, teks, gambar dan halaman web disimpan. Pada saat kita mengakses situs untuk pertama kali, squid akan secara otomatis menyimpannya dan membuat link bayangan agar saat halaman yang sama dibuka untuk kedua kali, browser tidak langsung mendownload dari situs aslinya. Melainkan mendownload dari cache squid yang notabene ada di PC/LAN. Sehingga halaman web akan lebih cepat terbuka. Jika kita sering membuka halaman yang sama, prosesnya akan jauh lebih cepat saat kedua kali dan seterusnya..

Sekarang kita lihat, berapa perhitungan bandwithnya. Suatu halaman sebesar 500KB, berisi halaman web sederhana dan berbagai gambar. Squid hanya akan mendownload kode HTML nya saja dan menyaring semua informasi yang ada di dalamnya. Jika dalam screening ini semua data pendukung (gambar, skrip, file) sudah ada di cache, bandwith Anda tidak akan lebih besar dari 100Kb bahkan lebih kecil lagi. Anggap saja kita lakukan refresh selama 10 kali maka hasil yang didapat adalah: 100KB x 10 =  2MB saja. Anda bisa menghemat bandwith menjadi 1/5 bahkan lebih kecil lagi!
Itulah mengapa, dulu saya tetep bisa maen Travian dengan lancar, meski cuman pake GPRS dengan kecepatan 152kbps.. hehehe.

INSTALASI DAN SETTING SQUID
Untuk memulai instalasi, silakan download dulu SquidNT. Anda bisa mendapatkan SquidNT ini di sini atau dari situs Acme Conlsulting langsung. Jika Anda berencana menggunakan squid untuk Windows Server, silakan tunggu artikel berikutnya yang akan membahas hal tersebut secara lebih detail.

[Download Squid 2.7 Stable7 untuk Windows]
[Download Alternatif Squid 2.7 Stable7 untuk Windows]

Selanjutnya langkah instalasi:

1. Ekstrak file Squid-2.7STABLE7.bin yang telah Anda download. Saya sarankan Anda ekstrak ke c:\squid\ untuk lebih mempermudah Anda mengikuti tutorial ini.
2. Lihat dan perhatikan isi folder c:\squid\etc\. Disana ada beberapa file konfigurasi default squid sebagai berikut:

- cachemgr.conf.default
- mime.conf.default
- squid.conf.default
- squid_radius_auth.conf.default

Yang perlu Anda lakukan adalah, me-rename keempat tersebut menjadi:

- cachemgr.conf
- mime.conf
- squid.conf
- squid_radius_auth.conf

3. Buka file squid.conf dengan editor teks. Anda bisa gunakan Notepad, Wordpad atau program pihak ketiga seperti Notepad++. Temukan tulisan TAG: http_port. Pastikan di bagian bawah TAG ini sudah ada tulisan http_port 3128 sehingga tampak seperti berikut:

# TAG: http_port
# Usage: port [options]
# hostname:port [options]

# If you run Squid on a dual-homed machine with an internal
# and an external interface we recommend you to specify the
# internal address:port in http_port. This way Squid will only be
# visible on the internal address.
#
# Squid normally listens to port 3128
http_port 3128

4. Temukan TAG: visible_hostname, tambahkan tulisan visible_hostname localhost di bagian bawah tag ini. Anda boleh menghapus tulisan # none. sehingga tampak seperti berikut:

# TAG: visible_hostname
# If you want to present a special hostname in error messages, etc,
# define this. Otherwise, the return value of gethostname()
# will be used. If you have multiple caches in a cluster and
# get errors about IP-forwarding you must set them to have individual
# names with this setting.
#
#Default:
visible_hostname localhost

5. Temukan http_access allow localnet. Tambahkan http_access allow localhost di bawahnya menjadi:

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

6. Temukan TAG: dns_nameservers, pada tulisan dns_nameservers. Pada bagian bawah tag ini, isi dengan alamat DNS dari ISP yang Anda gunakan dengan format dns_nameservers [primary DNS] [secondary DNS]. Dalam hal ini saya menggunakan ISP speedy Wilayah Jatim maka akan tampak sebagai berikut:

# TAG: dns_nameservers
# Use this if you want to specify a list of DNS name servers
# (IP addresses) to use instead of those given in your
# /etc/resolv.conf file.
# On Windows platforms, if no value is specified here or in
# the /etc/resolv.conf file, the list of DNS name servers are
# taken from the Windows registry, both static and dynamic DHCP
# configurations are supported.
#
# Example: dns_nameservers 10.0.0.1 192.172.0.4
#
#Default:
dns_nameservers 202.134.1.10 203.130.208.18

Anda bisa temukan DNS yang lebih tepat untuk koneksi Anda dengan mencoba alamat DNS dari koleksi Server DNS Guntingbatukertas.

Akhiri dengan menyimpan file squid.conf tersebut.

7. Buka Start > Run > Ketik CMD [Enter]. Dalam Command Prompt, ketik baris perintah berikut:

c:\squid\sbin\squid.exe -z [Enter]

Jika muncul pesan popup Windows Security Alert seperti gambar di bawah, pilih Unblock untuk memberi akses kepada instalasi Squid Proxy.

8. Selanjutnya, ketik perintah berikut:

c:\squid\sbin>squid.exe -d l -D [Enter]

Tunggu beberapa saat kemudian tekan CTRL + C.

9. Ketik perintah berikut:

c:\squid\sbin>squid.exe -i [Enter]
c:\squid\sbin\squid.exe -O -D [Enter]

Setelah mengetik keempat baris perintah di atas, layar Command Prompt Anda seharusnya akan tampak seperti berikut ini:

10. Jalankan Service Panel  melalui Control Panel > Administrative Tools > Services. atau
Start > Run > ketik Services.msc [Enter]

Temukan service bernama Squid > Klik link Start di panel sebelah kiri untuk menjalankan Squid.

11. Selanjutnya, Ubah setting Browser Anda. Arahkan proxy pada browser anda ke alamat localhost dengan port 3128. Untuk Firefox, langkah setting nya tampak seperti berikut:

Secara default Squid akan menjalankan proses sendiri tiap kali PC melakukan restart. Cache squid ini disimpan dalam folder c:\squid\var\cache. Untuk melihat log file squid proxy, Anda bisa mengetikkan:

more c:\squid\var\logs\access.log [Enter]


UNINSTALL
Jika Anda ingin menghapus squid, ketikkan perintah berikut di Command Prompt.

c:\squid\sbin>squid -r -n squid [Enter]

Selesai. Gampang bukan?

BONUS: CARA MUDAH INSTALASI
Bagi Anda yang nggak mau pusing-pusing dengan setting di atas, saya sudah sediakan Squid Proxy di atas yang sudah saya konfigurasi lengkap. Anda tinggal meng-ekstrak, dobel klik file konfigurasi, setting browser dan Voila! Kecepatan akses Anda sekarang jadi beberapa kali lebih cepat.

[Download SquidProxy-2.7STABLE7 Siap Pakai]
Password: guntingbatukertas.com

Keterangan:
Dalam file konfigurasi default (squid.conf) Squid siap pakai di atas saya menggunakan dns dari Google. Dengan setting tersebut seharusnya Anda sudah bisa langsung online tanpa melakukan perubahan apapun.
Tapi sekedar untuk backup, saya sudah menyertakan beberapa DNS lain seperti DNS Speedy dan OpenDNS. Jika perlu, silakan pilih sesuai keinginan. Dalam hal ini yang perlu Anda lakukan adalah membuka file squid.conf di \squid\etc\ dan temukan bagian berikut:

….
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS Speedy Jatim dan Jateng
#dns_nameservers 202.134.1.10 203.130.208.18
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS Speedy Jakarta – Jateng
#dns_nameservers 202.134.0.155 203.130.208.18
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS OpenDNS
#dns_nameservers 208.67.222.222 208.67.220.220
# Tambah tanda (#) di depan baris berikut jika Anda TIDAK ingin menggunakan DNS Google
dns_nameservers 8.8.8.8 8.8.4.4
…..

Perhatikan, dari baris di atas, hanya satu baris dns_nameservers yang tidak didahului tanda comment (tanda #). Yakni di depan dns_nameservers punya Google. Itulah setting yang sedang aktif/digunakan. Untuk memilih setting dns yang lain Anda tinggal memberi comment (tanda #) di depan dns_nameservers yang sedang aktif dan menghapus dns_nameservers lain yang Anda inginkan. Ingat, Anda hanya diperbolehkan memlih dns_nameservers yang aktif.

Misalnya saya pengen pake OpenDNS, maka setting diatas perlu saya ubah menjadi:

….
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS Speedy Jatim dan Jateng
#dns_nameservers 202.134.1.10 203.130.208.18
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS Speedy Jakarta – Jateng
#dns_nameservers 202.134.0.155 203.130.208.18
# Hapus tanda (#) di depan baris berikut jika Anda ingin menggunakan DNS OpenDNS
dns_nameservers 208.67.222.222 208.67.220.220
# Tambah tanda (#) di depan baris berikut jika Anda TIDAK ingin menggunakan DNS Google
#dns_nameservers 8.8.8.8 8.8.4.4
…..

Simpan, dan setting Anda yang baru siap dicoba!

Semoga bermakna dan bermanfaat. :)

Tulisan ini ada di Guntingbatukertas.com

Related Posts with Thumbnails
:, , , , , , , , , , , , ,

14 Komentar atas tulisan ini

  • adi

    asik jd juga tutorila ny
    mau tanya mas

    bgm agar u video streaming tdk di batasi size nya u semua file video steaming
    tp u download di batasi size ny u semua file

    krn kalo sy batasi download, video steam juga jd terbatasi

    bgm y?

    thx

    • salsabel

      @adi
      hehehe. ya syukurlah sudah jadi..
      what a post.. puanjang amir ya..
      Hmm.. kalo pake squid spertinya ga bisa spesifik kayak gitu. soalnya dia batasin bandwith berdasarkan akses, bukan tipe file.
      *bongkar2 kamus lagi.*

  • holl

    mas..udah beberapa x q coba tapi koq gini terus…

    C:\Documents and Settings\Administrator>c:\squid\sbin>squid.exe -d l -D
    ‘c:\squid\sbin’ is not recognized as an internal or external command,
    operable program or batch file.

    C:\Documents and Settings\Administrator>c:\squid\sbin>squid.exe -i
    ‘c:\squid\sbin’ is not recognized as an internal or external command,
    operable program or batch file.

    mohon bantuannya..tq..

    • salsabel

      @holl
      Silakan lakukan hal berikut:
      Pastikan lagi Anda mengekstrak file squid Anda ke Drive C:\ sehingga jika Anda mencari file CREDITS dalam folder squid, akan tampak seperti ini: C:\squid\CREDITS

      bukan seperti ini: C:\squid\squid\CREDITS.

      semoga berhasil.

  • adi

    thx mas udh d jwb

    mau tanya lagi
    sy sdh trlanjur DL squid yg tnpa delay pool
    u mgaktifkan delay pool lgi di windows bisa ?

    kalo gk bisa, brati sy hrus uninstal squid yg skr,lalu pke squid yg dgn delay pool. u uninstal cukup d stop service ny aja kan.
    maaf byk tnya
    thx mas

    • salsabel

      @adi,
      Iya, betul Anda tinggal download Squid dengan delay pool, uninstall dengan cara ketik perintah di Command Prompt:
      c:\squid\sbin>squid -r -n squid [Enter]

      Oya, maaf soal komentar yang kemarin, Ada kesalahan teknis sehingga komentar hari kemarin, 25 Februari sebagian tidak bisa ditampilkan.

      mas mau tanya
      bgm cara nya agar bisa membatasi donwload tanpa membatasi video stream.
      misal nya sy batsi download .flv, maka video .flv juga trbatasi.

      acl download url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .tar .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .msi .mp4 .flv

      #Pembatasan ukuran maksimal download
      reply_body_max_size 2100000 allow download

      bgm y?
      thx

      Jawabannya:
      #1 saya belum pernah coba sendiri pembatasan berdasarkan tipe file. tipe prinsipnya minimal bikin ACL, HTTP_ACCESS. selepas itu tinggal setting2 aja..
      #2 yup, kode tersebut bisa langsung dijalanin. dan mungkin lebih baiknya ditulis gini:
      reply_body_max_size 2148 KB allow download
      CMIIW.

  • adi

    mas,kalo cache file dri squid yg lama sy masukan k squid yg baru. apa cache yg lama tetap bisa d gunakan?

    mas kalo setting agar setiap windows koneksi internet lewat squid dulu bgm y? jd bukan dari browser aj

    thx y mas d jwb trus

    • salsabel

      @adi,
      #1 Mungkin bisa. Soalnya kemaren saat ujicoba install-uninstall untuk keperluan nulis artikel ini lancar-lancar aja tuh..
      #2 Ya langsung aja, setting di browsernya gan.. atau diarahkan ke IP PC yang punya Squid itu..

  • adi

    kalo tnpa d setting dari browser, langsung dari windows ny.
    jd kalo update windows,update AV,brwosing langsng lewat squid dulu. apa di edit file “C:\WINDOWS\system32\drivers\etc\host”. sy krang mngerti edit ny.

    thx

    • salsabel

      @adi,
      Kalo di linux, biasanya kita pake mode transparent. dengan cara ini semua paket keluar akan di intercept dan dimasukkan semua ke jalur port proxy.
      Settingnya kalo ndak salah ada di /etc/squid.conf. tambahkan transparent di belakang tag http_port 3128, sehingga menjadi
      http_port 3128 transparent

      Cuman untuk squid windows yang kita bicarakan di sini, apakah sudah mendukung transparent ato belum dan efeknya di PC…

      CMIIW
      semoga membantu.

  • clow

    kq abs dikasi proxy kluar
    The Request Could Not Recognize the URL ?

  • eerroorrid

    Pada saat mendownload file .mp3 .mp4 .zip .exe .rar .avi dll apakah file2 tersebut masuk cache?
    Apabila masuk cache bagaimana setting agar tidak masuk cache?
    Mohon pencerahannya …

    • salsabel

      @eerroorrid,

      Secara garis besar, smua file masuk ke dalam Cache, ASAL tidak ada pembatasan.
      Salah satu pembatasan yang paling umum (baca = default) squid adalah ukuran file. Jika file .mp3 .mp4 .zip .exe .rar .avi tersebut tidak melebihi ukuran file maksimal dalam setting squid, maka, otomatis akan masuk ke dalam cache. Tapi tenang saja, squid cukup adil kok untuk berbagi resource, dia akan secara otomatis menghapus file2 lama (obsolete) dalam dua kategori; 1, file usang yang udah ga kedownload2 ulang setelah beberapa periode dan 2. file2 yang terlalu besar dan membebani cache.
      Cara paling mudah untuk mengurangi proses caching ini adalah, perkecil ukuran file yang masuk cache di squid.conf. masuk pada bagian
      maximum_object_size xxxxxx KB

      ganti ukuran sekecil porsi ukuran file2 tersebut di atas.

      semoga membantu.
      CMIIW

7 Trackbacks / Pingbacks atas tulisan ini

Leave a Reply

Anda harus log in terlebih dulu untuk memberikan komentar.