#squid.conf #Every option in this file is very well documented in the original squid.conf file #and on http://www.visolve.com/squidman/Configuration%20Guide.html #http_access allow STOP1 # #The ports our Squid will listen on. http_port 3128 icp_port 3130 #cgi-bins will not be cached. acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY #Memory the Squid will use. Well, Squid will use far more than that. cache_mem 400 MB #250 means that Squid will use 250 megabytes of disk space. cache_dir ufs /cache 10000 16 256 #Places where Squid's logs will go to. cache_log /var/log/squid/cache.log cache_access_log /var/log/squid/access.log cache_store_log /var/log/squid/store.log cache_swap_log /var/log/squid/swap.log #How many times to rotate the logs before deleting them. #See the FAQ for more info. logfile_rotate 0 redirect_rewrites_host_header off cache_replacement_policy GDSF acl Safe_ports port 80 443 210 119 70 20 21 1025-65535 http_access deny !Safe_ports acl CONNECT method CONNECT acl all src 0.0.0.0/0.0.0.0 acl losers src 192.168.0.0/255.255.255.0 acl 4CONN maxconn 4 http_access deny 4CONN losers acl magic_words2 url_regex -i .mpeg .mpe .mpg .wav .mov acl day time MTWHF 07:00-23:00 #http_access deny magic_words2 day acl localnet src 192.168.0.0/255.255.255.0 acl localhost src 127.0.0.1/255.255.255.255 acl STOP1 src 192.168.0.42 acl WORKING time MTWHF 09:30-11:40 acl SITE dstdomain www.xyz.com http_access deny STOP1 WORKING SITE http_access allow localnet http_access allow localhost http_access deny CONNECT http_access deny all maximum_object_size 3000 KB store_avg_object_size 50 KB #Set these if you want your proxy to work in a transparent way. #Transparent proxy means you generally don't have to configure all #your client's browsers, but hase some drawbacks too. #Leaving these uncommented won't do any harm. httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on #all our LAN users will be seen by external web servers #as if they all used Mozilla on Linux. :) #anonymize_headers deny User-Agent #fake_user_agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.6+) #Gecko/20011122 #To make our connection even faster, we put two lines similar #to the ones below. They will point a parent proxy server our own Squid #will use. Don't forget to change the server to the one that will #be fastest for you! #Measure pings, traceroutes and so on. #Make sure that http and icp ports are correct. #Uncomment lines beginning with "cache_peer" if necessary. #This is the proxy you are going to use for all connections... #cache_peer w3cache.icm.edu.pl parent 8080 3130 no-digest default #...except for the connections to addresses and IPs beginning with "!". #It's a good idea not to use a higher #cache_peer_domain w3cache.icm.edu.pl !.pl !7thguard.net !192.168.1.1 #This is useful when we want to use the Cache Manager. #Copy cachemgr.cgi to cgi-bin of your www server. #You can reach it then via a web browser typing #the address http://your-web-server/cgi-bin/cachemgr.cgi cache_mgr your@email cachemgr_passwd secret_password all #This is a name of a user our Squid will work as. cache_effective_user squid cache_effective_group squid log_icp_queries off buffered_logs on #####DELAY POOLS #This is the most important part for shaping incoming traffic with Squid #For detailed description see squid.conf file or docs at http://www.squid-#cache.org #We don't want to limit downloads on our local network. #acl magic_words1 url_regex -i 192.168 acl magic_words1 dst 192.168.0.0/255.255.255.0 #We want to limit downloads of these type of files #Put this all in one line #ahttp_access deny magic_words2 #acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .#rar . #avi .mpeg .mpe .mpg .qt .ram .rm visible_hostname nerworkshastri #We have two different delay_pools #View Squid documentation to get familiar #with delay_pools and delay_class. #delay_pools 2 #First delay pool #We don't want to delay our local traffic. #There are three pool classes; here we will deal only with the second. #First delay class (1) of second type (2). #delay_class 1 2 #-1/-1 mean that there are no limits. #delay_parameters 1 -1/-1 -1/-1 #magic_words1: 192.168 we have set before #delay_access 1 allow magic_words1 #Second delay pool. #we want to delay downloading files mentioned in magic_words2. #Second delay class (2) of second type (2). #delay_class 2 2 #The numbers here are values in bytes; #we must remember that Squid doesn't consider start/stop bits #5000/150000 are values for the whole network #5000/120000 are values for the single IP #after downloaded files exceed about 150000 bytes, #(or even twice or three times as much) #they will continue to download at about 5000 bytes/s #delay_parameters 2 5000/150000 5000/12000 #We have set day to 09:00-23:59 before. #delay_access 2 deny day #delay_access 2 allow !day #delay_access 2 deny magic_words2 delay_pools 1 delay_class 1 1 delay_parameters 1 2000/50000 delay_access 1 deny magic_words2 day #