ick-proxy
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.
Caveats:
ick-proxy
is written as a program, in a C-like programming language.
Therefore, in order to use
ick-proxy
at all, you need to either be able to program or be able to persuade
someone else to write your configuration for you.
ick-proxy
to work with
Firefox,
Epiphany
and
Safari.
I have not got it to work with
Internet Explorer,
although I don't know for sure that it's impossible. I would welcome
a more thorough investigation of this.
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.