Search

Linux - Disable ByteMobile Web Pages Alteration

Contents[Hide]

dropcap-bytemobile-compression

If you are using connexion sharing on a 3G mobile network, you may have noticed that your web pages are sometime looking different when browsing from your home ADSL connexion or from your 3G mobile data connexion.

On 3G mobile network, some pictures may look ugly and some pages may even be completly broken. This happened to me when connected on Bouygues Telecom 3G mobile connexion to administrate some Joomla site. Administration was completly impossible, most of the pages giving unexpected errors or even remaining blank.

This comes from the fact that some ISP are using some stream compression technics to save some bandwidth on their mobile network. Not all ISP are doing so, but it is quite common nowadays, especially in the area where 3G networks are saturated.

The most widepread is developped by ByteMobile and it can aggregate all CSS code, recompress all images (making them look worse) and even inject some javascript code. In short, it may create a big mess out of your pages !

This article explains how to get rid of these alterations and get back the unaltered web pages you are expecting from any neutral internet service provider. It deals with a client side approach (as a user) and a web site approach (as a webmaster).

With this setup, pages served from your home or office connexion and from your mobile data connexion should remain exactly the same.

1. How to detect ByteMobile Proxy Compression

You can easily detect that a page has been damaged by a Bytemobile alteration by inspecting its source code.

If you can see some links like :

your page has been modified on the fly using Bytemobile algorythm before being sent to your phone or laptop.

My french 3G mobile operator Bouygues Telecom is using it, but only on some parts of its network. After a quick analysis, I came to the conclusion that it uses this web page compression in heavy traffic zones like train stations, but not in the zones where traffic is lighter (suburbs, small cities, country side, ...).

2. How to Stop this Alteration

The official and most efficient solution to stop your mobile network operator from altering your web pages is to use aa official header value that stamps your web pages as not being able to accept any type of alteration.

When reading the Official W3C directives, it clealy states that a proxy must not do any type of transformation or alteration on pages when Cache-Control header is set to no-transform.

So we just need to setup this header to get rid of this plague ...

But, according to your need, there are 2 ways to do it :

  •   as a web user, you should configure your browser so that any page served to you is not altered
  •   as a webmaster, you should configure your web site so that everybody will get a nice and clean browsing experience on your site

2.1. On Firefox Side

As a internet user, you can configure Firefox to inject the header Cache-Control : no-transform for each and every page you visit. This will completly disable ByteMobile proxy compression for every site.

First thing is to install Modify Headers extension.

Next, you need to configure it to add the following rule :

  • Action : Add 
  • Name : Cache-control
  • Value : no-transform

 firefox-modify-headers-disable-compression

The green dot at the end of the rule indicates that the rule is enabled.

With this setup active, your web pages should not be altered anymore. These on the fly modifications are part of the past.

If you are a webmaster or a publisher of a web site powered by Joomla, you should also now be able to administrate it from a mobile data connexion. Your site backend should not be broken anymore !

2.2. On Your Web Site

If you are a web site owner and you realized that your site pages are broken by ByteMobile compression technic, you may want to disable any type of compression for every visitors, even if they have not configured their browser as explained ealier.

You can do it very easily but adding the same header directive Cache-Control : no-transform for every page served by your web site.

If you are running Apache, you can do it by adding the following directive to your site's virtual host :

/etc/apache2/sites-available/your-site

<VirtualHost *:80>
  ...

  # disable any proxy transformation
  Header set Cache-Control "no-transform"

  ...
</VirtualHost>

You just need to restart apache for this configuration to become effective.

Pages alteration for users who are browsing your site from a mobile network should be over. They should now enjoy a complete and unaltered browsing experience on your site, whatever browser and configuration they have.

 

Hope it helps !

Signature Technoblog

This article is published "as is", without any warranty that it will work for your specific need.
If you think this article needs some complement, or simply if you think it saved you lots of time & trouble,
just let me know at This email address is being protected from spambots. You need JavaScript enabled to view it.. Cheers !

icon linux icon debian icon apache icon mysql icon php icon piwik icon googleplus