Squid is a web cache and a proxy server application used speed up web browsing.
USE flags for net-proxy/squid A full-featured web proxy cache
||Adds support for loadable content adaptation modules (http://www.e-cap.org)|
||Enable ESI for accelerators, will cause squid reverse proxies to be capable of the Edge Acceleration Specification (www.esi.org)|
||Enable HTCP protocol|
||Adds transparent proxy support for systems using IP-Filter (only for *bsd)|
||Enables *BSD kqueue() support|
||Add LDAP support (Lightweight Directory Access Protocol)|
||Use app-admin/logrotate for rotating logs|
||Add mySQL Database support|
||Support for NIS/YP services|
||Adds transparent proxy support for systems using PF (only for *bsd)|
||Adds support for Quality of Service using netfilter conntrack - see qos_flow directive for more info|
||Add support for sqlite - embedded sql database|
||Adds support for dynamic SSL certificate generation in SslBump environments|
||Enables real Transparent Proxy support for Linux Netfilter TPROXY|
||Enable Web Cache Coordination Protocol|
||Enable Web Cache Coordination V2 Protocol|
emerge --ask net-proxy/squid
To start squid on boot:
rc-update add squid default
To start squid immediately:
rc-service squid start
Make sure the
ssl USE flag has been enabled. At the time of writing, Google Chrome, Chromium, and Firefox 30+ have support for SSL proxies. Unfortunately configuring them is not as straight forward as going into the options dialog of each respective browser.
Generate a self-signed SSL certificate, or use a CA to sign the certificate so it is trusted by all clients.
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -nodes
Edit Squid's config file located at /etc/squid/squid.conf, replacing the
http_port 3128 line with:
https_port 3128 cert=/etc/squid/cert.pem key=/etc/squid/key.pem
Set Firefox to manual proxy, and point it at
localhost port 3128 or
127.0.0.1 port 3128.
Custom error page icons
CSS controls the Squid icon on error pages. To insert a custom icon simply replace the link URL in /etc/squid/errorpage.css section #titles (as long as a 91x50 pixel image is used nothing else needs to be changed). To use a different size image make sure padding is .5 x height and padding left is exactly width of future image replacement.
Once modifications have been finished, restart the Squid service:
rc-service squid restart