Vodafone transparent proxy – BMI Javascript at 1.2.3.4
Vodafone UK appear to run a transparent proxy on HTTP connections through its network. This is most apparent when using a laptop via a mobile phone to access the Internet.
They inject HTML code at the beginning of most (but not all) webpages which forces the inclusion of an external Javascript file.
<script src="http://1.2.3.4/bmi-int-js/bmi.js" language="javascript"></script>
This code is used to replace on-page images with more highly compressed alternatives, presumably to reduce bandwidth usage on their network. This is most noticeable when browsing photo sites such as Flickr and Facebook albums.
The code seems largely well-behaved (although I have seen reports that it can break XHTML/XML documents, I haven’t experienced this personally) and is not a huge intrusion on my browsing experience … if anything it may help to speed things up, and keep my data bill down!
Still, if anybody is unaware of this occurring and is wondering why their photos look a bit rubbish, this is why!

December 21st, 2008 at 9:42 pm
this is not entirely accurate. the images are replaced by the proxy server, not the javascript. the javascript only allows you to “uncompress” them (revert to originals) by pressing a specific key combination. you can easily block the javascript by adding 1.2.3.4 to restricted sites and see what happens then.
May 2nd, 2009 at 12:27 pm
O2 are doing it as well and the response times are shocking and images are failing to load destroying any benefit to be gained from Google Maps
June 18th, 2010 at 2:06 pm
[...] source of the page shows that the Vodafone proxy messes with all web pages delivered over UMTS: It inserts some custom bmi.js JavaScript, apparently compresses each image, includes all referenced JavaScript and CSS files directly in the [...]
June 25th, 2010 at 6:59 pm
i got confused there for a second, i thought this was going to be about vodaphone offering a proxy service.. woops