Both sides previous revisionPrevious revisionNext revision | Previous revision |
pfsense:squid:refresh_patterns:squid_refresh_patterns_master_list [2020/03/25 22:38] – peter | pfsense:squid:refresh_patterns:squid_refresh_patterns_master_list [2020/07/15 09:30] (current) – external edit 127.0.0.1 |
---|
| |
<code bash> | <code bash> |
# 1 year = 525600 mins, 1 month = 43800 mins, 1 week = 10080 min, 1 day = 1440 min | # See http://www.squid-cache.org/Doc/config/refresh_pattern/ |
| # See https://www.mnot.net/talks/bits-on-the-wire/refresh_pattern/ |
| # See http://www.squid-cache.org/Versions/v2/2.6/cfgman/refresh_pattern.html |
| # refresh_pattern <regexp> <min> <percent> <max> <options> |
| # |
| # 1 year = 525600 mins, 3 months = 129600, 1 month = 43800 mins, 1 week = 10080 min, 1 day = 1440 min, 12 hours = 720 min, 6 hours = 360 min. |
| |
refresh_pattern -i \.(inc|qt) 10080 80% 10080 override-expire override-lastmod reload-into-ims | # Optional: Do not cache WordPress admin panel |
refresh_pattern -i \.(arj|lha|lzh|zip|iop|nzp|pak|mar) 10080 80% 10080 override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern (wp-admin) 0 0% 0 |
refresh_pattern -i \.(ad|dll) 10080 80% 10080 override-expire override-lastmod reload-into-ims | |
refresh_pattern -i \.(ac4|) 10080 80% 10080 override-expire override-lastmod reload-into-ims | |
refresh_pattern -i \.(pp(t?x)|s|t)|pdf|rtf|xl(s?x)|do(c?x)|flv|x-flv) 10080 80% 10080 override-expire override-lastmod reload-into-ims | |
| |
refresh_pattern -i \.(pp(s|t)|wax|wm(a|v)|wmx|wpl|zip|cb(r|z|t))(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | # Overriding caching settings if edit=yes option is set. |
| #refresh_pattern edit=yes 0 0% 0 |
| |
| |
#All File | # Archives. |
| refresh_pattern -i \.(7z|ace|arj|bz2|gz|jar|lha|lzh|pak|rar|tar|tgz|zip)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| # Data files. |
| refresh_pattern -i \.(bin|cb(r|z|t)|dat|hqx|inc|iop|mar|stg)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| # Documents. |
| refresh_pattern -i \.(docx?|pdf|pp(s|t)x?|rtf|txt|xlsx?|xml)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| # Fonts. |
| refresh_pattern -i \.(otf|ttf|woff)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| # Images. |
| refresh_pattern -i \.(bmp?|gif|ico|jp(e?g|e|2)|pn[pg]|psf|svg|swf|tiff?)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| refresh_pattern -i \.(webp)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| # Multimedia. |
| refresh_pattern -i \.(3gp|ac4|asx|au|avi|divx|dvr-ms|m1v|m2(v|p))(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| refresh_pattern -i \.(mid|mk(a|v)|mo(d|v))(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| refresh_pattern -i \.(mp(e?g|a|e|1|2|3|4)|)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| refresh_pattern -i \.(og(x|v|a|g)|qt|ra|rm|ram)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| refresh_pattern -i \.(snd|sup|vob|wa(v|x)|webm|wm(a|v|x)|wpl)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| refresh_pattern -i \.(vr(t|ml)|(x-|)flv)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| # Package files. |
| refresh_pattern -i \.(cab|deb|dll|dmg|exe|iso|ms(i|u|p)|rpm)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| # Web. |
| refresh_pattern -i \.(aspx?|atom|axd|csp|css|html?|jsp?|php|rss)(\?|$) 1440 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| |
| refresh_pattern -i \.(cdn) 10080 100% 43800 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| refresh_pattern -i (cdn) 10080 100% 43800 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
| refresh_pattern \.ytimg\? 10080 90% 10800 override-expire ignore-reload ignore-no-cache |
| refresh_pattern ^http://*.facebook.com/* 720 100% 4320 |
| refresh_pattern ^http://*.yahoo.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.yimg.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.gmail.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.google.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.googlesyndication.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.apple.*/.* 720 100% 4320 |
| |
| |
| # Youtube Video. |
| refresh_pattern -i (get_video\?|videoplayback\?|videodownload\?|\.mp4|\.webm|\.flv|((audio|video)\/(webm|mp4))) 241920 100% 241920 override-expire ignore-reload ignore-private ignore-no-store ignore-must-revalidate reload-into-ims ignore-auth store-stale |
| refresh_pattern -i ^https?\:\/\/.*\.googlevideo\.com\/videoplayback.* 10080 99% 43200 override-lastmod override-expire ignore-reload reload-into-ims ignore-private reload-into-ims ignore-auth store-stale |
| refresh_pattern -i ^https?\:\/\/.*\.googlevideo\.com\/videoplayback.*$ 241920 100% 241920 override-expire ignore-reload ignore-private ignore-no-store ignore-must-revalidate reload-into-ims ignore-auth store-stale |
| |
| #refresh_pattern (get_video\?|videoplayback\?|videodownload\?|\.flv?) 129600 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims |
| #refresh_pattern (get_video\?|videoplayback\?id|videoplayback.*id|videodownload\?|\.flv?) 129600 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims |
| |
| refresh_pattern ^ftp: 1440 20% 10080 |
| refresh_pattern ^gopher: 1440 0% 1440 |
| refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 |
| |
| # TESTING: Caching everything like crazy! |
| #refresh_pattern ^http: 43800 100% 525600 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private ignore-auth |
| |
| #catch all |
| refresh_pattern . 360 90% 1440 override-lastmod reload-into-ims |
| |
| </code> |
| |
| ---- |
| |
| ===== Original ===== |
| |
| <code bash> |
| # See http://www.squid-cache.org/Doc/config/refresh_pattern/ |
| # See https://www.mnot.net/talks/bits-on-the-wire/refresh_pattern/ |
| # See http://www.squid-cache.org/Versions/v2/2.6/cfgman/refresh_pattern.html |
| # refresh_pattern <regexp> <min> <percent> <max> <options> |
| # |
| # 1 year = 525600 mins, 3 months = 129600, 1 month = 43800 mins, 1 week = 10080 min, 1 day = 1440 min, 12 hours = 720 min, 6 hours = 360 min. |
| |
| #Optional: Do not cache WordPress admin panel |
| refresh_pattern (wp-admin) 0 0% 0 |
| |
| # Overriding caching settings if edit=yes option is set. |
| #refresh_pattern edit=yes 0 0% 0 |
| |
| |
| # All Files. |
refresh_pattern -i \.(3gp|7z|ace|asx|avi|bin|inc|cab|dat|qt|deb|rpm|divx|dvr-ms)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(3gp|7z|ace|asx|avi|bin|inc|cab|dat|qt|deb|rpm|divx|dvr-ms)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(rar|jar|gz|tgz|tar|bz2|iso|arj|lha|lzh|iop|nzp|pak|mar)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(rar|jar|gz|tgz|tar|bz2|iso|arj|lha|lzh|iop|nzp|pak|mar)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(m1v|m2(v|p)|mo(d|v)|(x-|)flv)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(m1v|m2(v|p)|mo(d|v)|(x-|)flv)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bm?|tiff?|ico|swf)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bmp?|tiff?|ico|swf)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p))(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p))(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(og(x|v|a|g)|rar|rm|r(a|p)m|snd|vob|wav|ac4)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(og(x|v|a|g)|rm|r(a|p)m|snd|vob|wav|ac4)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(pp(s|t)(x?)|wax|wm(a|v)|wmx|wpl|zip|cb(r|z|t))(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(pp(s|t)(x?)|wax|wm(a|v)|wmx|wpl|zip|cb(r|z|t))(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(woff|txt|exe|dll|dmg|webm)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(woff|exe|dll|dmg|webm)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(pdf|rtf|xls(x?)|doc(x?))(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(pdf|rtf|xls(x?)|doc(x?)|txt)(\?|$) 43800 100% 129600 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(css)(\?|$) 10080 60% 43800 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(js|css)(\?|$) 10080 60% 43800 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
refresh_pattern -i \.(js)(\?|$) 10080 60% 10080 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload | refresh_pattern -i \.(html?|aspx?|jsp|php)(\?|$) 1440 60% 10080 ignore-no-cache ignore-no-store ignore-private override-expire reload-into-ims |
| |
refresh_pattern -i \.(html|htm)(\?|$) 1440 60% 10080 ignore-no-cache ignore-no-store ignore-private override-expire reload-into-ims | refresh_pattern -i \.(cdn) 10080 100% 43800 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
#refresh_pattern -i \.(doc|pdf)(\?|$) 10080 90% 43200 ignore-no-cache ignore-no-store ignore-private override-expire reload-into-ims | refresh_pattern -i (cdn) 10080 100% 43800 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims ignore-reload |
| |
refresh_pattern -i \.(cdn) 10800 100% 43800 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private | refresh_pattern \.ytimg\? 10080 90% 10800 override-expire ignore-reload ignore-no-cache |
refresh_pattern -i (cdn) 10800 100% 43800 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private | refresh_pattern ^http://*.facebook.com/* 720 100% 4320 |
| refresh_pattern ^http://*.yahoo.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.yimg.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.gmail.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.google.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.googlesyndication.*/.* 720 100% 4320 |
| refresh_pattern ^http://*.apple.*/.* 720 100% 4320 |
| |
| refresh_pattern ^ftp: 1440 20% 10080 |
refresh_pattern \.ytimg\? 10800 90% 10800 override-expire ignore-reload ignore-no-cache | refresh_pattern ^gopher: 1440 0% 1440 |
refresh_pattern ^http://*.facebook.com/* 720 100% 4320 | |
refresh_pattern ^http://*.yahoo.*/.* 720 100% 4320 | |
refresh_pattern ^http://*.yimg.*/.* 720 100% 4320 | |
refresh_pattern ^http://*.gmail.*/.* 720 100% 4320 | |
refresh_pattern ^http://*.google.*/.* 720 100% 4320 | |
refresh_pattern ^http://*.googlesyndication.*/.* 720 100% 4320 | |
refresh_pattern ^http://*.apple.*/.* 720 100% 4320 | |
| |
refresh_pattern ^ftp: 1440 20% 10080 | |
refresh_pattern ^gopher: 1440 0% 1440 | |
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 | refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 |
| |
| # TESTING: Caching everything like crazy! |
| #refresh_pattern ^http: 43800 100% 525600 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private ignore-auth |
| |
#catch all | #catch all |
refresh_pattern . 360 90% 1440 override-lastmod reload-into-ims | refresh_pattern . 360 90% 1440 override-lastmod reload-into-ims |
</code> | </code> |
| |
| ==== More details ==== |
| |
| To make the cache more aggressive, **<nowiki>(\?|$)</nowiki>** is used. By adding **/?**, this caches objects when the URL ends in **?** (example abc.css?). Typically a ? is used to indicate dynamic content, and is also used to instruct caches to NOT cache those objects, so be careful using this. |
| |
| It is OK to ignore the **?** after objects like jpgs and css, and many times js. These objects are static content, and most of the time they do not change and can be cached for long periods of time. Caching these kinds of objects is great, because it reduces the number of requests you make to the web. |
| |
| The **$** option is also used. This means its the end of the string, so \.jpg$ just matches an object with .jpg at the end of the URL. |
| |
| A catch all is used. The function of this rule is to match any requests that have not already matched the rules above. Be careful here, because this rule can/will cache dynamic content. |
| |
| The default pfsense Squid catchall exists in the default config already, however, the built-in config is not editable (as far as I understand). It will always revert to default (let me know if you know how to change that). Thus, to work-around the catch all at the bottom of the “Custom refresh_patterns” is added. |
| |
---- | ---- |