In keeping with our philosophy on free/open-source software, here you may periodically find a few bits and pieces that we have produced as part of our on-going work and have had the opportunity to make available for download under an open-source license.

HTTP Tunnel (version 1.4.0)

This is a small application for tunnelling an arbitrary TCP socket connection over HTTP. It can be used, for example, to tunnel traffic out from behind a restrictive firewall that only allows outgoing HTTP web connections.

NEWS: We are also now offering a commercial HTTP tunneling service based on this HTTP Tunnel software, called FireDrill. By using the FireDrill service you remove the need to run your own HTTP Tunnel server and can instead tunnel all traffic through our servers. As well as the existing freely downloadable Linux/Unix/OSX HTTP tunneling client the FireDrill service also includes a new client for Microsoft Windows users. For more information, or to try it out for free, please see the FireDrill homepage.

The latest versions of HTTP Tunnel / FireDrill include support for features such as:

The basic idea is that you run an instance of the HTTP Tunnel application locally in 'client' mode, that then connects out to another instance that you run at the remote end of the tunnel in 'server' mode. You then connect to the local client end of the tunnel with the application whose traffic you wish to tunnel, and all communications are then wrapped in HTTP. The tunnel may also go via a HTTP proxy, either explicitly or transparently.

Since all tunneled traffic is routed via the HTTP Tunnel server, a further side effect of this tunneling is that the client also gains an extra layer of anonymity on the Internet. This is due to the HTTP Tunnel server acting as a proxy to the client, and thus making it appear that the clients traffic actually originates from the servers IP address.

For more information please refer to the documentation included within the archive.

Older Versions

LibHTTPTun (version 1.4.0)

This is the cross-platform library used by both our HTTP Tunnel and FireDrill applications (see above) to perform their HTTP tunneling. With libhttptun it is possible for any application that wants to make use of HTTP tunneling to do so quickly and easily.

LibHTTPTun includes support for creating both self-contained full HTTP tunneling clients and servers, or alternatively the creation and use of so called "socket tunnels". Using socket tunnels an application can create either a client or server side HTTP tunnel and obtain back a socket reference (or multiple socket references at the server side). Those socket references can then be read from and written to just like a normal socket, but all data will be transparently sent over the HTTP tunnel.

Inside the libhttptun archive you will find directories for both C++ and C# versions of the library. The C++ version is designed for building and using on Linux, Solaris and OSX, although it should work just as well on any other POSIX platform. The C# version is designed for building and using with Mono on Linux, although it has also been successfully used without modification to the source within the Windows FireDrill application (built using Microsoft Visual Studio).

As well as the source code for the libhttptun library itself, the archive also contains a couple of simple example command line applications (testcli.exe and testsvr.exe) that demonstrate how to use libhttptun in a simple client/server situation.

For more information, including a brief overview of the library API, please refer to the documentation included within the archive.

Older Versions

Send mail to with questions or comments about this web site.
Last modified: 05/05/2013