During school today, a fellow classmate was attempting to get past our district’s blocked content page by using a Proxy. He was unable to get a Youtube video to play because flash and javascript don’t play well with proxies.
The classmate was trying to get into Youtube, but of course, my school district believes that there isn’t enough educational content or it’s too much of distraction to allow normal access. Thus, proxies must be used.
Youtube, after using several different proxies, reported that the browser did not have Flash 9 installed (even though it did) and asked you to install it before you see the video. The other thing it says is that you don’t have javascript enabled. This clearly was the result of the proxy because prior to Monday, Youtube did work flawlessly and there were no changes Firefox since then.
According to PHProxy, there isn’t a good way to make javascript work. The best you can do, which isn’t very much, is to strip javascript, which in this cases, is the exact opposite.
Another problem facing many Web proxies is support for JavaScript.
Currently, therse is no such thing in PHProxy 0.5 but hopefully basic
support will be introduced for version 0.6. The best thing you could do
right now is to have the JavaScript disabled on your browsing options
as most sites degrade gracefully, such as Gmail.A third limitation for Web proxies is content accessed from within proxied
Flash and Java applications and such. Since the proxy script doesn’t have access
to the source code of these applications, the links which they may decide
to stream or access will not be proxified. There’s no easy solution for this
right now.
The readme file of PHProxy claims that even if javascript still worked on the page, it is possible that the flash may not have worked anyway. Of course, it doesn’t say all proxies suffer from this. I think a solution would be similar to the following list.
- Get html page with scripts (inline and external).
- In order, inspect each javascript (each refers to inline and external).
- If any URL rewriting to proxy form is required, do it, otherwise, take the script and put into your own file on your server. This is repeated for each script on the page.
- When the parse is done, re-parse the html, stripping all javascript. Then add the unified file.
That is a bit simple, but it’s a good start if it’s only a personal proxy and you have your own server. What about a CURL proxy?
Glype tends to perform better on youtube and others like metacafe. Check out our site for fresh proxy lists if your phproxies are not working right.