A ShadowSocks' SIP003 plugin for relaying data in KCP protocol.
NOTE: Does not support standalone mode
+-----------+ +-----------------+ +-----------------+
| SS | -------------- | PLUGIN LOCAL | -------------- | SSKCP LOCAL |
| LOCAL | TCP LoopBack | TCP IN, TCP OUT | TCP LoopBack | TCP IN, KCP OUT |
+-----------+ +-----------------+ +-----------------+
|
|
| INTERNET
| UDP
|
+-----------+ +-----------------+ +-----------------+
| SS | -------------- | PLUGIN SERVER | -------------- | SSKCP SERVER |
| SERVER | TCP LoopBack | TCP IN, TCP OUT | TCP LoopBack | KCP IN, TCP OUT |
+-----------+ +-----------------+ +-----------------+
Use it like a normal SIP003 plugin.
$ cargo build --release
Plugin options passed in SS_PLUGIN_OPTIONS
are encoded in key-value pairs with URL encodes.
plugin
- Secondary plugin nameplugin_opts
- Options for secondary pluginmtu
- Maximum transmission unitnodelay
- Settrue
to enable nodelay modeinterval
- KCP internal state update intervalresend
- KCP resendnc
- Settrue
to disable congestion controloutbound_fwmark
: Linux (or Android) sockoptSO_MARK
outbound_user_cookie
: FreeBSD sockoptSO_USER_COOKIE
outbound_bind_interface
: Socket binds to interface, LinuxSO_BINDTODEVICE
, macOSIP_BOUND_IF
, WindowsIP_UNICAST_IF
outbound_bind_addr
: Socket binds to IP
Example:
- Furious mode
nodelay=true&interval=10&resend=2&nc=true
- Start a secondary plugin
plugin=obfs-local&plugin_opts=obfs%3dhttp%3bhost%3dwww.example.com
MIT