[Privoxy-users] issue with gzip content-encoding and range queries

Thorsten von Eicken tve at voneicken.com
Wed Jun 29 07:05:25 UTC 2016

I've been running into problems with streaming media files on android 
devices. Specifically, seeking in mp3 files using range headers doesn't 
work. Using a stock install of 3.0.25 on debian I see the following. I 
bring up a page with some embedded audio player (for a podcast). I can 
play, but if I seek I get a very short sound burst and then the player 
jumps to the end. Disabling privoxy doesn't help. Going straight to the 
server (i.e. no proxy at all) works great too. Using desktop chrome 
works fine with privoxy.

I ran some tcpdumps and see that the requests have Accept-Encoding:gzip 
and the response has Content-Encoding: gzip
and Transfer-Encoding: chunked. When I seek in the audio the device uses 
range requests, for example, Range: bytes=9854244-.  I then added a rule 
to privoxy to drop the Accept-Encoding header 
(+crunch-client-header{Accept-Encoding}) and with that it all works 
great. I have had the same issue on other sites, so it's not a site 
specific problem.

Does this problem description ring a bell?

Steps to reproduce:
- install privoxy 3.0.25 beta from source on debian, stock config file 
(except I had to change the listening port)
- grab an android device with chome
- navigate to http://www.unlearnandrewild.org/listen/
- play the first podcast and a second or two after it starts seek 
forward by pressing into the bar
- the player will briefly display the time you seeked to and then jump 
to the end of the podcast

Sample request/response header:
User-Agent: stagefright/1.2 (Linux;Android 5.1.1)
allow-cross-domain-redirect: false
Range: bytes=9854244-
Host: deepgreens.org
Connection: Keep-Alive
Accept-Encoding: gzip

HTTP/1.1 200 OK
Date: Wed, 29 Jun 2016 06:30:42 GMT
Server: Apache/2.4.12
Last-Modified: Fri, 13 May 2016 21:48:31 GMT
ETag: "8ea08b6-197bfc3-532c03c60451b-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: audio/mpeg
Proxy-Connection: keep-alive

More information about the Privoxy-users mailing list