CORS proxy browser is a proof of concept of how client-side web proxying can be done using Cross Origin Resource Sharing.
It allows you to fetch content of websites using
Access-Control-Allow-Origin: *
HTTP header, modifies it in place (e.g. removes
ad.doubleclick.net
ads) and redisplays the content in your own origin, where you have
total control over content, bypassing Same Origin Policy. All
of this is done client-side. In fact, the whole proxy is just a
single browser.html
file (apart from Flash fallback).
With this proxy browser you can redisplay modified content of other websites that use permissive CORS setup, potentially driving ad traffic from them. However, only public, non-authenticated content is displayed, as cookies won't work in this setup.
Just like any other browser. Enter URL into the
input field (http://sourceforge.net/
is a good
example) and press ENTER. If the target website uses
Access-Control-Allow-Origin: *
, it will load in a moment. The flying marquee at the top is a proof
that you're actually modifying content. If not, there will be an
alert with error. It will only work in Firefox,
Chrome, Safari and IE8+!
file://
protocol (Flash fallback won't
work from file://).
crossdomain.xml
?
crossdomain.xml
. But now, with CORS, it's possible without any addons,
HTML5-style. I've added an optional Flash-based fallback though,
because more websites now use permissive
crossdomain.xml
than CORS headers.
XMLHttpRequest
to fetch
that remote URL
Access-Control-Allow-Origin:
*
, I get that content. If there's an error and you agree, I try
with Flash-based fallback.
<form>
submissions supported?
GET / POST <form>
submission is supported just like navigating
<a href>
links. However, it's only a proof of concept, so complex AJAX
application will not work at all. Feel free to improve.
browser.html
, but of course, sure, look at my GitHub repo.
Loading
$url$
...
Could not load
$url$
$status$ $statusText$
Time | URL |
---|