Releases: xtaci/kcptun
Cumulative updates(MIPS softfloat support)
- added AES based nonce generator, faster than MD5 in all scenarios.
- set 'GOMIPS=softfloat' as the default option in compiling for MIPS platform.
- add a hint for key derivation for slow CPUs.
- 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
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'
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
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
- a new faster nonce generating algorithm by mixing with hashing and randoms from system.
(you can try$ go test -v -run=^$ -bench Csprng
fromkcp-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
- an adjustment in samples of RTT, always pick the segment with largest sn in one packet.
- 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
- 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
- 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
- Using SSE & AVX optimized ReedSolomon , thanks to templexxx.
- 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
- CPU optimization on updater(eliminate map).
- 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