A high-performance socks5 server implemented using C++20 asio coroutine and asiomp
-
"No Auth" mode
-
User/Password authentication
-
Support for the
CONNECT
command -
Support for the
UDP ASSOCIATE
command -
Support IPv4/IPv6 and DNS resolution
-
Only supports Linux platform
-
Using multiple processes and coroutines
-
Support daemon processes mode
-
Support docker-compose deployment
git clone --recurse-submodules https://github.com/xukeawsl/coro_socks.git
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
server:
# listening address (default 0.0.0.0)
address: '0.0.0.0'
# listening port (default 1080)
port: 1080
# when num == 0, use default worker_process_num
# when num == 1, use singal worker process mode
# when num > 1, use master-worker process mode
worker_process_num: 0
# work in daemon mode (default false)
daemon: false
protocol:
# keep alive time (default 30s)
keep_alive_time: 30
# duration for check keep alive (default 1s)
check_duration: 1
# enable username/password authentication (default false)
auth: false
# setting your username and password when enable auth
credentials:
- username: 'coro_socks_user1'
password: 'coro_socks_pswd1'
- username: 'coro_socks_user2'
password: 'coro_socks_pswd2'
git clone https://github.com/xukeawsl/coro_socks.git
cd docker
docker-compose up -d