I received an email today from Johnny B. (Good?), in which I was asked a question about a Web service I provide, ProxyBuster.net. The email was:
My response is: None of those, actually. The “trick” is understanding how firewalls work. Most firewalls/proxies do one of a few things:
- Block by IP address.
- Block by domain name.
- Block by URL text.
- Block by file extension.
- Block by HTTP content type.
- Block by actual content type.
Let’s say you want to access Google’s home page (http://www.google.com/index.html). A firewall can:
- Block the IP address 18.104.22.168.
- Block the domain name, www.google.com.
- Block a URL that has “www.google.com” in it (as in http://www.google.com).
- Block all files ending in “.html”.
- Block all files that have the HTTP header content-type “text/html”.
- Block all files that are actually text files.
In this case the first three bullet items are effective, but the last three would limit your ability to use the Internet as a whole. Usually binary files (ZIP files, EXE files, etc) are restricted by the latter three types of blocks, and entire sites by the first three types of blocks.
So how does ProxyBuster do its magic?
First, if your firewall/proxy blocks the IP address, that’s not a problem to ProxyBuster, because you do not connect to the site directly. ProxyBuster connects to the site and reads your data, then provides it to you. Of course, if your firewall/proxy blocked www.proxybuster.net or our IP address, you’d be out of luck using our service because you wouldn’t be able to connect to it!
Next, ProxyBuster returns the file to you in one of a few formats. First, the file is sent to you as “download.aspx” — which is a very generic file name and file extension that would be too restrictive to block. (For example, blocking “.aspx” files would make it impossible to browse Microsoft’s Web site.) Next, we give you the option to receive the file with an HTTP content-Type header “text/plain” even if the file is not a plain text file. Last, if your firewall/proxy blocks binary files, we can send you the file in a text-encoded format (so it’s transmitted as a text file); all you need to do is decode it after you receive it (which does require a separate utility).
I hope this sheds some light to the inner workings of ProxyBuster!