Tagline wanted, apply within.

…all the good ones were taken

SquidMan Development History

Back in 2002, many services on the then-shipping version of MacOS X (10.2) did not work behind proxy servers that required authentication, yet the use of such servers was common in schools, universities and businesses to control and monitor internet use. In many cases, this was because the applications did not use the system proxy settings, and/or could not prompt the user for authentication information.

Even as recently as 2009, Safari did not always work well behind proxy servers that required authentication (I'm looking at you, iPhone Dev Center), and neither did many iPhone applications and system-level services that use web access.

I had already been playing with squid at the University that I work at, and knew that squid could be configured to talk to a parent proxy server. In addition, if the parent proxy required authentication information, the "child" instance of squid could be configured to provide it automatically. Thus, clients of the child proxy server do not need to provide any authentication information - their requests have the authentication information provided automatically when the child passes requests to the parent.

I figured that an effective way of getting around the limitation of MacOS X's spotty support for proxies requiring authentication would be to run a local squid server, configure it to talk to the parent with authentication, and then configure the MacOS network settings to use the locally-running squid instance - effectively interposing the local server between the clients and the corporate proxy.

This worked very well and suited me for some time, but as word got out a number of colleagues wanted me to install squid for them so that they too could use web resources more effectively.

Manually installing squid in each case got to be a bit of a pain, and the logical solution was to write an application that could handle both the installation of squid, and also its configuration. Hence, SquidMan was born (the name being a contraction of "squid manager").

SquidMan was my first attempt at writing a serious Macintosh application, and version 1 was released around November in 2002. It got plenty of testing by friends, and eventually I bit the bullet and decided to share it with a larger audience by releasing it to the general public.

I've continued to work on SquidMan (not as frequently as I would like), building into it more recent versions of squid, and also updating it to support more recent versions of MacOS X, and Apple's switch from PowerPC to Intel CPUs.

Today, with improvements to MacOS X, running a local squid instance is not as necessary as it used to be, but it still has its uses. Squid can provide content caching, which can speed up browsing in many cases - especially over slower links. Squid also provides excellent filtering and bandwidth management, although these are not supported in the SquidMan interface.

My goal today is as it was when I originally wrote SquidMan - to provide a simple way to install squid, and a simple interface to it that adapts it for use by individuals. Squid is a powerful program, and a SquidMan-like application to properly manage it in a corporate setting would be large and complex. It's not something I have the time or the inclination to work on at the moment... but maybe one day...
Tagline wanted, apply within.
Tagline wanted, apply within.
© 2010-2023 Tony Gray Contact Me