CGIProxy 2.1.14

HTTP/FTP Proxy in a CGI Script

Home > Web Tools > CGIProxy

Donate


CGIProxy Home | News | Installation | Usage | Options | Limits | Disclaimer |
Latest Download | Security | FAQ | Changes | Translating | Online Demo (login "free/speech")

Note: Please install CGIProxy on a secure server, i.e. where the URL starts with "https" !! Otherwise, traffic between it and a user can be read by a filter in the middle, with potentially bad consequences. I should have made this more clear a long time ago.


November 13, 2014

Released CGIProxy 2.1.14, which has many bug fixes. Major sites are working again, and in all major browsers. Also, FastCGI support was fixed-- see the CHANGES file for details, and the updated installation instructions. Please report any bugs you find, so I can fix them!

Here's a more complete list of changes, including previous versions.

A list of past announcements is on the news page.

For your own safety, please read about security with CGIProxy.

Note that I'm once again welcoming bug reports and fixing those bugs, so please use the "Report a bug" link in the top form when you see errors. This is especially true of bugs when using any new features.


What it is, what it is

This CGI script (or other) acts as an HTTP, HTTPS, or FTP proxy. Through it, you can retrieve any resource that is accessible from the server it runs on. This is useful when your own access is limited, but you can reach a server that in turn can reach others that you can't. In addition, the user is kept as anonymous as possible from any servers. Common uses include: anonymous proxies, other personal uses, VPN-like functionality, and others. It's very simple to install, and very configurable.

When an HTML resource is retrieved, it's modified so that all links in it point back through the same proxy, including images, form submissions, and everything else. JavaScript and Flash apps are similarly "proxified". Once you're using the proxy, you can browse normally and (almost) forget it's there.

CGIProxy can run in four ways: as a CGI script, as a mod_perl script, as a FastCGI script, or with its own embedded secure HTTP server. Configurable options include text-only support (to save bandwidth), selective cookie and script removal, simple ad filtering, access restriction by server, custom encoding of target URLs and cookies, and more-- there are more than 70 options so far. It requires Perl 5.6.1 or later, but works better with a more recent version.

Download CGIProxy 2.1.14 (show source)

Of course, you must read the Legal Disclaimer before using this software.

Here's a demo (username "free", password "speech"), that lets you browse in the domains jmarshall.com, slashdot.org, whatismyip.com, and prismnet.com.

The original seed for this was a program I wrote for Rich Morin's article in the June 1996 issue of Unix Review.

Here are older versions, but don't use them anymore.


To Use

Visit the script's URL to start a browsing session. Once you've gotten a page through the proxy, everything it links to will automatically go through the proxy. You can bookmark pages you browse to, and your bookmarks will go through the proxy as they did the first time.


Limits and Bugs


Legal Disclaimer

Censorship is a controversial subject, and some governments and companies have rules about what information you should have access to. If you use my software to bypass rules that have been imposed on you, you assume all legal risks and responsibilities involved. I'm providing the software as a demonstration and teaching tool, and for when legitimate access is needed to non-accessible servers. I won't encourage you to break any rules, because I would get in trouble if I did. I can't prevent you from using this software in illegitimate ways, but I believe the value of it as a teaching tool is far too great to let a few miscreants ruin it for everybody.

Up to Web Tools page


© 1998-2014 James Marshall http://www.jmarshall.com/tools/cgiproxy/
Last Modified: November 13, 2014