Skip to content

Releases: xtaci/kcptun

support `-tcp` option for linux

15 Jul 06:02
Compare
Choose a tag to compare
  1. 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, require root 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

14 Jul 10:33
Compare
Choose a tag to compare
  1. 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, require root 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

11 Jun 13:12
Compare
Choose a tag to compare
  1. bugfix for issue: #686
  2. 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

15 May 03:13
Compare
Choose a tag to compare
  1. less memory usage in smux
  2. less memory usage in kcptun bi-directional copy
  3. sendmmsg() is enabled in linux 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

28 Apr 07:05
Compare
Choose a tag to compare
  1. 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

24 Apr 05:42
Compare
Choose a tag to compare
  1. 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)
  2. Memory optimization in smux, abandoned bytes.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"

18 Apr 05:58
Compare
Choose a tag to compare
  1. 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

01 Apr 13:54
Compare
Choose a tag to compare
  1. 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

25 Mar 04:00
Compare
Choose a tag to compare
  1. 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

21 Mar 18:31
Compare
Choose a tag to compare
  1. 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