a disgusting cross-browser URL rewriting tool


ick-proxy is a utility which works with your web browser to rewrite specified kinds of URL before you visit them. For example, you could use it to ensure that whenever you follow a link to a BBC News article, you always see it in the high-graphics version (with "/hi/" in the URL) even if the link you followed was actually to the low-graphics version (with "/low/"). Or vice versa.

Other tools exist to do this type of job for particular web browsers. ick-proxy is the only one I know of which is not specific to a single web browser.

However, the mechanism by which it does so is utterly disgusting (hence its name). Briefly, it implements a custom web proxy which forges HTTP 302 redirections for any URL that needs rewriting, and provides your browser with a Proxy Auto-Configuration file which ensures that only URLs requiring rewriting are sent to that proxy. It does all this at the direction of a configuration script written in a small custom-designed language. For more details, see the documentation (links given below).

In spite of the sheer unpleasantness of this design, however, it seems to be basically robust: I have been running versions of it myself since 2004 and it's never caused me any trouble.

ick-proxy runs on Windows, Mac OS X, and Unix.



You can read the documentation for ick-proxy on the web here:

Manual for the Windows and Mac OS X versions
man page for the Unix version


A Unix source archive of ick-proxy is available here:


A Windows binary of ick-proxy is available here:


A Mac OS X disk image containing a Mac binary of ick-proxy is available here:


If you want to see the latest state of development, you can check the development sources out from my git repository:

git clone https://git.tartarus.org/simon/ick-proxy.git

Alternatively, you can browse the repository on the web, here.


Please report bugs to anakin@pobox.com.

You might find it helpful to read this article before reporting a bug.

Patches are welcome.

Also welcome (as mentioned above) would be any reports on whether or not ick-proxy works with MS Internet Explorer. I didn't manage to get it to work myself, but I only tried briefly, and it's entirely possible that the problem was me not configuring IE correctly. I would welcome a definitive report on whether or not it works, and how to set it up if it does.

(comments to anakin@pobox.com)
(thanks to chiark for hosting this page)
(last modified on Sun May 7 14:33:22 2017)