shadowsocks-yamux-plugin
shadowsocks-yamux-plugin copied to clipboard
A shadowsocks SIP003 Plugin with connection multiplexor in YAMUX protocol
trafficstars
shadowsocks-yamux-plugin
A shadowsocks SIP003 (SIP003u) Plugin with connection multiplexor in YAMUX protocol
ClientA ----+
| N Connections
ClientB ----+---- sslocal ---- yamux-plugin-local
| |
ClientC ----+ |
| M (TCP) Connections
RemoteA ----+ |
| |
RemoteB ----+---- ssserver ---- yamux-plugin-server
| N Connections
RemoteC ----+
yamux-plugin could mulplex N TCP / UDP connections into M TCP tunnels, which N >= M.
Build
cargo build --release
Plugin Options
{
"plugin_opts": "outbound_fwmark=100&outbound_user_cookie=100&outbound_bind_interface=eth1&outbound_bind_addr=1.2.3.4"
}
outbound_fwmark: Linux (or Android) sockoptSO_MARKoutbound_user_cookie: FreeBSD sockoptSO_USER_COOKIEoutbound_bind_interface: Socket binds to interface, LinuxSO_BINDTODEVICE, macOSIP_BOUND_IF, WindowsIP_UNICAST_IFoutbound_bind_addr: Socket binds to IPudp_timeout: UDP tunnel timeout (default 5 minutes)tcp_keep_alive: TCP socket keep-alive time (default 15 seconds)tcp_fast_open: TCP Fast Openmptcp: Multipath-TCPipv6_first: Connect IPv6 first (default true)