JaredYeDH / kcptun-asio

A kcptun based on c++11/asio, compatible with kcptun(golang)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Name

kcptun-asio -- A Secure Tunnel Based On KCP with N:M Multiplexing
kcptun-asio is based on C++11 and Asio, fully compatible with kcptun(go)

Synopsis

$ ./kcptun_client -l :6666 -r xx:xx:xx:xx:yy --key password --crypt aes --mtu 1200 --ds 20 --ps 10 --nocomp
$ ./kcptun_server -l :7777 -t xx:xx:xx:xx:yy --key password --crypt aes --mtu 1200 --ds 20 --ps 10 --nocomp

Features

  • reliable data transfering based on kcp protocol
  • support aes*/xor/xtea/none/cast5/blowfish/twofish/3des/salsa20 encryption
  • multiplexing
  • snappy streaming compression and decompression,based on google/snappy.The data frame format is frame_format
  • forward error correction
  • lower resource consumption

Build

Prerequisites

  1. asio
  2. cryptopp
  3. snappy

Unix-like system

  1. Get the latest code
$ git clone https://github.com/ccsexyz/kcptun-asio.git  
  1. Run build.sh
$ ./build.sh  

odd Windows

Fuck MSVC.

TODO

  • performance optimization(memory optimization & CPU optimization)  
  • improve smux

About

A kcptun based on c++11/asio, compatible with kcptun(golang)

License:GNU General Public License v3.0


Languages

Language:C 77.1%Language:C++ 22.5%Language:CMake 0.4%Language:Shell 0.1%