- A dictionary compressor / deduplication algorithm based on the proven
algorithm developed for the industry-standard rsync program and
extended to improve performance and throughput.
- Support for zlib-based stream compression inaddition to or
instead of the dictionary deduplication for maximum data reduction.
- A general-purpose TCP point-to-point proxying mechanism, which can listen
at your home or remote site on any TCP port and compress and forward data
to and from a remote proxy, file server or other TCP-based service. This
makes WANProxy especially useful when combined with leading cache
technology like Squid and Varnish.
- A SOCKS4 and SOCKS5 proxy server to allow you to easily tunnel all
Internet use through WANProxy.
- Written in C++ and developed and tested on a variety of standard Unix
and Unix-like platforms, with preliminary support for Windows. WANProxy
doesn't depend on any unusual operating system features and should be
portable to other platforms with minimal effort.
- Licensed under a 2-clause BSD license, making it suitable for inclusion
in both commercial and free software, as well as for individual and
professional use, all with no requirement to make modifications or source
available, and with no restrictions on redistribution.
- IPv4 and IPv6 support.
- Support for SSH optimization.
- A library, libuinet, which provides a
TCP/IP stack suitable for transparent proxying in userland.
- Support for both persistent on-disk and in-memory storage of
previously-sent data, configurable into user-specified cache
- An HTTP proxy server mode, minimal like the SOCKS support.
- More compression algorithms suitable for network streaming.
- A comprehensive CLI that provides central configuration and management
of WANProxy and other services, including at least one host OS, making
it even easier to deploy WANProxy as network infrastructure
- UDP and SCTP support.
For more specific development goals, see the TODO file in the WANProxy source
Also included in the source distribution are some related tools using the
same algorithms and frameworks that WANProxy uses. Some of these are used
for testing, others are purely utilitarian. More will likely be added in
the future. Any program meant to be run (as opposed to unit tests and
simple example code) is in the programs subdirectory.