simple socks4-proxy in modern c++
SOCKS proxy is simple proxy server which implements well-known SOCKS4 protocol. It accept and multiplexes input and output streams in one thread. It supports half-closed TCP connections. Also default timeout on connection is one second.
Client Proxy Server
| | |
| 1. Connect -> | |
| | |
| 1. Hello --> | |
| | |
| | 1. Connect -> |
| <-- 1. Hello | |
| | |
| | |
| 2. Data -> | |
| | 2. Data -> |
| | |
| | |
| 2. Fin -> | |
| | 2. Fin -> |
| | |
| | <- 2. Data |
| <- 2. Data | |
| | |
| | <- 2. Fin |
| <- 2. Fin | |
This implementation depends on Boost.System, Boost.Asio, Google Log and Google
Tests. Make dependencoes are cmake, make and git. Google Test is included
into project dependencies as git submodule. So, to get sources one should clone
repo recursively.
git clone --recursive https://github.com/daskol/socks-proxy.gitAnd then one could start building as follows.
mkdir -p build/release
cd build/release
cmake ../.. -DCMAKE_BUILD_TYPE=Release
make -j2In order to install target binary to system path one should run following.
make install