Hello

WANProxy is a free, portable TCP proxy which makes TCP connections send less data, which improves TCP performance and throughput over lossy links, slow links and long links. This is just what you need to improve performance over satellite, wireless and WAN links.

WANProxy also supports optimizing SSH traffic specifically, in addition to other TCP protocols. WANProxy is the first WAN optimization software to support SSH WAN optimization.

As part of the work towards making WANProxy usable as a transparent proxy, a library version of the FreeBSD TCP/IP stack suitable for userland use has been developed, called libuinet.

Introduction

WANProxy is an open source general-purpose TCP proxy with built in support for a standard WAN optimization technique, dictionary compression. The dictionary compressor allows data sent over a proxied connection to be sent once normally, and to be translated into a series of references to previously sent data. Inspired by an algorithm proposed for use in rsync, this compression method is robust when faced with small changes in data, and performs well even with random data.

Originally developed to store periodic backups more efficiently, this software has proved viable for basic WAN optimization and has been packaged as WANProxy. In a basic configuration, WANProxy can be used to proxy traffic from a home or branch office to a data center, main office or other remote site. In some cases, you may want to use WANProxy to leverage high-speed Internet connectivity at a remote site. In others, you may just want your WAN link to a single server in a data center to be compressed.

In a typical deployment, you would run WANProxy as a 'client' at your home or branch office on a server or device that you will be pointing your client computers at, and point it at an instance of WANProxy running as a 'server' at your main office or data center. The server-side will be configured to know which host and port to connect to next, or to provide a SOCKS proxy, at your data center, home or main office.

Note that although the terms 'client' and 'server' are used here, WANProxy is protocol- and role-agnostic and readily supports connectivity to multiple peers, allowing for many-to-many network topologies, including use with ad-hoc and mobile networks.

Requirements

Right now WANProxy runs on FreeBSD, Mac OS X, GNU/Linux, some versions of Debian GNU/Interix and other Unix-like platforms.

If using GCC, GCC 4 of newer is recommended. Current versions of Clang and OpenCC also work, although currently Clang and OpenCC both produce slower code (although Clang has better static analysis and warning facilities.)

The build system requires GNU Make.

On a typical FreeBSD or Mac OS X install, no additional libraries are required (though FreeBSD systems will require GNU Make to build, but not run, WANProxy.)

On Linux systems, development packages for zlib, OpenSSL and libuuid are required.

Copyright © 2008-2013 WANProxy.org.