shadowsocks / kcptun-android

kcptun for Android.
GNU General Public License v3.0
572 stars 167 forks source link

建议出一个kcpraw的插件 #20

Closed lovepocky closed 6 years ago

lovepocky commented 7 years ago

https://github.com/ccsexyz/kcpraw

Mygod commented 7 years ago

It seems to me that doing so (kcpraw) is the same as simple-obfs, only slower.

lovepocky commented 7 years ago

Thank you for your reply

madeye commented 7 years ago

Actually, it's a clever way to avoid QoS, which is one of the limitations of UDP based kcptun.

However, current kcpraw requires dropping RST packets with iptables. On Android, unless you have a rooted device, kcpraw cannot work well.

I think maybe we can take advantage of userland netstack to avoid the dependency of netfilter? For example, https://github.com/google/netstack. @ccsexyz

Mygod commented 7 years ago

@madeye It seems to me that KCP is basically designed to reinvent TCP over UDP so that one can have better control over its parameters. Doing KCP over TCP has little benefits.

Also using netstack seems to require root as well.

madeye commented 7 years ago

@Mygod I think it may not be the real TCP? In theory, we can send SYN/ACK packets like UDP packets, which would play tricks with QoS. One limitation is kernel would get confused.

Mygod commented 7 years ago

@madeye I see. I'd be curious how well that work.

ccsexyz commented 7 years ago

Yet many people, including myself, don't have a rooted device.I don't think it‘s necessary to do so.

eromoe commented 7 years ago

+1 for kcpraw plugin. Does it on progress now ?

Mygod commented 6 years ago

Please continue the discussions at: https://discourse.shadowsocks.org/t/plugin-request-kcpraw/31

As for progress, I'm not working on it for now and for the foreseeable future so feel free to contribute.