Projects / ffproxy


ffproxy is a filtering HTTP/HTTPS proxy server. It is able to filter by host, URL, and header. Custom header entries can be filtered and added. It can even drop its privileges and optionally chroot() to some directory. Logging to syslog() is supported, as is using another auxiliary proxy server. An HTTP accelerator feature (acting as a front-end to an HTTP server) is included. Contacting IPv6 servers as well as binding to IPv6 is supported and allows transparent IPv6 over IPv4 browsing (and vice versa).

Operating Systems

Recent releases

  •  05 Jan 2005 16:47

    Release Notes: Support for HTTPS via CONNECT method was added. GNU autoconf is now used for configuration. Portability was improved and minor code cleanups were done. Changes after 1.6-RC2 include an updated README and manpages.

    •  31 Dec 2004 19:57

      Release Notes: This release uses GNU autoconf configure-style configuration. Portability has been improved (minor code cleanups and the addition of missing includes). HTTPS proxying is now supported via the CONNECT method.

      •  15 Jun 2004 13:50

        Release Notes: HTTPS proxying is now supported via the CONNECT method.

        •  18 Aug 2003 12:44

          Release Notes: Changes were made to allow transparent operation (see the section entitled ``Transparent Operation'' in the ffproxy(8) man page) and to allow keep-alive client-to-proxy connections. A configuration option to disable keep-alive was added. The documentation manual pages were updated accordingly.

          •  09 Aug 2003 19:27

            Release Notes: IPv6 binding support was added. Support for using the program as an HTTP accelerator was added. Compiling under Sun Solaris 8 is now supported. Comments are now allowed in db/ files. Code cleanups were made. More minor changes were made.

            Recent comments

            17 Jun 2009 22:24 florentcueto


            ffproxy doesn't support http headers which size is > 2048 bytes, causing some web sites to return http 400 errors (bad request) to your browser.

            But it's easy to fix.
            You have to update 2 lines of code in request.c:

            line 188 : char buf[2048]; ==> char buf[4096];
            line 293 : char buf[4096]; ==> char buf[8192];

            and recompile with "make"

            Please note this is a quick & dirty fix, but it's doing the trick !!



            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.