Skip to content

Releases: xtaci/kcptun

Cumulative updates(MIPS softfloat support)

17 Sep 08:32
Compare
Choose a tag to compare
  1. added AES based nonce generator, faster than MD5 in all scenarios.
  2. set 'GOMIPS=softfloat' as the default option in compiling for MIPS platform.
  3. add a hint for key derivation for slow CPUs.
  4. compiler updated to go1.11.

561ee05
xtaci/kcp-go@9c319c3
xtaci/smux@e28719e

$ go version
go version go1.11 darwin/amd64

SHA1SUM

99daaac9007087f893f3492990312a14b6313c01  kcptun-linux-amd64-20180917.tar.gz
74d7dbea6850ebc034d9c2579ed382e381092ac4  kcptun-linux-386-20180917.tar.gz
5ecdd654cb64bfc9bd0ebcaaf4222b61b9a9431f  kcptun-darwin-amd64-20180917.tar.gz
3b075c7a78e0e2e3127831ac2be8fac7bb72ed77  kcptun-darwin-386-20180917.tar.gz
715c14b5792d83f709659cd2db3a96658720c199  kcptun-windows-amd64-20180917.tar.gz
5323bba51e5bef8d097b7d0bf17f08b94986c70f  kcptun-windows-386-20180917.tar.gz
e2457f69d9929ab3f76e4c226e628b35183db574  kcptun-freebsd-amd64-20180917.tar.gz
e210b7acefe4e998df9de574d4fad8e53b1f914a  kcptun-freebsd-386-20180917.tar.gz
7d0ec5503d3541470088aac235f46dad34dd7d00  kcptun-linux-arm-20180917.tar.gz
af093caefb9b567aa4f5decdf40db17fa2c01116  kcptun-linux-mipsle-20180917.tar.gz
815551259590c7b46d5f8539deee76d0982bb0bf  kcptun-linux-mips-20180917.tar.gz

Improvements on connection speed

10 Aug 14:53
Compare
Choose a tag to compare

A severe bug introduced by xtaci/kcp-go#65 prevents the server-side of kcptun from processing the incoming FEC packet now discovered(which leads to unnecessary retransmissions). This release has fixed that bug(by disposing the that feature), and the benchmark showed MUCH FASTER than previous versions.

EVERYONE is suggested to upgrade to this version, meanwhile, all functional PR will be rejected releated to kcp-go to prevent such mistakes.

$ go version
go version go1.10.3 darwin/amd64

$ ~/go/src/github.com/xtaci/kcptun/build-release.sh
e0e031dfb4025e6d50734bb9587e19e1b75fe81f  kcptun-linux-amd64-20180810.tar.gz
34f1f3f28efc3a9d87951e26e1988156dcaf3041  kcptun-linux-386-20180810.tar.gz
4ee1c7e7ad18a03b77aba02f706828880db04ced  kcptun-darwin-amd64-20180810.tar.gz
ac7920e89312f1c06043957b94d1712e7130237f  kcptun-darwin-386-20180810.tar.gz
e6c42dfac0678f2eaa4164a66700bcd870b1fe2b  kcptun-windows-amd64-20180810.tar.gz
ec6a010b9787e3cbe99a2fa58f73359f52101e6f  kcptun-windows-386-20180810.tar.gz
7edfe81f75e5fc8392ee61a81c5a93b65ff722d0  kcptun-freebsd-amd64-20180810.tar.gz
fda34f1191b06e12dfe4efca8cdf13575d70351e  kcptun-freebsd-386-20180810.tar.gz
030a8d74c1fe8e6d273d057630f6aed01dac5144  kcptun-linux-arm-20180810.tar.gz
20e2f49b1ea8d37f0141e712eb5cd00992dcd88e  kcptun-linux-mipsle-20180810.tar.gz
b937e1b117883153e57026bc38bd98f9ad1c3f4e  kcptun-linux-mips-20180810.tar.gz

fix 'too man open files'

16 Mar 05:49
Compare
Choose a tag to compare

fix 'too man open files'

$ go version
go version go1.10 darwin/amd64
03f27ec
xtaci/kcp-go@42bc1df
xtaci/smux@e28719e

bd6fa3a725d62a5ad78f948fd40ab43f9876f908  kcptun-linux-amd64-20180316.tar.gz
caa80772285f68bd8653a8d2ce7c651b753d75b5  kcptun-linux-386-20180316.tar.gz
da968460fda2117d7148093f9e6f763beadc7185  kcptun-darwin-amd64-20180316.tar.gz
6107a98b318bf4bf476175101cd009bf530614f8  kcptun-darwin-386-20180316.tar.gz
81b0ce6ad3fb955264a0a7a74268b0686b69475e  kcptun-windows-amd64-20180316.tar.gz
d5f60ca1d866439938fa3ea4002e2099cc8a43d2  kcptun-windows-386-20180316.tar.gz
0c809f57586bb954b1426de6896ef3741b3aa481  kcptun-freebsd-amd64-20180316.tar.gz
fb5217c37d3029ae003dca876b92d6bfd82ad34f  kcptun-freebsd-386-20180316.tar.gz
ca28edd9f7a8a09bff564a8782b7115f0d6e02ff  kcptun-linux-arm-20180316.tar.gz
a1a47da98ff2744a418b2c68646601ed37d47b6d  kcptun-linux-mipsle-20180316.tar.gz
99ef72cbcd03222d3bd3344e72188edbe1fc4a64  kcptun-linux-mips-20180316.tar.gz

Repack executable for last version

01 Dec 12:39
Compare
Choose a tag to compare

1.Repack version v20171129, due to the profiling option in testing(port 6060), the binary size of client side(ONLY) is larger than the previous versions, this repacking fixed this issue, with no functional changes.

$ go version
go version go1.9.2 darwin/amd64
825ccca
xtaci/kcp-go@0dc7be2
xtaci/smux@ebec7ef

661bfd51556f61442f8c33c7eaa15bf9db5b8f08  kcptun-linux-amd64-20171201.tar.gz
4d8067934c017897f8354de8f958fd49a96b782d  kcptun-linux-386-20171201.tar.gz
ceb445bca9f4bddc0f6cd0feae57f0097ef11172  kcptun-darwin-amd64-20171201.tar.gz
c1201bc374f9811bd67d95e770f387a4507fdf48  kcptun-darwin-386-20171201.tar.gz
7a24fb46cbe754cd575c9f56c3a7de2c7411476a  kcptun-windows-amd64-20171201.tar.gz
3e2327d60c491aca634cfbfccb8b63133d460ccd  kcptun-windows-386-20171201.tar.gz
e540efb14ef9450a75b06adef9698d58ae3e34a6  kcptun-freebsd-amd64-20171201.tar.gz
0dd4918daa334a8ef1e0b55a7b97b6265372ecd0  kcptun-freebsd-386-20171201.tar.gz
feea02fe4d3bb4b5c66ba758fa0060b2082232ce  kcptun-linux-arm-20171201.tar.gz
25d7f72b9f42b4c616cafe5439d84424b32c2f45  kcptun-linux-mipsle-20171201.tar.gz
d8bc027fad1006eac3255b8e30e35341d66f6873  kcptun-linux-mips-20171201.tar.gz

a faster nonce generator

29 Nov 12:44
Compare
Choose a tag to compare
  1. a new faster nonce generating algorithm by mixing with hashing and randoms from system.
    (you can try $ go test -v -run=^$ -bench Csprng from kcp-go)

$ go version
go version go1.9.2 darwin/amd64
825ccca
xtaci/kcp-go@0dc7be2
xtaci/smux@ebec7ef

1eb93b27e686d9af302eedbdde5d4762302315e9  kcptun-linux-amd64-20171129.tar.gz
3f3ff92259ab561a6d88632398f7e6971b235f3d  kcptun-linux-386-20171129.tar.gz
faae49a9ddbb8c2e33bfaab8f466fbbdd6b5211f  kcptun-darwin-amd64-20171129.tar.gz
d85e992fe83b4c750412e8b32adc93b3fb340ba4  kcptun-darwin-386-20171129.tar.gz
c8f9b5d37f3e879c68c77d7c47c0ce0dbc0a5650  kcptun-windows-amd64-20171129.tar.gz
2a8b0a0c3651c5d17aa3c9520ebec205518d44c9  kcptun-windows-386-20171129.tar.gz
3bd50304b835afc8a2e1c76e6f031571861d4505  kcptun-freebsd-amd64-20171129.tar.gz
fee4d96579079cf035120718995ca6c1e8977ecd  kcptun-freebsd-386-20171129.tar.gz
06e9dad82325ecf14edd731a0310874fc02750a8  kcptun-linux-arm-20171129.tar.gz
69072f8ea6401302a43fbad127b1c45ef002f78f  kcptun-linux-mipsle-20171129.tar.gz
c29cc42a04c3ee9478f5ad0776225912d5dfcc5c  kcptun-linux-mips-20171129.tar.gz

improvements in rtt & fec

13 Nov 18:40
Compare
Choose a tag to compare
  1. an adjustment in samples of RTT, always pick the segment with largest sn in one packet.
  2. use copy instead of xor for efficient zeroing of slice.

$ go version
go version go1.9.2 darwin/amd64
825ccca
xtaci/kcp-go@69dab7f
xtaci/smux@ebec7ef
https://github.com/templexxx/reedsolomon/tree/0.1.1

70fd0e8a5bf9c97e2c5e0262c5d4effda9cead52  kcptun-linux-amd64-20171113.tar.gz
b6dfc944eeba195dd9635d7fbde269863232bc1b  kcptun-linux-386-20171113.tar.gz
38f4ee4d55045fe26eff1f1cab6cb67b0cd238f6  kcptun-darwin-amd64-20171113.tar.gz
68aba13e92ebf34fe92c91d88cd569fce66fb2ad  kcptun-darwin-386-20171113.tar.gz
f496a3e5d04719155103c08288b1e8be0b083cfa  kcptun-windows-amd64-20171113.tar.gz
b85e534befc6ee6b7f5082b47d84cc30132ce0de  kcptun-windows-386-20171113.tar.gz
08ea6c5c0f8cff565a04b2cd18c5c02c68700f9a  kcptun-freebsd-amd64-20171113.tar.gz
71b9fb9a73a3c4ede0425d1b8506ea9633c70351  kcptun-freebsd-386-20171113.tar.gz
3495eed3b1a3a948ea4c7bcf4e1e91861962f9e6  kcptun-linux-arm-20171113.tar.gz
044d5f2c425e9c3a1f1f970892c7725474e11b8b  kcptun-linux-mipsle-20171113.tar.gz
56b857df793863ba6415e3832c82a4d842cbb67b  kcptun-linux-mips-20171113.tar.gz

support for '-quiet' option

21 Oct 11:49
Compare
Choose a tag to compare
  1. support for '-quiet' option to suppress boring 'stream open/close' messages.

$ go version
go version go1.9.1 darwin/amd64
2845af3
xtaci/kcp-go@21da33a
xtaci/smux@ebec7ef
https://github.com/templexxx/reedsolomon/tree/0.1.1

dc98db3f64b297a75e1c1a12143d1ccf54d963f4  kcptun-linux-amd64-20171021.tar.gz
d1f123234fa9c56e9fa7a1442349253f6b4f1ff0  kcptun-linux-386-20171021.tar.gz
2ef347526888ead02c8bbac41c1d6e3d2077f7c9  kcptun-darwin-amd64-20171021.tar.gz
77cdc20684a1050d816e97768c76d556d1ad8843  kcptun-darwin-386-20171021.tar.gz
e9c11aa4112124aba01c1d67a8d690511f194f9d  kcptun-windows-amd64-20171021.tar.gz
2d8ee4646f1f08a23f245e5124ccbc2e75c0c3f7  kcptun-windows-386-20171021.tar.gz
7ec959e6339d40ba91e4c9c0dc16febcd961f886  kcptun-freebsd-amd64-20171021.tar.gz
34d0c87015c242110af3bcdfaaa9a0a2e0961e09  kcptun-freebsd-386-20171021.tar.gz
a223fc82b376d3991a9953a8098bbccb938c4adf  kcptun-linux-arm-20171021.tar.gz
eda5483cc2fd335b13ba1b7c91a2d09ac16beb4f  kcptun-linux-mipsle-20171021.tar.gz
c4d42c1a214b75a5c3129dff2188ab5c26d73ecf  kcptun-linux-mips-20171021.tar.gz

Fix 'Illegal Instructions" crash on some platform

30 Sep 13:37
Compare
Choose a tag to compare
  1. fix 'Illegal Instructions" crash on some platform

$ go version
go version go1.9 darwin/amd64
4aaf974
xtaci/kcp-go@44c3d76
xtaci/smux@ebec7ef
https://github.com/templexxx/reedsolomon/tree/0.1.1

74204755d1fcded11cbccba23f5693299af75373  kcptun-linux-amd64-20170930.tar.gz
4c5feeba8693644a6962fe7955d0ac8da925c3be  kcptun-linux-386-20170930.tar.gz
fa1a3daf57a41d15678a989cc3fde999975b1ecf  kcptun-darwin-amd64-20170930.tar.gz
d2c6cad44cf930548ecc7fc2b833cb7a5e6e101d  kcptun-darwin-386-20170930.tar.gz
4022da27c2206ef369ce5f19dc1c6a33851c4f17  kcptun-windows-amd64-20170930.tar.gz
e409779c136eef3e52b3c65c01348a8368b1845e  kcptun-windows-386-20170930.tar.gz
c8bdd0787beca5ab44075dee58a4f114b65f4cca  kcptun-freebsd-amd64-20170930.tar.gz
5d5e570315a977649cc89830de521a44688ad1c5  kcptun-freebsd-386-20170930.tar.gz
b40de337d590882cdf0218037662da00caf090e2  kcptun-linux-arm-20170930.tar.gz
bee1a9de3a3b288b21586695e2678598ccc21880  kcptun-linux-mipsle-20170930.tar.gz
2f65ee825a079337214db3e0c7e1086169ffe22e  kcptun-linux-mips-20170930.tar.gz

SSE & AVX optimization in ReedSolomon Code

04 Sep 03:04
Compare
Choose a tag to compare
  1. Using SSE & AVX optimized ReedSolomon , thanks to templexxx.
  2. Go1.9 is required.

(UPDATE: If this program crashed with 'Illegal Instruction', you can switch back to the previous release, we are working in it.)

$ go version
go version go1.9 darwin/amd64
4aaf974
xtaci/kcp-go@44c3d76
xtaci/smux@ebec7ef
templexxx/reedsolomon@f9cea05

c0bc7645fc87fcf0824bc1e536cb7924bb61ff84  kcptun-linux-amd64-20170904.tar.gz
30b7a640dd4852fa513c7cf313ccacfa02bdc953  kcptun-linux-386-20170904.tar.gz
38fb8050425e0031c56344e47b43cf0815f76331  kcptun-darwin-amd64-20170904.tar.gz
eddd40d411a8b317f60aae4206eddec1ac77d1a6  kcptun-darwin-386-20170904.tar.gz
049582b9c14bd6d99affd9e4e116fedd46b2a954  kcptun-windows-amd64-20170904.tar.gz
6d89891491b49998565f4983024d5068cc4d460c  kcptun-windows-386-20170904.tar.gz
a10348a5029b46a57582c021db38e62c573785f7  kcptun-freebsd-amd64-20170904.tar.gz
2f0428fef1d3d8c19faac954792de75082375fc4  kcptun-freebsd-386-20170904.tar.gz
2c65e6a3e5402758b1af92afa81a1fae10712932  kcptun-linux-arm-20170904.tar.gz
d2efacb67a3bccdbb61ed3f1fa940f9959514887  kcptun-linux-mipsle-20170904.tar.gz
cd05c07699d4534462fd5aee581b76f2b4a53c4f  kcptun-linux-mips-20170904.tar.gz

CPU optimizations

25 May 10:19
Compare
Choose a tag to compare
  1. CPU optimization on updater(eliminate map).
  2. Add a log on reconnecting.

$ go version
go version go1.8.3 darwin/amd64
ded53a9
xtaci/kcp-go@7f81f73
xtaci/smux@2de5471

b964ff8a06c921a6110c297f1f2bb711d652edfb  kcptun-linux-amd64-20170525.tar.gz
9087ec531c06efea086d722ee360f5412e143083  kcptun-linux-386-20170525.tar.gz
dd4f94745875412f403032229312b63dcd1b938b  kcptun-darwin-amd64-20170525.tar.gz
ca36f828c914fe0d542273e9bd206eb764405a48  kcptun-darwin-386-20170525.tar.gz
00b4a1e9da5cce1dbba9191a65049cb2be319619  kcptun-windows-amd64-20170525.tar.gz
edad09dc3a52552e6f91a377edb118b19836ec5a  kcptun-windows-386-20170525.tar.gz
77acfcbe55d4efa5d48e691872bf56853cc2c0d2  kcptun-freebsd-amd64-20170525.tar.gz
7cd1d68b773e5d89d3a9da8137f36798cd6e49ac  kcptun-freebsd-386-20170525.tar.gz
efa273e2438065a319e50c44e7cd68a0e65c05d5  kcptun-linux-arm-20170525.tar.gz
18b9460d62218d1899fe5dead8550304371b541a  kcptun-linux-mipsle-20170525.tar.gz
7ef64becf7bfccb5465484c649b46f100d41e511  kcptun-linux-mips-20170525.tar.gz