Jedisocks is a tunnel proxy with TCP connections multiplexing on a single TCP connection. This project is still under development.
NOTE: Jedisocks is based on libuv. So, before compile this project, make sure libuv was successfully installed:
$ git clone https://github.com/libuv/libuv.git
$ cd libuv
$ sh autogen.sh
$ ./configure
$ make install
Then,
$ git clone https://github.com/csujedihy/jedisocks.git
$ cd build
$ cmake ..
$ make
js-[local|server]
-c <config_file> Path of configuration file that is written in JSON
-r <server_host> Ip address of your remote server
-l <local_host> Ip address of your local server
-p <local_port> Port number of your local server
-P <remote_port> Port number of your remote server
-V Enable verbose log
We use almost the same config file as shadowsocks do but add new arguments.
{
"local_address":"0.0.0.0",
"server":"127.0.0.1",
"server_port":7001,
"local_port":7000,
"gateway_port":80,
"gateway_address":"192.168.0.200",
"backend_mode":0,
"pool_size":6
}
Read JSON file to load configuration.(Accomplished)- Implement a new map container to replace the current one used in this project.
- Add SOCKS5/HTTP compatible feature.
- Add encryption to bypass GFW.
- IPv6 support.
- Add flexible plugin system to extend functionality.
Add re-connect mechanism to long multiplexing connection.(Accomplished)
This software is partly based on projects below.
csujedi at icloud dot com