You can also save on disk space -- catch all cache for all your browsers. If you use multiple browsers, you will notice that firefox has its own disk cache, internet explorer has its own and so does chrome and all others. While having a proxy, the proxy will cache all the data and you can set each browser's disk cache to zero. Saving you disk space. I know this has little impact due to the price per gigabyte of disks now. But imagine if you have an SSD on your notebook. Would you rather waste its write cycles as browser disk cache?
Another benefit of a local caching proxy server is bandwidth savings. In the Philippines where ISPs are unregulated and there is no committed information rate (or CIR), bandwidth can vary in the so-called "peak" hours and between locations. Getting a bigger/fatter pipeline for more bandwidth doesn't justify the cost. Internet connection in the Philippines is just plain expensive. The caching proxy server can serve the requests rather than fetch the information from the webserver itself, thus saving you bandwitdh.
Given the above reasons, are you now "sold" on the idea of putting up your own caching proxy? Those are just a few benefits to mention, there are more on the list. For now, just know that squid is not just for geeks you can set it up for yourself -- even on your home network. And if you search the internet for squid, there will be a lot of links where Linux is involved. Squid is not just for Linux, it runs in your Windows desktop too.
First, download squid for Windows. You can obtain the stable version of 2.7 or play around with the experimental version 3. For my desktop, I have version 3 and installed version 2.7 on the notebook both running Windows 7.
Unpack the downloaded zip file and copy the directory \squid over to C:. You will then have C:\squid containing all folders and files from the downloaded zip file. All default configurations for squid are on this path, so simplify the install and configuration by putting it on that path.
Next, inside the C:\squid\etc directory are default files (.default extension) for squid configuration. Rename them so the .default extension is eliminated (for example: squid.conf.default --> squid.conf). Do this for the three files: squid.conf.default, mime.conf.default and cachemgr.conf.default.
Create a backup of the file squid.conf (perhaps a file named squid.conf.bak). Using your favorite text editor, open squid.conf and modify the configuration as follows. For detailed explanation on the directives, consult the squid documentation.
##--- ACLs acl localnet src 127.0.0.1/255.255.255.255 acl localnet src 192.168.0.0/24 acl localnet src 10.0.0.0/24 acl all src all ##--- for Squid3 visible_hostname host # change this to the hostname of the proxy server ##--- NO SNMP/HTCP htcp_port 0 htcp_access deny all snmp_port 0 snmp_access deny all http_port 3128 http_access allow localnet http_access deny all ##--- ICP (required for peer siblings) icp_port 3130 icp_query_timeout 5000 # 5 second timeout icp_access allow localnet icp_access deny all ##--- CACHE cache_mem 128 MB # use 128MB cache memory, change as appropriate cache_dir ufs c:/squid/var/cache 4096 12 128 pid_filename c:/temp/squid.pid ##--- NO LOGS access_log none cache_log none cache_store_log none ##--- refresh_patterns refresh_pattern ^ftp: 1440 25% 100800 refresh_pattern -i \.(gif|png|jpg|jpeg|ico|bmp)$ 1440 300% 260009 override-expire refresh_pattern -i \.(iso|avi|wav|mp3|mp4|mpeg|swf|flv|x-flv|mpg|wma|ogg|wmv|asx|asf)$ 1440 150% 260009 override-expire refresh_pattern -i \.(deb|rpm|exe|zip|tar|tgz|ram|rar|bin|ppt|doc|tiff|pdf|uxx)$ 1440 150% 260009 override-expire refresh_pattern -i \.index.(html|htm)$ 1440 90% 40320 refresh-ims refresh_pattern -i \.(html|htm|css|js)$ 1440 90% 40320 refresh-ims refresh_pattern (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 25% 4320 ##--- unlinkd.exe unlinkd_program c:/squid/libexec/unlinkd.exe ##--- MIME mime_table c:/squid/etc/mime.conf
The configuration above should get you started on your caching proxy server. Should there be troubles on the configuration file, enable the logs by changing the "none" to a full path to the log file. Just keep in mind that squid doesn't like spaces in the filenames. You should wrap those in quotations.
Before running squid for the very first time, create the proxy cache directories via command prompt and using the command "C:\squid\sbin\squid -z". Then install squid as a service so each time the computer reboots, it should also start in the background. Use command "C:\squid\sbin\squid -i" to accomplish this.
If the above commands do not return an error, it is time to start squid. On the same command prompt, use command "net start squid" or via GUI through Start > Control Panel > Administrative Tools > Services select Squid and start the service.
The only other task left is to configure browsers to use the proxy. Just remember that the port used here is directed by the value assigned to http_port.