Contents |
Squid is ugly
Squid error pages are ugly, here's how you can change it.
Configuration
This assumes you already have a squid proxy installation which is up and running.
Squid is serving static pages on errors, denies or on other problematic situations. All those pages can be found in /usr/share/squid/errors/. The pages are stored in folders with language names. Those folders are actually the squid translated pages.
We can change the language squid serves pages by editing /etc/squid/squid.conf configuration file. Find the error_directory directive and change it's value to the path where your language files are stored.
error_directory /usr/share/squid/errors/Romanian
Ok, but this doesn't make Squid error pages prettier! To get this issue fixed you can edit every page inside the error pages directory to suit your needs, or, you can use sed!
Custom pages
Make a copy of your language folder first.
mkdir /etc/squid/pages/ cp -r /usr/share/squid/errors/Romanian /etc/squid/pages/
Now cause it is HTML the pages inside that folder are written in, we can use CSS to prettify those. Here's a simple sed usage to quickly search and replace the default squid error pages CSS tag with some custom CSS:
sed -i 's/<STYLE type="text\/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--><\/STYLE>/<STYLE type="text\/css"><!--BODY{width:70%; margin: 50px auto;font-family:Georgia,serif; color: #4a4a4a}a:link{color:#cc0000}a:visited{color:#666}--><\/STYLE>/g' *
Now edit again your squid config file and point error_directory to the new location of your error pages. Reload squid:
invoke-rc.d squid reload
Point a browser which uses you squid proxy to some impossible domain name. The resulted error pages are amazingly beautiful!
You can go further and customize your pages in any way you want. Good luck!