Merge pull request #1902 from fabianfrz/squid_update_cache

add update cache; closes #1691
This commit is contained in:
Ad Schellevis 2017-10-29 11:37:29 +01:00 committed by GitHub
commit 8334db3a7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 2 deletions

View File

@ -160,6 +160,18 @@
<help><![CDATA[Set the maximum object size (default 4MB when left empty).]]></help>
<advanced>true</advanced>
</field>
<field>
<id>proxy.general.cache.local.cache_linux_packages</id>
<label>Enable Linux Package Cache</label>
<type>checkbox</type>
<help>Enable or disable the caching of packages for linux distributions. This makes sense if you have multiple servers in your network and do not host your own package mirror. This will reduce internet traffic usage but increase disk access.</help>
</field>
<field>
<id>proxy.general.cache.local.cache_windows_updates</id>
<label>Enable Windows Update Cache</label>
<type>checkbox</type>
<help>Enable or disable the caching of Windows updates. This makes sense if you don't have a WSUS server. If you can setup a WSUS server, this solution should be preferred.</help>
</field>
</subtab>
<subtab id="proxy-general-traffic" description="Traffic Management Settings">
<field>

View File

@ -128,6 +128,14 @@
<ValidationMessage>Specify a positive number of second-level subdirectories.</ValidationMessage>
<Required>Y</Required>
</l2>
<cache_linux_packages type="BooleanField">
<default>0</default>
<Required>Y</Required>
</cache_linux_packages>
<cache_windows_updates type="BooleanField">
<default>0</default>
<Required>Y</Required>
</cache_windows_updates>
</local>
</cache>
<traffic>
@ -204,8 +212,8 @@
<Required>Y</Required>
</sslbump>
<sslurlonly type="BooleanField">
<default>0</default>
<Required>Y</Required>
<default>0</default>
<Required>Y</Required>
</sslurlonly>
<sslcertificate type="CertificateField">
<Required>N</Required>

View File

@ -311,6 +311,25 @@ coredump_dir /var/squid/cache
#
# Add any of your own refresh_pattern entries above these.
#
{% if helpers.exists('OPNsense.proxy.general.cache.local.cache_linux_packages') and OPNsense.proxy.general.cache.local.cache_linux_packages == '1' %}
# Linux package cache:
refresh_pattern pkg\.tar\.xz$ 0 20% 4320 refresh-ims
refresh_pattern d?rpm$ 0 20% 4320 refresh-ims
refresh_pattern deb$ 0 20% 4320 refresh-ims
refresh_pattern udeb$ 0 20% 4320 refresh-ims
refresh_pattern Packages\.bz2$ 0 20% 4320 refresh-ims
refresh_pattern Sources\.bz2$ 0 20% 4320 refresh-ims
refresh_pattern Release\.gpg$ 0 20% 4320 refresh-ims
refresh_pattern Release$ 0 20% 4320 refresh-ims
{% endif %}
{% if helpers.exists('OPNsense.proxy.general.cache.local.cache_windows_updates') and OPNsense.proxy.general.cache.local.cache_windows_updates == '1' %}
# http://wiki.squid-cache.org/SquidFaq/WindowsUpdate
refresh_pattern -i microsoft.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 129600 reload-into-ims
refresh_pattern -i windowsupdate.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 129600 reload-into-ims
refresh_pattern -i windows.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 129600 reload-into-ims
{% endif %}
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0