Firefox autoproxy Support
Posted 2004 Dec 16One of my favorite things about Firefox is support for autoproxies via a javascript file. I don’t know how well-known this feature is (and when I see extensions like SwitchProxy, I worry that it is not). Basically, you can use javascript to examine a URL and decide whether or not to proxy requests to it and, if so, how and where. Below is an example that I use. Note that I use an ssh tunnel (listening on port 8080) to port-forward to my machine at home. My machine at home, in turn, runs TinyProxy.
<pre><code> function FindProxyForURL(url, host) { if (dnsDomainIs(host,"mail.yahoo.com") || shExpMatch(url,"*mail.yahoo.com*") || dnsDomainIs(host,"gmail.google.com")) { return "PROXY localhost:8080; DIRECT"; } else { return "DIRECT"; } } </code>
The code (API here) basically does comparisons on the URL and host and, if there’s a match, sends it to the proxy (or tries to connect directly on failure), otherwise it makes a direct connection. To use this in Firefox, put the code in a file called “autoproxy.js”, then go to “Connection Settings…” under the “General” preference and put your entry in the “Automatic Proxy configuration URL”. The format is like so:
file://<directory>/autoproxy.js
autossh -M 20000 -NnqxT -L 8080:127.0.0.1:8080 home