kcptun

A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。N:M 多重化と FEC を備えた KCP に基づく安定した安全なトンネル。 N:M 다중화 및 FEC를 사용하는 KCP 기반의 안정적이고 안전한 터널입니다. Un tunnel stable et sécurisé basé sur KCP avec multiplexage N:M et FEC.

MIT License

Downloads
31
Stars
13.7K
Committers
19

Bot releases are visible (Hide)

kcptun - SMUX BUG FIX

Published by xtaci almost 4 years ago

  1. Fix in smux: https://github.com/xtaci/smux/issues/82

RECOMMENDED FOR UPGRADING

$ go version
go version go1.14.9 linux/amd64

$ date
Thu Nov 26 11:19:21 CST 2020

╰─$ ./build-release.sh
Setting GO111MODULE to on
7d95508d6a6a3e772f4ea33ea7df931a3df7eb90  kcptun-linux-amd64-20201126.tar.gz
e450b6fe181743589381017c77fc2bff3dad680d  kcptun-darwin-amd64-20201126.tar.gz
905dd9030ad270a209ab95c1a98db97c57ca30db  kcptun-windows-amd64-20201126.tar.gz
dcccdf04dd5f3f8648b55845b8bfdcf47520c26b  kcptun-freebsd-amd64-20201126.tar.gz
12b06bf7ecee26142f48a833211d856166124f43  kcptun-linux-386-20201126.tar.gz
bf74e53b7d38a4c8dd129d5b0108d2a32861e256  kcptun-windows-386-20201126.tar.gz
fc2f22e2e229d85aef5afd74e5092e88a82b3b68  kcptun-linux-arm5-20201126.tar.gz
029f9f82add48876def09f1a9dc76637e65832ac  kcptun-linux-arm6-20201126.tar.gz
158879e04c02cc37a98bd41318b2a2129c56a45d  kcptun-linux-arm7-20201126.tar.gz
904122019cb9ea5ea41f73f0ea18da8700d09fac  kcptun-linux-arm64-20201126.tar.gz
10851f05649f6b5b7d6163e1f5ab197bdeb8fae6  kcptun-linux-mipsle-20201126.tar.gz
6c57856bc567a55f540a934b055dd6f477ee3e6b  kcptun-linux-mips-20201126.tar.gz
kcptun - Adaptive FEC

Published by xtaci about 4 years ago

  1. client & server can choose different -datashard -parityshard to communicate with the help of FEC auto-tuning in https://github.com/xtaci/kcp-go/releases/tag/v5.6.1
$ go version
go version go1.14.9 linux/amd64

$ date
Sat Oct 10 11:53:41 CST 2020

╰─$ ./build-release.sh
Setting GO111MODULE to on
671d4c7432a89c3ed86b2abb4de43bc71123fe42  kcptun-linux-amd64-20201010.tar.gz
c0dbf284d15db5e8ee47e15d354b7d818932101c  kcptun-darwin-amd64-20201010.tar.gz
9714123d8c630a55ecd391094eb89efc7546b9fc  kcptun-windows-amd64-20201010.tar.gz
e542812b762c116cb49ac40cbee92a1f7a0fffae  kcptun-freebsd-amd64-20201010.tar.gz
7ac790f67a165ee52160f1f354bca9708084c40b  kcptun-linux-386-20201010.tar.gz
d33b8848ddbf2d51f01efc22e5623cb673378fe7  kcptun-windows-386-20201010.tar.gz
6fb46d365ac16f9576f74464099ede428f066fc2  kcptun-linux-arm5-20201010.tar.gz
d009d3fb7ab11ee4ea646100c00ad3009cbd8d5d  kcptun-linux-arm6-20201010.tar.gz
db8647e4dde946a372b73085fa4db08f92c1b1fd  kcptun-linux-arm7-20201010.tar.gz
346806c92f938aebf5081a79a079e1e4061cc56c  kcptun-linux-arm64-20201010.tar.gz
e00309c4a6a61fe70649a4f63b93e05b4c4efcd4  kcptun-linux-mipsle-20201010.tar.gz
9cf3ad2bd5f80d761489e818fdd9fabfe83694af  kcptun-linux-mips-20201010.tar.gz
kcptun - Recompiled with go1.14.9

Published by xtaci about 4 years ago

  1. Recompiled with go1.14.9
$ go version
go version go1.14.9 linux/amd64

$ date
Wed Sep 30 19:15:36 CST 2020

╰─$ ./build-release.sh
Setting GO111MODULE to on
edf0a791a5bba996908bc040ed23f22d62629481  kcptun-linux-amd64-20200930.tar.gz
f368bfb006b13ca78f92c8fccec82879958ac985  kcptun-darwin-amd64-20200930.tar.gz
825b2c08b697b94ed668bc23e6c6dfd909a66975  kcptun-windows-amd64-20200930.tar.gz
7c5b00ae0073f176f084b0f501f35353449b01fe  kcptun-freebsd-amd64-20200930.tar.gz
a3253c0eec1602d07a6bcd00817171431b439ffc  kcptun-linux-386-20200930.tar.gz
0eddfdb3846540161e40865b92d62c67e0e58631  kcptun-windows-386-20200930.tar.gz
9912afcf45641dbbeeec85a756797e71383ddb5a  kcptun-linux-arm5-20200930.tar.gz
60cd0e84903f78580e909b0303622856929de0dd  kcptun-linux-arm6-20200930.tar.gz
08f7f710e31ddd5f5f0b75144d05e268557379af  kcptun-linux-arm7-20200930.tar.gz
3dfe8d719ef9c37821040e79b9e3e674ca4526c7  kcptun-linux-arm64-20200930.tar.gz
6c6d2df343b19a220a2989132d9feb120ff3c2cf  kcptun-linux-mipsle-20200930.tar.gz
72fe68f3a6e4e541dc7da14a97023e9e559c9843  kcptun-linux-mips-20200930.tar.gz
kcptun - Improved sliding window

Published by xtaci over 4 years ago

  1. Improved sliding window
$ go version
go version go1.14.3 linux/amd64

$ date
Wed Jul  1 18:20:27 CST 2020

╰─$ ./build-release.sh
Setting GO111MODULE to on
70362a2006b155282db6483e314285c45ab240b8  kcptun-linux-amd64-20200701.tar.gz
00b22f95f81c336df331c804f6a917425a57da6c  kcptun-darwin-amd64-20200701.tar.gz
7f67c7f295e2bda2bdb683949b13c1c7a8600868  kcptun-windows-amd64-20200701.tar.gz
12d6a7b3ff3c3cf8759000745519726cba31d0df  kcptun-freebsd-amd64-20200701.tar.gz
459c67158ceaa478bad72bb1be0f16fca1ceb340  kcptun-linux-386-20200701.tar.gz
3bb3f34737637988c0d218501bda08517af8cd03  kcptun-windows-386-20200701.tar.gz
3042d316660242e7cc63a86be3d9af312cccf61e  kcptun-linux-arm5-20200701.tar.gz
d8c60226094c9c51cda7745dd2e3edf680223ce6  kcptun-linux-arm6-20200701.tar.gz
7408f8baed3b1f87037e97a6c48ecfef7f9638c2  kcptun-linux-arm7-20200701.tar.gz
15362ffaea0a6ba937bc4e9b3e32d52e3a250966  kcptun-linux-arm64-20200701.tar.gz
1de7af37eda1d2e50b8639af58abeb5353855cc5  kcptun-linux-mipsle-20200701.tar.gz
50099dea5b555a916ea401e5a4000e21ffcffa03  kcptun-linux-mips-20200701.tar.gz
kcptun - Recompiled with golang1.14.2

Published by xtaci over 4 years ago

  1. Fixed golang deadlock: https://github.com/golang/go/issues/38023
  2. Fixed mips startup failure: https://github.com/golang/go/issues/38005
$ go version
go version go1.14.2 linux/amd64

$ date
Thu Apr  9 11:03:08 CST 2020

╰─$ ./build-release.sh
Setting GO111MODULE to on
5be122f1144c2b221ba8ca4cac8c8be11fa73bd0  kcptun-linux-amd64-20200409.tar.gz
1279b56e64fd26d9b0d582f3a57cc7a3664bd689  kcptun-darwin-amd64-20200409.tar.gz
3c9a66269e548e020840b342ef9b1d9515a21bf1  kcptun-windows-amd64-20200409.tar.gz
bb501006da3f018596fb7f1cab3fc1612f320a32  kcptun-freebsd-amd64-20200409.tar.gz
24022966888eb3a803fe5a6680cab03572ae9853  kcptun-linux-386-20200409.tar.gz
cb8ab3d22aa8807daccfc2ee65be58dce119b016  kcptun-windows-386-20200409.tar.gz
17dbd0d8323c09bd72f918f045073f653d63bac1  kcptun-linux-arm5-20200409.tar.gz
a2851ee2c2650e51006fa9a37bf1ef67dd790989  kcptun-linux-arm6-20200409.tar.gz
1f43329b31a9dac836e4416a5261f57dc1bb49fa  kcptun-linux-arm7-20200409.tar.gz
1faab4f0caff66282165525a744feb7921498427  kcptun-linux-arm64-20200409.tar.gz
900fe86870b793cca84d9c827902227e14859e6c  kcptun-linux-mipsle-20200409.tar.gz
8f7580f35ee681a48674814afdbd59edf0448c99  kcptun-linux-mips-20200409.tar.gz
kcptun - A bugfix in kcp-go

Published by xtaci over 4 years ago

  1. Fixed a bug in https://github.com/xtaci/kcp-go/releases/tag/v5.5.5
  2. Upgraded scheduler in kcp-go for efficiency, https://github.com/xtaci/kcp-go/blob/master/timedsched.go
$ go version
go version go1.13.7 linux/amd64

$ date
Sat Feb  1 17:37:46 CST 2020

$ ./build-release.sh
Setting GO111MODULE to on
4b41d537e20e1928808f908c8c150771f67260c2  kcptun-linux-amd64-20200201.tar.gz
c17a7a62ad873bbd5a789887323de43d47f537f3  kcptun-darwin-amd64-20200201.tar.gz
ca208bae0b3290398f943e66adf0b0cae845a71d  kcptun-windows-amd64-20200201.tar.gz
2d189a2e8beac1d1849c95ad595d47c8e7d5315f  kcptun-freebsd-amd64-20200201.tar.gz
4510983a631b61f217fe34dad11d6e8daecc6674  kcptun-linux-386-20200201.tar.gz
975401ab765d653446fb9d0e7b380918c837a943  kcptun-windows-386-20200201.tar.gz
054fed21924cfdf93c0c58b99c5d98fa59faa743  kcptun-linux-arm5-20200201.tar.gz
2ea802a867e3a87bb58b132ea7854c0b80a90d09  kcptun-linux-arm6-20200201.tar.gz
641d5d84e1328914be664ad35d939f41171406ca  kcptun-linux-arm7-20200201.tar.gz
82a0e440e69c4cd74d1685996dc4eafeb4ade10f  kcptun-linux-arm64-20200201.tar.gz
ebbcf897f45d00d24e510d2de479cc6f1c54ca8d  kcptun-linux-mipsle-20200201.tar.gz
f8e604d9072423c764e7d2a0916fadd910f1b62f  kcptun-linux-mips-20200201.tar.gz
kcptun - Speed improvements on non-x86 core

Published by xtaci almost 5 years ago

  1. Encryption/Decryption speed improvement on non-x86 core. (+25% faster)
$ go version
go version go1.13.5 linux/amd64

$ date
Fri Jan  3 20:35:57 CST 2020

$ ./build-release.sh
Setting GO111MODULE to on
e57b5f8bac9c772b7926172d989f2d3444c1fcdf  kcptun-linux-amd64-20200103.tar.gz
c301968f980f0deaa6b0cf9cee29d464ce103161  kcptun-darwin-amd64-20200103.tar.gz
ca40e77d146dbb35fd68190c27c52fcaff17d2ab  kcptun-windows-amd64-20200103.tar.gz
d459927aa7a2fffadc51cef6680b8eed7257854d  kcptun-freebsd-amd64-20200103.tar.gz
e68baa8508e1a8fe615f5c26aa463817213adb77  kcptun-linux-386-20200103.tar.gz
2647fc8931777f6092672e812d931ec006020a99  kcptun-windows-386-20200103.tar.gz
009dcf0d2ab9c67b2b214007f28cee75490d1c47  kcptun-linux-arm5-20200103.tar.gz
a9fecc2b370da1ca4038a88c7c17c1f721349051  kcptun-linux-arm6-20200103.tar.gz
79e6b160011778bfcc147cfa2606f98995169655  kcptun-linux-arm7-20200103.tar.gz
adc652775016cd2eb24d642f7139bfa19332da4c  kcptun-linux-arm64-20200103.tar.gz
fc84ecabce5cfcae0fb29cc99e90db6d594806fe  kcptun-linux-mipsle-20200103.tar.gz
213ac323402235e49c798c500b816c44f6c5f059  kcptun-linux-mips-20200103.tar.gz
kcptun - Fixed a bug in previous release.

Published by xtaci almost 5 years ago

  1. Fixed a bug which possibly leads to speed issues in previous release.
  2. The last release of this decade.
  3. Compacted smux.
$ go version
go version go1.13.5 darwin/amd64

$ date
2019年12月29日 星期日 18时41分08秒 CST
$ ./build-release.sh
Setting GO111MODULE to on
d469e201c9dc269cb513852a2340ae77bef25436  kcptun-linux-amd64-20191229.tar.gz
9e9495dd512a9ad6350e7aa040def03ec2e976dd  kcptun-darwin-amd64-20191229.tar.gz
dbb941cbc7c9d7310550925d34568511ed6d788e  kcptun-windows-amd64-20191229.tar.gz
9626e63d135685a518d5ddf9bca7434ee9dbcbdf  kcptun-freebsd-amd64-20191229.tar.gz
8f88e4f7401ef640b244752aea0d1648b9ed59fc  kcptun-linux-386-20191229.tar.gz
d160fb300a54dec45d23757276fa807e99139696  kcptun-windows-386-20191229.tar.gz
9742db6e82bf3e4d19e0a62615722a70dd4273f1  kcptun-linux-arm5-20191229.tar.gz
2a8d230f0a697ca55a0ea3a26cc7d3b274a00014  kcptun-linux-arm6-20191229.tar.gz
f942f83b30a21ee99acf49655dd14bb3aa4577f9  kcptun-linux-arm7-20191229.tar.gz
0125fed24d82a2acf35db11a5741e5bb50b72088  kcptun-linux-arm64-20191229.tar.gz
58ffcf67d0cddb2f2596cc5016d31068329271ac  kcptun-linux-mipsle-20191229.tar.gz
566cf0082fc32ebafab4f0079dfc64a7103e2431  kcptun-linux-mips-20191229.tar.gz
kcptun - Bounded copy buffer among streams & goroutine optimization

Published by xtaci almost 5 years ago

  1. Under *nix, all tcp connections multiplexed on a single kcp connection via smux now share ONE buffer, instead of one buffer per one tcp connection previously. https://github.com/xtaci/kcptun/blob/master/generic/rawcopy_unix.go
  2. Eliminated ONE extra goroutine per connection.
  3. Fixed a possible error in smux.
$ go version
go version go1.13.5 darwin/amd64

$ date
2019年12月19日 星期四 16时46分24秒 CST

$ ./build-release.sh
Setting GO111MODULE to on
f7b80ce856945cb55609cc8d03471c799fd35b37  kcptun-linux-amd64-20191219.tar.gz
fa2f658ffca116ac969b9cdf9489ed4baf158513  kcptun-darwin-amd64-20191219.tar.gz
cab3df2634d5de6291b1f3479cb84f6bb4d40b0e  kcptun-windows-amd64-20191219.tar.gz
8978d80bcda04449c5c389823cca1e9234efb8ec  kcptun-freebsd-amd64-20191219.tar.gz
3160101f3e956b489e5fa9fd752a2b0ebb5750af  kcptun-linux-386-20191219.tar.gz
26831c9d28956993371b53c82d6e689709c77a4a  kcptun-windows-386-20191219.tar.gz
f057891af9a446d51aa06dbdf6c82e558c84103b  kcptun-linux-arm5-20191219.tar.gz
79121eae74842646ae33144d714fafb57605d15f  kcptun-linux-arm6-20191219.tar.gz
48745042ddf9bd3266d1f94b972503b33a216cd8  kcptun-linux-arm7-20191219.tar.gz
48c17c4c236f9af4da19899081f6290e7d71d67b  kcptun-linux-arm64-20191219.tar.gz
413d5c51f41e1216e0a5204c0de7f30cbcb9c67e  kcptun-linux-mipsle-20191219.tar.gz
c3deac74158ef02bd1167ed74e908bc2f08a7c90  kcptun-linux-mips-20191219.tar.gz
kcptun - Bounded copy buffer among streams

Published by xtaci almost 5 years ago

  1. Under *nix, all tcp connections multiplexed on a single kcp connection via smux now share ONE buffer, instead of one buffer per one tcp connection previously. https://github.com/xtaci/kcptun/blob/master/generic/rawcopy_unix.go
$ go version
go version go1.13.5 linux/amd64

$ date
Wed Dec 18 22:22:44 CST 2019

$ ./build-release.sh
Setting GO111MODULE to on
30f289462af0075b40872910527fb0d6f6163d60  kcptun-linux-amd64-20191218.tar.gz
3afe806b982f78589e64573af8e81a3e2b14ecca  kcptun-darwin-amd64-20191218.tar.gz
13754896ed940e9ecbe45f5dbf738604be5e1ff9  kcptun-windows-amd64-20191218.tar.gz
99705b48af0f7b428a6031ead99c6906dc503147  kcptun-freebsd-amd64-20191218.tar.gz
9bf5ecb96d6128c16afef08e610d0716ae436c50  kcptun-linux-386-20191218.tar.gz
60cfd11e5a5a2be857fe53033b634f7f8e581fad  kcptun-windows-386-20191218.tar.gz
b69fb31d9d7782fe46cd2a7c32c977b38bef29f2  kcptun-linux-arm5-20191218.tar.gz
631c18feacb4025d0588d50f6a8b0e8135dddc2c  kcptun-linux-arm6-20191218.tar.gz
ddc532decf50095dac67b92062b7d2b03e07b317  kcptun-linux-arm7-20191218.tar.gz
207e23805c19cfc4a138e50379f529976b8a5e8b  kcptun-linux-arm64-20191218.tar.gz
2d99837982df9c3ec829e4382cc3656f74eac3c3  kcptun-linux-mipsle-20191218.tar.gz
9dbe1915b95f7195d35459496884e85c7a64ac19  kcptun-linux-mips-20191218.tar.gz
kcptun - Optimize memory usage

Published by xtaci almost 5 years ago

  1. Optimize memory usage by implementing io.WriteTo in smux https://github.com/xtaci/smux/commit/97a567b7c6e63fc541e7c2f3e0b8219d1389e1f5
$ go version
go version go1.13.4 linux/amd64

$ date
Wed Nov 27 12:41:17 CST 2019

$ ./build-release.sh
Setting GO111MODULE to on
03fbd05048a3db0d253ceef1ddae0ff116b2bef6  kcptun-linux-amd64-20191127.tar.gz
53d54615372e97e6c9fc810d7ce192bcd273d70e  kcptun-darwin-amd64-20191127.tar.gz
1898dc0e332391ac06f78a9c3a9f562e283cb605  kcptun-windows-amd64-20191127.tar.gz
61730d06550d18f2bcc6b06290a5ae0ef30a1c77  kcptun-freebsd-amd64-20191127.tar.gz
aefb5b8958a806bce1b44cf6d2c87f6ca8c2cb2d  kcptun-linux-386-20191127.tar.gz
c684623d10e6c8e5312779d4bb69e16d90cdb98d  kcptun-windows-386-20191127.tar.gz
05dab8d415fac7933f912bcad298c0c5be14ade0  kcptun-linux-arm5-20191127.tar.gz
0ee8b3a387bfca58186583ccc3bab3ff53fcf4f1  kcptun-linux-arm6-20191127.tar.gz
73b9a261304883a424bbfaed212fca1b0e8edb1d  kcptun-linux-arm7-20191127.tar.gz
eb4a820a79683e9e624daac3a585459eb3665c27  kcptun-linux-arm64-20191127.tar.gz
b146f096b19609e03b4b7342231e3d67cb49d84e  kcptun-linux-mipsle-20191127.tar.gz
b31d5984d3c864eacc4b40b0f191a1ab668c3712  kcptun-linux-mips-20191127.tar.gz
kcptun - Optimize memory usage

Published by xtaci almost 5 years ago

  1. Optimize memory usage https://github.com/xtaci/kcp-go/issues/146
$ go version
go version go1.13 linux/amd64

$ date
Tue Nov 12 20:19:02 CST 2019

$ ./build-release.sh
Setting GO111MODULE to on
75ddf1f6b57b4ce7fb2c7ee662c54d7a68bd3d2f  kcptun-linux-amd64-20191112.tar.gz
b2d2f26a6f6169e1e2e93281c6b144845a48df82  kcptun-darwin-amd64-20191112.tar.gz
7a0fa76cb22c09d8c2d9ff2b62e1aad4c50b6371  kcptun-windows-amd64-20191112.tar.gz
b8e7e2a95f08c439812563a2678bfe2d7e04dd98  kcptun-freebsd-amd64-20191112.tar.gz
ae637be8219c490596140a526d7a5ae1b5d06470  kcptun-linux-386-20191112.tar.gz
261ada48f76d4a26c994be7991dc27adf09dd317  kcptun-windows-386-20191112.tar.gz
8c121fae025f2f528540da040bda87f107bfd132  kcptun-linux-arm5-20191112.tar.gz
ca0152cbca0fa56c6e9e6fcc19e47046c93e352d  kcptun-linux-arm6-20191112.tar.gz
ed09e6147047b0738c220cf53659c3ee2066e195  kcptun-linux-arm7-20191112.tar.gz
c4bf63382a75b4675a6127ec5f7d2449a74be179  kcptun-linux-arm64-20191112.tar.gz
95258bd7d37b224be4f94ec442e3ddb1d47d8655  kcptun-linux-mipsle-20191112.tar.gz
f18c877fd220d0331cdc27321ebb22d85b470247  kcptun-linux-mips-20191112.tar.gz
kcptun - Optimize memory usage

Published by xtaci almost 5 years ago

  1. Optimize memory usage https://github.com/xtaci/kcp-go/issues/146
  2. Fixed a race condition
$ go version
go version go1.13 linux/amd64

$ date
Sat Nov  9 22:35:28 CST 2019

$ ./build-release.sh
Setting GO111MODULE to on
de9ff808409d5bbe93a2b7a4c88e700be86cefdb  kcptun-linux-amd64-20191109.tar.gz
96de7b2223cddffde2acc35d7eb27d3f3d16b1b4  kcptun-darwin-amd64-20191109.tar.gz
6bb1216753f38d988f76e7463614ad6b11e2e9c2  kcptun-windows-amd64-20191109.tar.gz
0fbaf29b9ea236288e15cf66a4bff7f7e962545a  kcptun-freebsd-amd64-20191109.tar.gz
1d7964e3a2c02c0d136ea881e87f4bcde343790f  kcptun-linux-386-20191109.tar.gz
76fd40cd805212dee0a5fcc334b8c0895de09fa3  kcptun-windows-386-20191109.tar.gz
2f043cc39911df6525d87e0a4e069c94345279e9  kcptun-linux-arm5-20191109.tar.gz
bf787809e25bb0cbe7ce9afb1103dde391ddecab  kcptun-linux-arm6-20191109.tar.gz
73f4223d8eb7b685c5eee396b8fccdc10dbb30ac  kcptun-linux-arm7-20191109.tar.gz
e5324a69a891970271f3ac1699b274b5fb796cdb  kcptun-linux-arm64-20191109.tar.gz
2c84c5b8188000020b07b0ddfc174e5c49dd36c1  kcptun-linux-mipsle-20191109.tar.gz
7beac7ce378570fe52efe72dc5addbb96a9e1769  kcptun-linux-mips-20191109.tar.gz
kcptun - Optimize memory usage

Published by xtaci almost 5 years ago

  1. Optimize memory usage https://github.com/xtaci/kcp-go/issues/146
$ go version
go version go1.13 linux/amd64

$ date
Mon Nov  4 16:16:04 CST 2019

$ shasum *.tar.gz
00f03f3b9e7aa82cbf2383dca9633f8573452096  kcptun-linux-amd64-20191104.tar.gz
511a0fb2d9322a7af242882f988fb69cde78c192  kcptun-darwin-amd64-20191104.tar.gz
f72ab7d8742765189a6d623bf33677e91af78822  kcptun-windows-amd64-20191104.tar.gz
6c1b07ad8b5c56033003e42f9633e3972d2eb077  kcptun-freebsd-amd64-20191104.tar.gz
1ac9ac01f7e3a8495a571f51ba8e2cea4d29ac70  kcptun-linux-386-20191104.tar.gz
b0a82b3d142519281c12e1b0f6e64a81b314d58b  kcptun-windows-386-20191104.tar.gz
3ad3f370561fc0ac5425123c01e04d70c661f1f7  kcptun-linux-arm5-20191104.tar.gz
2814d18a4f656075f57ba87f50a365991c7e8e74  kcptun-linux-arm6-20191104.tar.gz
045e3859e907b1c17e5f6d1e8c221f6e06df6dc7  kcptun-linux-arm7-20191104.tar.gz
5448f325b0749d8a280ba7687132fc4a4f205432  kcptun-linux-arm64-20191104.tar.gz
a735f371fb5766d4432bde5f97d703274ecaf098  kcptun-linux-mipsle-20191104.tar.gz
432422e463004505f88b8345d647f4bc3e514a01  kcptun-linux-mips-20191104.tar.gz
kcptun - Support per-stream flow control and bugfix in KCP

Published by xtaci about 5 years ago

  1. New option -smuxver , default is set to 1 which is compatible with previous releases. Now you can set -smuxver to 2 to enable per-stream flow control to make back-pressure on the remote sender and prevent connections from starving. Adjust -streambuf to set per-stream max memory usage, eg: -streambuf 2097152.
    Related issues: https://github.com/xtaci/kcptun/issues/722, https://github.com/xtaci/smux/issues/18
    (Important note: smux version 1 and version 2 are not compatiblity, you need to upgrade on both sides to enable this feature.)
  2. Writable notification in kcp-go became more accurate.
  3. Fixed a bug in kcp, which may retransmit more segments than required. https://github.com/xtaci/kcp-go/releases/tag/v5.4.10

Recommended to upgrade

$ go version
go version go1.13 linux/amd64

$ date
Tue Sep 24 13:30:51 CST 2019

$ shasum *.tar.gz
8c9fe3dbfa13347bf9fc445aadecd374693ed58f  kcptun-linux-amd64-20190924.tar.gz
0ca047871be5b3fa1d8fde0d7f1a890b052e1aea  kcptun-darwin-amd64-20190924.tar.gz
2cbd7098af1c7c210a531fa80ace6d6fc68288af  kcptun-windows-amd64-20190924.tar.gz
13c306c66762250fc19e36c4ae55903eaaece12e  kcptun-freebsd-amd64-20190924.tar.gz
f33a6d40f01387d8e74b344b80e614e3981eb576  kcptun-linux-386-20190924.tar.gz
530d380a6e750991553466a44c1e64a53061a250  kcptun-windows-386-20190924.tar.gz
1841d8c1d04a825be57d702506e7123a9058256f  kcptun-linux-arm5-20190924.tar.gz
13de58842dd2f1b3feea17359d6ce674e5812c46  kcptun-linux-arm6-20190924.tar.gz
c92218c141b4138181de26568736f7647f4eab40  kcptun-linux-arm7-20190924.tar.gz
2b76c1431e785a81243f91dfa3def478a38e7e1c  kcptun-linux-arm64-20190924.tar.gz
e1dcbc5430717a90db49639e186206cbb3738474  kcptun-linux-mipsle-20190924.tar.gz
ce068bd04bfcf5ae9db6844d474fcac4d6619f32  kcptun-linux-mips-20190924.tar.gz
kcptun - Fair queue support in smux

Published by xtaci about 5 years ago

  1. When the sliding window is full which blocks packet sending, smux will prioritize to send data from the least sent stream. (You need to upgrade on the data sender.)
  2. when -tcp is specified, server will listen on both tcp & udp port.
$ go version
go version go1.13 linux/amd64

$date
Tue Sep 10 22:22:16 CST 2019

$ shasum *.tar.gz
abd95129c78bc1af7616229acc3cdcaebd0b27de  build/kcptun-darwin-amd64-20190910.tar.gz
f9e9e2d14a4a279928aa0c8adf90532aad7f6e49  build/kcptun-freebsd-amd64-20190910.tar.gz
d5e720fe0350835eb90f344ec4eedb7a21bd09b7  build/kcptun-linux-386-20190910.tar.gz
243b700560fdda0ea50f1b336ff3d1e7dedd1c0b  build/kcptun-linux-amd64-20190910.tar.gz
2ef93d4d14f6fa6d3cf6052b109f394336a39394  build/kcptun-linux-arm5-20190910.tar.gz
0f54526a0381f80c7bb60e51d679a2355c479c79  build/kcptun-linux-arm6-20190910.tar.gz
516719fc4a5fa018a3628777ac123c396f082f58  build/kcptun-linux-arm64-20190910.tar.gz
c55e64bd4293491dcc47920d2fb6e1f36a14a4c3  build/kcptun-linux-arm7-20190910.tar.gz
d973fc5d9ee96428709a31b1816db16a297f2877  build/kcptun-linux-mips-20190910.tar.gz
adb425ea7c2ddff625cc7b42559a8e97e36eaa30  build/kcptun-linux-mipsle-20190910.tar.gz
9f27b2d03e6be5b9c8b45a2c08335032cea88768  build/kcptun-windows-386-20190910.tar.gz
eb95ac0ee50e39f694a3436198ca2d7aa00231ad  build/kcptun-windows-amd64-20190910.tar.gz
kcptun - re-compiled with go1.13

Published by xtaci about 5 years ago

  1. re-compiled with go1.13
$ go version
go version go1.13 darwin/amd64

$date
2019年 9月 5日 星期四 13时57分31秒 CST

$ shasum *.tar.gz
7e7be8c8febfc9da7b7e9698c0b2d0b73f3e2aa1  kcptun-linux-amd64-20190905.tar.gz
5e1538045518dead74ea41ef9200bf04f2dedf03  kcptun-darwin-amd64-20190905.tar.gz
dbe307b5d943ba89d55f450221d892557af5302a  kcptun-windows-amd64-20190905.tar.gz
6f0270c309c08127fe62643ec61080ff0244d0eb  kcptun-freebsd-amd64-20190905.tar.gz
bafcc43c0b025c47573789a36f8aefd6dde8e3ca  kcptun-linux-386-20190905.tar.gz
2b874b6a174101f04c2fb12319ecbd1360341d25  kcptun-windows-386-20190905.tar.gz
bf012be364c43a2acfbf6a02ded337c3925e9c10  kcptun-linux-arm5-20190905.tar.gz
2d9dd5cec8c87362eeb839bc67c549fb25936fea  kcptun-linux-arm6-20190905.tar.gz
909472e3159f7c1abbcdf898af7543058a279ede  kcptun-linux-arm7-20190905.tar.gz
d94c12eed4a2e5ebab8e3c293a80b7f0465bc9ec  kcptun-linux-arm64-20190905.tar.gz
bde947601edc2c450cda21a2a84916a217bf53a1  kcptun-linux-mipsle-20190905.tar.gz
8abaaf57bc9a9bdfe75eb6b4d8ee69f17e83a8de  kcptun-linux-mips-20190905.tar.gz
kcptun - -dscp works with -tcp option now

Published by xtaci about 5 years ago

  1. -dscp option works with -tcp option now
    https://github.com/xtaci/kcptun/pull/704
$ go version
go version go1.12.7 darwin/amd64

$date
2019年 8月 9日 星期五 11时44分20秒 CST

$ shasum *.tar.gz
f455aec9ee4aa6025d79f752f5f19e3e11b08ba0  kcptun-linux-amd64-20190809.tar.gz
a36934fd9a9315a52208f2e909e0de8a1fde88a8  kcptun-darwin-amd64-20190809.tar.gz
047d320e58c56d0af91bb40c5a0a8db8c37a973b  kcptun-windows-amd64-20190809.tar.gz
20a2c8c5339df994fe38b1fcbfc93bd986089d1e  kcptun-freebsd-amd64-20190809.tar.gz
0ab8f53ad142f5836e772f996d66030356fa9928  kcptun-linux-386-20190809.tar.gz
d5855764854fef997c0fa0911ec38d02b0a7d048  kcptun-windows-386-20190809.tar.gz
904c377065a0bc0af682d6ab7f7adfda801a0716  kcptun-linux-arm5-20190809.tar.gz
910806ec0ed0bf025540021e48bb945a23a2ac60  kcptun-linux-arm6-20190809.tar.gz
94a1355552269b2ebae4a46ca5b559a6fc13516f  kcptun-linux-arm7-20190809.tar.gz
9b7b8f50f16310e4ead3a85c9fa3fee63a902dc2  kcptun-linux-arm64-20190809.tar.gz
9caa93152bd052c7cf667cce610d78e198a0b7be  kcptun-linux-mipsle-20190809.tar.gz
9ef274b53842c45935d63461f4db3c92b41dae5e  kcptun-linux-mips-20190809.tar.gz
kcptun - support on unix domain socket

Published by xtaci about 5 years ago

  1. on server side, you can specify -target path/to/unix/socket now, https://github.com/xtaci/kcptun/pull/704
$ go version
go version go1.12.7 darwin/amd64

$date
2019年 7月25日 星期四 12时12分08秒 CST

$ shasum *.tar.gz
7fc47ee1898d2576152bcb8079f86cb390c081b2  kcptun-linux-amd64-20190725.tar.gz
8c1aa94ac0d73771e8a1dde23caf02ecb6157f9a  kcptun-darwin-amd64-20190725.tar.gz
0357c34bfab5f410bcd4657ed0e9247520b581ef  kcptun-windows-amd64-20190725.tar.gz
b7a3485ecda68febe5712f935139247666d5eace  kcptun-freebsd-amd64-20190725.tar.gz
2b060b6cfdffab8d79b3abbd1e1c920fff90d500  kcptun-linux-386-20190725.tar.gz
e7819b09172ad87322d2c99b9b3588de79e6b8cd  kcptun-windows-386-20190725.tar.gz
d717bdf48d5258b7b738d7b1a9ee006afbe87dec  kcptun-linux-arm5-20190725.tar.gz
16e7c1a941cf1395ed8d48207533c456b3f5bd3e  kcptun-linux-arm6-20190725.tar.gz
54bc7509d6983c9db574b4c8b44e2c55c96534fd  kcptun-linux-arm7-20190725.tar.gz
22f2999d1e279eb3027a58c45b2939a7ad7b2f88  kcptun-linux-arm64-20190725.tar.gz
90089ab65a09a66af03b8c726d75e63ba7764581  kcptun-linux-mipsle-20190725.tar.gz
a1418562d4cad07c5bd2a1734bd07c04b2b54fc7  kcptun-linux-mips-20190725.tar.gz
kcptun - optimizations on linux `-tcp` option

Published by xtaci over 5 years ago

  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.
  2. adjust ack/seq follow scheme

discussion on this release:
https://github.com/xtaci/kcptun/issues/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
972645b7b3679ac262a7432d87a06c785e218808  kcptun-darwin-amd64-20190718.tar.gz
4f11a55741857870f90b5b32a5a50d788e3a2f7b  kcptun-freebsd-amd64-20190718.tar.gz
2d02a7c0c95c1377918715aaa6c6503d4418ff5b  kcptun-linux-386-20190718.tar.gz
28ebaae18d5d83890fb4ab6394a6d0400893cd5c  kcptun-linux-amd64-20190718.tar.gz
58b6b87f80d3255ab18c6fb1c0aad272f6be3591  kcptun-linux-arm5-20190718.tar.gz
cfa3359377c1ed6de5b1e0d42ce76a1a1132340f  kcptun-linux-arm6-20190718.tar.gz
69a02091c11332a27b1362bf8b14af14cad585fc  kcptun-linux-arm64-20190718.tar.gz
6d9a3a52ba4394b1293fd27e64d7367bb3c60783  kcptun-linux-arm7-20190718.tar.gz
f10669e6c8bc153d1a07caa4c85e77ba17966d2c  kcptun-linux-mips-20190718.tar.gz
94e493615294ca81c088bfcff33021d8d167c42a  kcptun-linux-mipsle-20190718.tar.gz
ac8ea8889c5bc405301d1f6d38de04c1ef863a4e  kcptun-windows-386-20190718.tar.gz
932d4a618ab185af4ca9abd076e39d42b1321191  kcptun-windows-amd64-20190718.tar.gz

$ date
2019年 7月18日 星期四 14时24分53秒 CST