4.0.6 But same question with later versions
Cannot get kcptun to work using the Shadowsocks windows plugin GUI
I have shadowsocks over kcptun working on windows by running kcptun from cmd.
The latest GUI for shadowsocks has incorporated plugins
How to fill in Plugin Options ? (please use the kcptun config from below as example)
Plugin : C:\kcptun\client_windows_amd64.exe
Plugin Options :
=======================================================
==While not part of the question, this is how I currently run kcptun from CMD
== running kcptun from cmd
== kcptun config, saved at C:\kcptun\kcptun_config.json
{
"localaddr": ":54321",
"remoteaddr": "185.123.456.789:12345",
"key": "Herekeyok",
"crypt": "salsa20",
"mode": "fast2",
"conn": 6
}
= I download the kcp windows exe, and save e.g.
C:\kcptun\client_windows_amd64.exe
= run
cmd.exe /k C:\kcptun\client_windows_amd64.exe -c C:\kcptun\kcptun_config.json
= also need to make a new instance of shadowsocks to connect to localhost:54321
Currently, the plugin options only set the option string as an environment key-value pair. This requires the plugin program reads specific environment setting.
A possible enhancement which perhaps be implemented to parse CLI arguments to the plugin directly: #1672
Please give a working example, for kcptun and/or simple obfs.
For windows kcptun
Plugin : C:\kcptun\client_windows_amd64.exe
Plugin Options : ????????????
Ok, So, am I correct.
It does not work with kcptun
So still need to use old way of running kcptun from cmd ?
It does work with obfs, details
Get obfs-local.exe from
https://github.com/shadowsocks/simple-obfs/releases
Plugin C:\obfs-local.exe
Plugin Options obfs=http;obfs-host=www.bing.com
I'm confused,Do you have kcptun?
You need use kcptun to use kcptun: https://github.com/shadowsocks/kcptun/
I used
https://github.com/xtaci/kcptun
https://github.com/xtaci/kcptun/releases
Its working fine, by running it from CMD line.
Just wanted to know if I could use it via plugin line option in shadowsocks, it would make it easier.
Shadowsocks for Windows ONLY support plugins if it's accord with SIP003 , For more info,Please read: https://github.com/shadowsocks/shadowsocks-org/issues/28
https://github.com/shadowsocks/shadowsocks-windows/issues/1368
quote
celeron533 commented on Sep 10, 2017
currently kcptun's implementation is not following SIP003. You cannot use it directly.
So, am I correct. It does not work with kcptun
So still need to use old way of running kcptun from cmd ?
Shadowsocks for Windows SUPPORT kcptun if you get from https://github.com/shadowsocks/kcptun/releases

EDIT:
Config should look like this:

You need rename client_windows_amd64.exe to kcptun.exe and put to shadowsocks.exe folder or you need change path and filename
If everything correctly, When you selected your server with kcptun, you can see kcptun.exe (or your kcptun filename ) in task manager.

thanks, I can confirm its working. Here are my notes.
Get kcptun (client_windows_amd64.exe) from
https://github.com/shadowsocks/kcptun/releases
Does not work with standard kcptun
https://github.com/xtaci/kcptun/releases
Filling in the fields on the Shadowsocks GUI
For Plugin, use path to client_windows_amd64.exe
For Plugin Options, see example below
e.g.
Plugin C:\client_windows_amd64.exe
Plugin Options mode=fast2;key=Herekeyok;crypt=salsa20
also need to make a new instance of shadowsocks to connect to
kcptun server listening port instead of shadowsocks port
e.g.
185.123.456.789:12345
where port 12345 is the kcptun listening port on the server
(not the ss listening port on the server you normally connect to)
EDIT: You can rename client_windows_amd64.exe to kcptun.exe
and put it in the shadowsocks.exe folder. This also works.
Plugin kcptun
Plugin Options mode=fast2;key=Herekeyok;crypt=salsa20
For obfs
Get obfs-local.exe from
https://github.com/shadowsocks/simple-obfs/releases
following SIP003 standard to pass parameters
Plugin Program C:\obfs-local.exe
Plugin Options obfs=http;obfs-host=www.bing.com
or
CLI non SIP003 standard
Plugin Program C:\obfs-local.exe
Plugin Arguments --obfs http --obfs-host www.bing.com
Again, need to make a new instance of shadowsocks to connect to the listening port of obfs-server, on the server. (not the ss listening port on the server you normally connect to)
===================================================
EDIT:
Since 4.0.10 There is a new field called Plugin Arguments, for CLI non SIP003 passing options.
e.g.
Plugin Program C:\client_windows_amd64.exe
Plugin Arguments --key Herekeyok --crypt salsa20 --mode fast2
or
Plugin Program kcptun
Plugin Arguments -c kcptun_config.json
Comment: kcptun.exe and kcptun_config.json in the shadowsocks.exe folder.
or
Plugin Program C:\client_windows_amd64.exe
Plugin Arguments -c C:\kcptun\kcptun_config.json
C:\kcptun\kcptun_config.json
{
"key": "Herekeyok",
"crypt": "salsa20",
"mode": "fast2"
}
SIP003
Plugin Program kcptun
Plugin Options mode=fast2;key=Herekeyok;crypt=salsa20
or
Plugin Program C:\client_windows_amd64.exe
Plugin Options mode=fast2;key=Herekeyok;crypt=salsa20
Most helpful comment
thanks, I can confirm its working. Here are my notes.
Get kcptun (client_windows_amd64.exe) from
https://github.com/shadowsocks/kcptun/releases
Does not work with standard kcptun
https://github.com/xtaci/kcptun/releases
Filling in the fields on the Shadowsocks GUI
For Plugin, use path to client_windows_amd64.exe
For Plugin Options, see example below
e.g.
Plugin C:\client_windows_amd64.exe
Plugin Options mode=fast2;key=Herekeyok;crypt=salsa20
also need to make a new instance of shadowsocks to connect to
kcptun server listening port instead of shadowsocks port
e.g.
185.123.456.789:12345
where port 12345 is the kcptun listening port on the server
(not the ss listening port on the server you normally connect to)
EDIT: You can rename client_windows_amd64.exe to kcptun.exe
and put it in the shadowsocks.exe folder. This also works.
Plugin kcptun
Plugin Options mode=fast2;key=Herekeyok;crypt=salsa20
For obfs
Get obfs-local.exe from
https://github.com/shadowsocks/simple-obfs/releases
following SIP003 standard to pass parameters
or
CLI non SIP003 standard
Again, need to make a new instance of shadowsocks to connect to the listening port of obfs-server, on the server. (not the ss listening port on the server you normally connect to)
===================================================
EDIT:
Since 4.0.10 There is a new field called Plugin Arguments, for CLI non SIP003 passing options.
e.g.
or
Comment: kcptun.exe and kcptun_config.json in the shadowsocks.exe folder.
or
C:\kcptun\kcptun_config.json
{
"key": "Herekeyok",
"crypt": "salsa20",
"mode": "fast2"
}
SIP003
or