HTTPGate is a filtering HTTP gateway.

The original motivation for this software was to improve user's privacy when surfing on the web, but This can also be used in the same purpose as anti-filtering-proxy-proxy -- to avoid censorship etc.

This software is released under GPL (read COPYING.httpgate and COPYING for details). The NBCore subsystem is released with even more libreal license (read COPYING.nbcore).

HTTPGate is written in C, has small memory footprint and handles multible non-blocking connections in a single process. NBCore is used for the event loop which makes this non-blocking I/O system possible.

Current version is HTTPGate 1.0ß Personal Edition. The reason for "Personal Edition" is that currently HTTPGate blocks during DNS lookup, stopping all open connections on that time. Until non-blocking DNS queries feature is written into nbcore resolver extension the system is not fully usable in multi user environment.

Using the software

To use the software, the program must be compiled first (ATM there is no binary kits available. This should be fairly easy task (Compiles out-of-the-box at least on Linux (2.0.34) and Solaris (2.6) environments):

To compile the program, `cd' to the src -directory and enter `make' (`make sol' on solaris system). ATM the it will compile the DEBUG version and should be left as is for bug searching and informational output.

After compiling, choose a suitable free port number on your machine and give it as command line parameter to HTTPGate:

$ ./httpgate -port 7676

(Change `7676' to the port number you have chosen).

Now, launch your favorite Web browser and enter the following URL:

http://127.0.0.1:7676

(Change the port number to the one you choose before). As as security feature, the current HTTPGate "Personal Edition" binds its server socket to localhost (127.0.0.1) only, so no remote connections (with their potential security holes) are possible. You can, of course, outcomment that feature (at your own risk, as always) if you wish.

Now you are presented a www page where you can enter URL of a page you are interested. In a terminal window where you started HTTPGate you will see the HTTP headers filtered by HTTPGate (feature of this DEBUG version)...

The page ideas.html Shows an idea of a future HTTPGate launch page -- showing some features that may be possible to be added into HTTPGate. ATM there is no release dates for these features planned.


If you tested the software, and liked it, please send me an email note so that I know the interest for this program.
Tomi Ollila