Mar 14, '03 10:01:00AM • Contributed by: dewit
The Squid web proxy can be run on OS X as a proxy server for those with a network of web users wishing to speed access to static web content and eliminate duplicate downloads. The Squid Manager GUI makes it fairly easy to manage Squid, but currently doesn't provide a way to enable it at startup. Mac OS X provides a mechanism for this called SystemStarter, which looks in /Library -> StartupItems for particularly configured folders and files to tell it what to start up and how. After a bit of pain (partly due to leaving my firewall running during testing and hence tripping over it), I have created a functioning StartupItem for Squid.
A caveat: the owners, groups, and permissions for Squid's files and folders need to be set properly for Squid to run successfully (and safely) as a service. There's plenty of documentation accessible from the Squid website and elsewhere on the web about this. Suffice to say that even if Squid runs fine for you when invoked via Squid Manager or the command line, it may not run as a service if permissions are not appropriate.
To set up the startup item, download Squid.sit [2.4K download], expand it, then put the resulting folder into /Library -> StartupItems (not the folder of the same name under /System). Also, check the content to be sure it's not some Trojan or other nasty (you are sufficiently paranoid to consider such a check necessary, I hope). The files are all plain text.
Another caveat: the files I've created assume that the Squid executable is in the default location of /usr/local/squid/sbin/squid and the config file for it is in /usr/local/squid/etc/squid.conf.You'll need to set up squid.conf appropriately as well. This is so site-specific, I won't even begin to offer advice on that. Again, the Squid documentation is helpful, and I've found that it writes pretty useful error messages to the cache.log file if things are not quite right.
[robg adds: I have not tested this one; a previous hint explains how to use Squid to get around firewall authentication problems.]