Squid

wel back again , ramzan has been started ,timings have been changed , but still my schedule hasnt been adjusted yet :(, well here i m to introduce u with something different , think wat comes to ur mind with word SQUID, hmm squid or may be (Mastigoteuthis flamea )a first hit at wikipedia shows that

Squids are the large, diverse group of marine cephalopods, popular as food in cuisines as widely separated as the Korean and the Italian. In fish markets and restaurants in English-speaking countries, it is often known by the name calamari, from the Greek-Italian word for these animals. ”

yes inded that octupus sort of creature,but i didnt intent to speak of that 🙂 ,gosh ! then wat the hell is squid

ok here is a disambiguation page 😛 Squid (disambiguation)

Infact i m eager to talk about Squid – a web proxy-cache (open source developed for *nix system)

A web proxy server acts like a gateway ,usually listening for http request and forwarding them to desired location and returning the results. A lot of the web cotent is also static material, caching improves the overall of user experience. Most proxy server usually deploy some sort of caching mechanism to improve quality of service and lessen the bandwidht consumption. Squid is also among them , but it provides a lot of eye candy feature too, its under constant development version 2.5 is a stable version and version 3 is in beta state. i liked its feature of smaller executables and lesser deployment requirement and yet easy configuration. i assure u once downloaded(2-3 mb ) it takes only 30 seconds to deployment for a standard set of features(on windows machine) 🙂 and yes i m not bluffing :).

just to give u a perspective how i landed on squid , well, at my home , i have cable network connection for connecting to internet, there are 2 http proxy server availbel on network ,(tracks1 , tracks4). some time one is up and some time sencod, some time both up and some time both down :P. i use IE , mozilla, getrigth , msn , all of them require http proxy :), so one of the server misbehave then i had to change all my configurations, which is much annoying to me , i hate hardwork :), so i thought of a solution of writing a small proxy server myself , which will load balance the request thus i dont have to switch proxies. while doing the research i came accros this squid page, i knew wat squid but not throghouly , and didnt have any idea of its potentials 🙂 . On the home page it says it is developed for unix systems. i looked for ported binaries and found one for windows downloaded the binary, after going thru the help manuals i easily configured the proxy server in mere 15 mins, i just allowed access to all public to the proxy server ,setup the peer parent proxy(tracks 1 , tracks4) , instruct to use round robin algo for selecting peers for forwarding the request and my server is up and running :). now i m using my both proxies at full ,and even if one downs , i dont have to reconfigure my settings at all, here is a snap shot my configuration file

squid.conf (it is already heavily documeneted.open it and read carefully :))

———————————

#striped defualts
acl INSIDE dstdomain .tracksnet.com
always_direct allow INSIDE
never_direct allow all
cache_peer tracks1.tracksnet.com parent 80 0 no-query round-robin #my parent proxy
cache_peer tracks4.tracksnet.com parent 80 0 no-query round-robin #my parent proxy

http_access allow all

——————–

that’s all i have to enter now my proxy is runing on port3128(defualt) one , with load balancing the request . u can also specify domain for each porxy i.e whcih domain should be accessible from whch parent.

i m happy 🙂

a summary of squid featues

  • proxying and caching of HTTP, FTP, and other URLs
  • proxying for SSL
  • cache hierarchies ( like i did – u can built an heriarchy of cache siblings and parents all wokring together to server better)
  • ICP, HTCP, CARP, Cache Digests (these are management protocls so that 2 chache can communciate with each other )
  • transparent caching
  • WCCP (Squid v2.3 and above)
  • extensive access controls (u can now use win32 domain based authentication as well as NTLM and digest schemes too, to control who and what should be accessed )
  • HTTP server acceleration (this is also called reverse caching , in this u setup ur web server behind the squid and squid caches the reponse of the web server serving them to the cleints witiohout hitting the server repeatedly ,generally its is used acclerate slow web servers)
  • SNMP
  • caching of DNS lookups
  • in the windows nt binary distibution ,u can install it as a window service
  • detailed loggin mechanism
  • easy customization thru configuration files
  • different option for selecting chaching policy like lru , fcfs etc.
  • and many more 🙂 i m still playing with it
  • small size binaries 🙂

InshaAllah i li try to explore further and let u know , hope u will be eager to put ur hands on the squid , have a nice encounter

tc Allah hafiz

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s