Releases: xtaci/kcptun
Releases · xtaci/kcptun
Support per-stream flow control and bugfix in KCP
- New option
-smuxver
, default is set to1
which is compatible with previous releases. Now you can set-smuxver
to2
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: #722, xtaci/smux#18
(Important note: smux version 1 and version 2 are not compatiblity, you need to upgrade on both sides to enable this feature.) - Writable notification in kcp-go became more accurate.
- 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
Fair queue support in smux
- 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.)
- 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
re-compiled with go1.13
- 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
-dscp works with -tcp option now
-dscp
option works with-tcp
option now
#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
support on unix domain socket
- on server side, you can specify
-target path/to/unix/socket
now, #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
optimizations on linux `-tcp` option
- 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. - adjust ack/seq follow scheme
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
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
optimizations on -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. -
fix a potential race between cleaner() goroutine and WriteTo()
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
763b43bce8d34c586af0884794d7aac7e2e9bf0d kcptun-darwin-amd64-20190717.tar.gz
db735672cb10b5a2958d52429bc7afab175b047e kcptun-freebsd-amd64-20190717.tar.gz
c95d9bb6117289b195401fc2e1b6a1d2ae7a3828 kcptun-linux-386-20190717.tar.gz
834498340bfcf6d3bcaa1cb3b2d9dd6b969353fb kcptun-linux-amd64-20190717.tar.gz
de131900a1d7efb5299d7050c68a7877d721042c kcptun-linux-arm5-20190717.tar.gz
34b15b668bc1c20d11a3545f8b8d53900796e3b7 kcptun-linux-arm6-20190717.tar.gz
3ca2abec040c11af1c59ddcb45c23e90840006a0 kcptun-linux-arm64-20190717.tar.gz
5d481cbe3e09009056e8c9bf2443cd3ae2995e10 kcptun-linux-arm7-20190717.tar.gz
53e030e7594905cba846d2a271035f6fe757f478 kcptun-linux-mips-20190717.tar.gz
3d2449b1b56be927446edd6a3aaabb1523552fd1 kcptun-linux-mipsle-20190717.tar.gz
ad92a7f49ac94d89583b32a8b874b9e68532b129 kcptun-windows-386-20190717.tar.gz
0bf62af3a6af3ea271310dbc57ad9679f94bcb4d kcptun-windows-amd64-20190717.tar.gz
$ date
Wed Jul 17 15:55:36 CST 2019
optimizations on -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
023aea9a77a06c36413f78f3ff96a153da1f28b5 kcptun-linux-amd64-20190716.tar.gz
069cef75d5522f127f0f7d979ccb9538137ada66 kcptun-darwin-amd64-20190716.tar.gz
6b494a14e44bea9f07c0d8f5793ca7ff7efea297 kcptun-windows-amd64-20190716.tar.gz
8615af8b73d7d9860de03c601befdc08e312f6e0 kcptun-freebsd-amd64-20190716.tar.gz
b939aec4cfe6f1af5cb3d0d627fce79026a1e3cf kcptun-linux-386-20190716.tar.gz
df97d2f77cdd605f732a403021ad698cbba295f3 kcptun-windows-386-20190716.tar.gz
1e462e4373d4e8d4d4354b22a0d269a2de7720b8 kcptun-linux-arm5-20190716.tar.gz
848a1fbcfeda301ae66966e42124385252dccb7f kcptun-linux-arm6-20190716.tar.gz
12ad0ee691926835c80b73b7f836ca70ef806d3e kcptun-linux-arm7-20190716.tar.gz
5ad6e08b1b99f934fe257c5edec41f6b68031af7 kcptun-linux-arm64-20190716.tar.gz
4ddb9d41e60ccdd8aa8fdf1496a30470d36af6d9 kcptun-linux-mipsle-20190716.tar.gz
127c1956a885581d082a8f69eecb146c62b6cd2a kcptun-linux-mips-20190716.tar.gz
$ date
2019年 7月16日 星期二 17时00分26秒 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 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