CGIProxy 2.2.4

HTTP/FTP Proxy in a CGI Script

Home > Web Tools > CGIProxy


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

Subscribe to announcement list:

April 21. 2019

Help guide future development of CGIProxy by taking the new CGIProxy user survey! If you have ever used CGIProxy, or have installed it on a server (or tried to install it), please tell us how your experience has been. All questions are optional, but every answer you give us is helpful. We won't keep any personal information, but you can enter your email address if you want a response. Your responses will help us know how to best improve CGIProxy for all users, how to make the installation easier, etc. If you know anyone else that uses CGIProxy, please tell them about the survey too. Thank you so much for your help!

January 26, 2019

Released CGIProxy 2.2.4 . Major improvements include:

Note that as of version 2.2.3, the installation and upgrade processes are much easier than they used to be, especially for non-technical users. Please tell me about any problems you have, so I can fix them! The more I hear about any problems, the better these features will work in future releases. Also, please tell me if anything is confusing or unclear about the installation.

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 welcome all bug reports and fix those bugs when I have time, 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.2.4 (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

After installing CGIProxy on a server, 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-2019 James Marshall https://jmarshall.com/tools/cgiproxy/
Last Modified: January 26, 2019