Boost.Socks is a portable, low-level C++ library which provides containers and algorithms for implementing the SOCKS protocol described in the documents SOCKS Protocol Version 5, henceforth referred to as RFC 1928, SOCKS Protocol Version 4, SOCKS Protocol Version 4A, and the extensions described in RFC 1929, RFC 1961, and RFC 3089.
SOCKS is a protocol to exchange network packets through a proxy servers. A SOCKS server proxies TCP and UDP connections to an arbitrary IP address. SOCKS can be used as a circumvention tool to bypass Internet filtering to access content otherwise blocked, or to provide similar functionality to a virtual private network. The SOCKS5 protocol also provides authentication for this network traversal in RFC 1928.
Boost.Socks offers these features:
-fno-exceptions
,
detected automatically
The library requires Boost and a compiler supporting at least C++11. Aliases
for standard types, such as string_view
, use their Boost equivalents.
To use Boost.Socks as header-only; that is, to eliminate the requirement to link a program to a static or dynamic Boost.Socks library, place the following line in exactly one new or existing source file in your project.
#include <boost/socks/src.hpp>
Note | |
---|---|
This "header-only" configuration needs #define BOOST_SOCKS_NO_LIB #include <boost/socks.hpp> |
Boost.URL works great on embedded devices. It can be used in a way that avoids all dynamic memory allocations. Furthermore it is designed to work without exceptions if desired.
Boost.Socks is regularly tested with the following compilers:
The development infrastructure for the library includes these per-commit analyses: