Using Google Chrome’s Compression Proxy for every browser

I recently found a way to use Google Chrome’s Compression Proxy (which currently only available for mobile (Android/iOS) user) for desktop purpose and for every browser.

I take the inspiration from an Unofficial Google Chrome Compression Proxy plugin/extension for Google Chrome (which you can install and use it easily in only Google Chrome browser) here (background.js).

The trick is so simple: This compression proxy is just like an usual web proxy (located at, and we might set it using proxy configuration provided by every browser. But it is not that simple because if you do this, Google Proxy will just replying a “Bad Gateway” response. To overcome this, we need to insert a custom Proxy-Authorization (which I took from background.js source code) every time we connect to an HTTP server.

How the hell we can do that? Not so simple because the only way I know to do this is to create a custom squid3 server which act as http trafic interceptor and will forward every http traffic (with an inserted header) to Google Proxy. So if you want through with this, follow this not-so-easy steps. But if don’t, stick with Google Chrome Compression Proxy plugin/extension for Google Chrome I provided above :

  • Install squid3. You are lucky being a Ubuntu/Debian Linux user because you can just do apt-get install squid3. For other OSes, Google to find the way.
  • Edit and replace /etc/squid3/squid.conf (or any other similiar path in Windows/Mac OS) with this very basic squid3 configuration here (backup the previous one) :

http_port 3128
cache_dir ufs /var/spool/squid3 100 16 256
cache_mgr local@localhost
access_log /var/log/squid3/access.log combined

http_access allow all

cache_peer parent 80 0 default
request_header_add Proxy-Authorization "SpdyProxy ps=\"1390372720-748089166-1671804897-22716992\", sid=\"95b3da26c6bfc85b64b4768b7e683000\"" all
  • Save the file and restart the squid3 server by using service squid3 restart in Debian/Ubuntu Linux (or any other method in your OS).
  • Open Firefox (or another non Google Chrome browser to prove my point), set ONLY your http proxy to port 3128.
  • Open []] to prove that you are using Google Proxy, not from your ISP.

No, I am not in Vietnam.

Yeah, this thing is very experimental. In my experience, I need to restart Squid3 every hour to ensure that the traffic still going through Google. FYI, this thing won’t compress your HTTPS connection because it not supposed to be compressed (but encrypted). And this experiment doesn’t use any special SPDY-based method so it just very plain HTTP/1.1 based connection.


  1. hector gonzalez

    I followed every single step here and the only problem that I found is that the is actually telling me that it is in fact a google server but it doesn’t detect the type of service I’m executing on the proxy. I’m using debian 8 with data saver extension

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *