Releases: xtaci/kcptun
Releases · xtaci/kcptun
support `-tcp` option for linux
- support
-tcp
option for linux(EXPERIMENTAL) . To enable tcp transmission, you should enable it on both client and server, supported only under LINUX with iptables, requireroot
privilege.
discussion on this release:
#696
$ go version
go version go1.12.7 darwin/amd64
$ uname -a
Darwin xtacideMacBook-Pro.local 18.6.0 Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64 x86_64
$ shasum *.tar.gz
cdcd760628b82420c231c132bec91fb4bae6ed1a kcptun-linux-amd64-20190715.tar.gz
b664b8dbfca78b33beeaac20acda595ce4ecc76a kcptun-darwin-amd64-20190715.tar.gz
1d2db7b5c27e8a93d53d8d319665ea5b5faa8e34 kcptun-windows-amd64-20190715.tar.gz
7a824478c80fe00d0372c8e35367d83d5ce1750c kcptun-freebsd-amd64-20190715.tar.gz
d712bf429dd3bd41338a55f88db952e0ae64bfec kcptun-linux-386-20190715.tar.gz
f99e5a26f519557c3758495a6823120502068b5b kcptun-windows-386-20190715.tar.gz
dce06f556d62584f1b9344d2af4710cb35ba384f kcptun-linux-arm5-20190715.tar.gz
d31f7e6531ac67d87fcc09916f6bed64c1b08bec kcptun-linux-arm6-20190715.tar.gz
f8988e747d4f5237a928966796b6a839960ac3ad kcptun-linux-arm7-20190715.tar.gz
054b157601fd83da4032334131a4a89fe2558052 kcptun-linux-arm64-20190715.tar.gz
94ed697dbe05fdc7302da4a4517bdd054057b0ab kcptun-linux-mipsle-20190715.tar.gz
2e43796922390c7f4022611f791bdd9d3d45b207 kcptun-linux-mips-20190715.tar.gz
$ date
2019年 7月15日 星期一 14时00分05秒 CST```
support `-tcp` option for linux
- support
-tcp
option for linux(EXPERIMENTAL) . To enable tcp transmission, you should enable it on both client and server, supported only under LINUX with iptables, requireroot
privilege.
discussion on this release:
#696
$ go version
go version go1.12.7 linux/amd64
$ uname -a
Linux DESKTOP-7FL7RC4 4.4.0-18362-Microsoft #1-Microsoft Mon Mar 18 12:02:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux
$ shasum *.tar.gz
89beb1c88422d6a73b6693f07290063f2fddf76d kcptun-linux-amd64-20190714.tar.gz
ea7219013ee7df42b431add0908f3c453d0d2108 kcptun-darwin-amd64-20190714.tar.gz
49ae80d62d2d68001a04dac3272de08985d7001c kcptun-windows-amd64-20190714.tar.gz
18a7310ad1da92fc5b35ab9d03a8c5985618fe41 kcptun-freebsd-amd64-20190714.tar.gz
b01221824e794bcd3f26246ea0c3af36649a2651 kcptun-linux-386-20190714.tar.gz
8faf525b847cda5c0f1022f1b496a2ecec770bd5 kcptun-windows-386-20190714.tar.gz
ba7f56218aa7ee3624aa839bf73a6217b87111a8 kcptun-linux-arm5-20190714.tar.gz
71f8830ee8a5b81006c3727e8d8237acd4ff2c5e kcptun-linux-arm6-20190714.tar.gz
c5c63a1e6f713c40368c41e670b59415ad725079 kcptun-linux-arm7-20190714.tar.gz
2fea43afbfe6eb133d8633042d33aca42e3a042a kcptun-linux-arm64-20190714.tar.gz
bdf95340c0bda0b940c0e35ed1d97f56062c6413 kcptun-linux-mipsle-20190714.tar.gz
2abf7c0fda32da7df277c9f0a80a71f5d38fca05 kcptun-linux-mips-20190714.tar.gz
$ date
Sun Jul 14 18:31:42 CST 2019
bugfix for old linux kernel
- bugfix for issue: #686
- verbose stream logging
$ go version
go version go1.12.5 linux/amd64
Build Log:
$ uname -a
Linux DESKTOP-7FL7RC4 4.4.0-18362-Microsoft #1-Microsoft Mon Mar 18 12:02:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux
$ shasum *.tar.gz
3c406d8b47c39ddfe5c3fa87c0c5d37edd1cba1c kcptun-darwin-amd64-20190611.tar.gz
471a80b7d8d9b781f94ce97e4036bdbc480960f9 kcptun-freebsd-amd64-20190611.tar.gz
f3edab217bb0e21e5c760f391701b1a8f3d76d92 kcptun-linux-386-20190611.tar.gz
cdd7340409c67ef779912b98f13a637a0c5723d1 kcptun-linux-amd64-20190611.tar.gz
f1150f7220ba7bf29e4527fa5766186449d61e7a kcptun-linux-arm5-20190611.tar.gz
31cdbccdc9ae8e32f79e3128146aebe3b49cab7b kcptun-linux-arm6-20190611.tar.gz
5a26953f89ab2fc6d1e035c32701fdb332c38e06 kcptun-linux-arm64-20190611.tar.gz
0412a021233454dae44ade859d54c2e70234c984 kcptun-linux-arm7-20190611.tar.gz
7f32e7d341708bf4d6982b7a2f9e43679c3beed6 kcptun-linux-mips-20190611.tar.gz
d4593b568921a93be73b747170421be8d417f1ea kcptun-linux-mipsle-20190611.tar.gz
1c267a990d626c75e7ce1e667dcb8027ef041772 kcptun-windows-386-20190611.tar.gz
6adc6f344434af4f8c3086ff7e1e1b30c7329b5e kcptun-windows-amd64-20190611.tar.gz
sendmmsg
- less memory usage in smux
- less memory usage in kcptun bi-directional copy
sendmmsg()
is enabled inlinux
distributions, sending batch data will be efficient.
$ go version
go version go1.12.5 darwin/amd64
SHA1SUM
$ ./build-release.sh
If you need reproducible build, export GO111MODULE=on first
905843f836cc728bef26e741abbf01bf64b73060 kcptun-linux-amd64-20190515.tar.gz
85c3f72eda6f0fb28d0b250217966611fb03fb4f kcptun-darwin-amd64-20190515.tar.gz
01acbe909febb3796e9b7a72958cb40202fec798 kcptun-windows-amd64-20190515.tar.gz
8e6ca70045de756cb9b2b51081f974e34b4eb366 kcptun-freebsd-amd64-20190515.tar.gz
dc024a3a6057675bc3d3fb8472e77a7f8c4ab875 kcptun-linux-386-20190515.tar.gz
1ad7595f096c9b5c3e517f57d819d8892f02dcf3 kcptun-windows-386-20190515.tar.gz
75de02895f1da60e42e1dac488ec3165c58ec3d7 kcptun-linux-arm5-20190515.tar.gz
f834cf62fc03c4739944ace27dd9a78e21b6a17e kcptun-linux-arm6-20190515.tar.gz
05de1c81af18c4f6968c71ea20d706a075be960b kcptun-linux-arm7-20190515.tar.gz
9855d59dd270a47a7d5d34ed680b369ed5377509 kcptun-linux-arm64-20190515.tar.gz
faacdef226fe1fbfa0914f7fdc0eed0ad4ebb8ca kcptun-linux-mipsle-20190515.tar.gz
fb754ae7f98cd4fc2081645b006faf14f95a7915 kcptun-linux-mips-20190515.tar.gz
Less memory usage
- Less memory usage and smarter slice operations
$ go version
go version go1.12.4 darwin/amd64
SHA1SUM
$ shasum *.tar.gz
885f31171c580cf5b950b84f6ae87b4d95f71e8f kcptun-darwin-amd64-20190428.tar.gz
395dffa2dbf75e28d33c743ab6a0be6b53c8a169 kcptun-freebsd-amd64-20190428.tar.gz
d9ca1c85e36844ea991747cb8c9ce0597b2e3eb2 kcptun-linux-386-20190428.tar.gz
d31b2b9e20e9234083d2b03645f03ec63e6590c8 kcptun-linux-amd64-20190428.tar.gz
3fa494ab55bc3b237880496284f0910776f6bd34 kcptun-linux-arm5-20190428.tar.gz
01a77ca76dcc5de9e1ed68bf1b605fcf65f14d78 kcptun-linux-arm6-20190428.tar.gz
59cc155c9a85f3be99ec89f77fa42a736e700c8d kcptun-linux-arm64-20190428.tar.gz
ea696d22aa277fb1d2a2f63132d66f30ee86abb7 kcptun-linux-arm7-20190428.tar.gz
66053b3095b1614e64fcfa6fa955758a9a940e16 kcptun-linux-mips-20190428.tar.gz
341386c35061b88bdc2a15b6e760236baf475744 kcptun-linux-mipsle-20190428.tar.gz
0d0aa0407ff6c71818240c3441fd1437ff853a44 kcptun-windows-386-20190428.tar.gz
528c34f65cbcbd5e1d9d0b75e642a85e073afef8 kcptun-windows-amd64-20190428.tar.gz
UDP receiving optimization for linux-based system
- Read() optimization for linux-based system by exploiting
recvmmsg
syscall in kcp-go, receiving incoming packets will be faster under heavy load. (linux kernel >= 2.6.33) - Memory optimization in
smux
, abandonedbytes.Buffer
for it's over-allocation, memory usage will be MUCH less.
$ go version
go version go1.12.4 darwin/amd64
SHA1SUM
$ shasum *.tar.gz
10021608d8aad592534839ad305c7958f0ab8994 kcptun-linux-amd64-20190424.tar.gz
dc2bf8e0a5f3ce538422e34e77710bd9db46e40a kcptun-darwin-amd64-20190424.tar.gz
243763e44411ede3a6ee4f7abcc8214bc31b5e5d kcptun-windows-amd64-20190424.tar.gz
6ab10ee9ba542fdde4e419abe37828a66243ec08 kcptun-freebsd-amd64-20190424.tar.gz
c2c402664d80772889d8ac0c210d5795a2f04cd1 kcptun-linux-386-20190424.tar.gz
258394c58e09b423f08d2a7f4c1d2e1635f0f464 kcptun-windows-386-20190424.tar.gz
6e016c968b8ac3aac1abb62b7d8c4b77293d8fcf kcptun-linux-arm5-20190424.tar.gz
ca4f4acc4bbb9e385672ae74d9416a985cf77273 kcptun-linux-arm6-20190424.tar.gz
a254455b098d68b2962591aeb65cc4667b7d7312 kcptun-linux-arm7-20190424.tar.gz
ff04543c72fea6fc48bef28172888b4d948a0ee0 kcptun-linux-arm64-20190424.tar.gz
ff7d3476551f0b5866d295a8cf5d3c37c0864373 kcptun-linux-mipsle-20190424.tar.gz
e973781ad8f58c6a92f84527e35b92f29944299c kcptun-linux-mips-20190424.tar.gz
Bugfix in smux relates to "broken pipe"
- Bugfix in smux relates to "broken pipe": xtaci/smux#48
Users using 0409 , 0416 should upgrade to this one, or you will face frequent "broken pipe"
$ go version
go version go1.12.4 darwin/amd64
SHA1SUM
$ shasum *.tar.gz
18470f581ffa07e2122d042054d40df776a4c95b kcptun-darwin-amd64-20190418.tar.gz
d062022ac9ed7335b245ee60040b02ce75e47ced kcptun-freebsd-amd64-20190418.tar.gz
e3507157654825d360dbfe5986718a5bd09df91e kcptun-linux-386-20190418.tar.gz
b83394d5d693a7386147ad29332f4f64fbaee42b kcptun-linux-amd64-20190418.tar.gz
363a859503bbbce962c55a1e1ca7ae9c5fa6eb01 kcptun-linux-arm5-20190418.tar.gz
afa128cbf98e04a5cf5fe198a1bda650d18e6ff1 kcptun-linux-arm6-20190418.tar.gz
5d5caa6728618fef813ce51628b3a680b261b2cc kcptun-linux-arm64-20190418.tar.gz
f407aec963d89cdc56acc54a7d16f246b8386885 kcptun-linux-arm7-20190418.tar.gz
ed440a33fc32b4b70201131e42222a2892dc807b kcptun-linux-mips-20190418.tar.gz
803ef4b4f4a3a8dd247cc9b4fd6e5a190b508004 kcptun-linux-mipsle-20190418.tar.gz
ec7bc4072314e114f0a5c2adcd84d91f0467eeba kcptun-windows-386-20190418.tar.gz
59ca23e8b5c554ae7d6ff20ecdb636ce58127ac3 kcptun-windows-amd64-20190418.tar.gz
Prevent RS decoder from allocating new bytes slice
- Prevent RS decoder from allocating new []byte, would be faster while decoding incoming packets.
$ go version
go version go1.12.1 darwin/amd64
SHA1SUM
812401099faaa2b8fa07ba66f87eaa9e29d07a39 kcptun-darwin-386-20190401.tar.gz
a950337ba1eb555b6e62e4d66932db23e524d1d7 kcptun-darwin-amd64-20190401.tar.gz
e0c14c06b9a9eeae657d285c2fda597f99dc1b46 kcptun-freebsd-386-20190401.tar.gz
2e7de54cbd1fbefa58f7c4a4b944813f4bf33347 kcptun-freebsd-amd64-20190401.tar.gz
ba99f0a5a988e06cc04796adb269058404b61861 kcptun-linux-386-20190401.tar.gz
5da71b643316fc3bf79d258f411862f7487f049e kcptun-linux-amd64-20190401.tar.gz
2fdd7b2e243c0cfb50d7e3b4166cde976af0a8c7 kcptun-linux-arm-20190401.tar.gz
341c087b0caee9cb3e060191ab8d79a30f402513 kcptun-linux-mips-20190401.tar.gz
6f4c1bb04d1227469945ffc0a0ba2e2f4773043a kcptun-linux-mipsle-20190401.tar.gz
575be785f781ae7245adcbbe7f456ccd620b65fd kcptun-windows-386-20190401.tar.gz
30ef4ffbbb4586c2bfa193373e600048ccb98d5c kcptun-windows-amd64-20190401.tar.gz
Allow access to `-smuxbuf` parameter for mitigation of HOLB
- Allow access to
-smuxbuf
parameter for mitigation of HOLB
$ go version
go version go1.12.1 darwin/amd64
SHA1SUM
6e85775903235c113ee61bed9e48ad589fdc5843 kcptun-linux-amd64-20190325.tar.gz
c10dd0c60a375be863d11dec8722470a4046be59 kcptun-linux-386-20190325.tar.gz
5e2a2c7e296d28eb2fb8f604fb17eb3d1870e078 kcptun-darwin-amd64-20190325.tar.gz
d1e2f3d76226dc7f9791040698e495399cf2c622 kcptun-darwin-386-20190325.tar.gz
af031eaae5fbdb922858469ad8e3d5ddad694918 kcptun-windows-amd64-20190325.tar.gz
21274c01346992c613febb71c88438f96572805b kcptun-windows-386-20190325.tar.gz
1b2c7232468e466f14abcadc0dd3d4dc00a794e2 kcptun-freebsd-amd64-20190325.tar.gz
8fd93ab7facf3af2c1659e86f80ccff3d7d842e3 kcptun-freebsd-386-20190325.tar.gz
22fd4fe4509426bd72ba750f6af759678387eac2 kcptun-linux-arm-20190325.tar.gz
d2669866130231da6245f888f7117fc5982dbcf7 kcptun-linux-mipsle-20190325.tar.gz
6e14a274c9c636f0cf0cfcb3bd44a4a68a915040 kcptun-linux-mips-20190325.tar.gz
1. Eliminated one memcpy in packet output
- Eliminated one memcpy in packet output
$ go version
go version go1.12.1 darwin/amd64
SHA1SUM
20f5989b8764fa247078e0a4fff191894b795128 kcptun-darwin-386-20190321.tar.gz
a5eb14a4bae5c9854647020670965ae5f5627624 kcptun-darwin-amd64-20190321.tar.gz
0075c15a64959cf3f3474615e20544c64cb548e9 kcptun-freebsd-386-20190321.tar.gz
442dd119f4f38d3229c0a6c947b5867bc58fc423 kcptun-freebsd-amd64-20190321.tar.gz
ba5d85c0fbad927b2ff6d509abe25fc25d1ed0b1 kcptun-linux-386-20190321.tar.gz
6e2eec2a8a0cf9aeee5a8836ce83336553aaee0c kcptun-linux-amd64-20190321.tar.gz
ccc8d802acfd04e11f1345b83ca0d3dcb3612599 kcptun-linux-arm-20190321.tar.gz
ce3d0dc2aecab76f04a962cf8da6ca5fc4644f8e kcptun-linux-mips-20190321.tar.gz
23fd515306b5b783cb055ff3171e5812659b91f9 kcptun-linux-mipsle-20190321.tar.gz
5a6960219b0f137525fa50a219f98d0e778eac72 kcptun-windows-386-20190321.tar.gz
19169822f132cf12f61d25ae720854bdfdc68616 kcptun-windows-amd64-20190321.tar.gz