|
prox, a web simplifier proxy
01:10pm EDT, 26 Apr 2004
Having become increasingly fed up with the quirks in mobile and PDA versions of popular sites, I finally took matters into my own hands and threw together prox.
Prox is a normal CGI script which takes no parameters, but if you add a URL to its path like this:
http://yoursite/some-cgi-dir/prox.cgi/http://www.slashdot.org
or just
http://yoursite/some-cgi-dir/prox.cgi/www.slashdot.org
it will produce a simplified version of that site that is much less likely to crash your cell phone's browser while also retaining most of the functionality of the original site. It does this by making the following changes to the HTML:
- stripping out all images
- stripping out all tables
- stripping out all font modifier tags except bold
- replacing frames with Lynx-like links to the subframes
- replacing POST forms with GET forms (doesn't result in a working form every time, of course)
- removing comments, all unknown HTML tags, and redundant spaces, linefeeds, paragraph/line break tags, etc.
- removing most, but apparently not all, style information.
There's more yet to be done (I really would like to make an option to remove the first column of a table if it's less than 200 pixels wide or so, for example, to get rid of the now-ubiquitous navigation bars, and form support needs to be better) but this works surprisingly well. Just this morning I tried it in my regular web browser against a Google cache of a slashdotted page that wasn't coming up because of some image tags that referenced the page (even though I had images disabled) and it came right up.
The only issue I've had so far in the phone browser is the occasional spontaneous appearance of random 8-bit characters (A's with umlauts, mainly) interspersed with the output when there are lots of spaces. I haven't been able to duplicate this in anything else, so if you can, please email me. I suspect it's some Unicode thing that I'm not successfully stripping out of the page.
I realize "prox" has been used as the name for any number of other projects, and that it's a nickname for Proxomitron, but I don't really think of it as a project, just something I threw together for my own use and hoped someone else might find some use for it.
Speaking of which, prox is distributed under the terms of the GNU GPL.
back to main
|