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
Bot releases are hidden (Show)
Published by xtaci about 8 years ago
Disable RTO backoff when nc is set to 1
MD5 (kcptun-linux-amd64-20160823.tar.gz) = 338a519621bd88410d580160a1825a39
MD5 (kcptun-linux-386-20160823.tar.gz) = 20a74e757a2773e4be78d405db44faff
MD5 (kcptun-darwin-amd64-20160823.tar.gz) = 18de2fd625f7cbbfff38bf0c93234289
MD5 (kcptun-darwin-386-20160823.tar.gz) = 5c36b7a19cf19d1eeea778c97efa45bb
MD5 (kcptun-windows-amd64-20160823.tar.gz) = 35820143a8a4e31eb4448e263e32aa98
MD5 (kcptun-windows-386-20160823.tar.gz) = 1e3a94e872fa0bed6068787714f0cb7d
MD5 (kcptun-freebsd-amd64-20160823.tar.gz) = 9a3eff252f67550360b24fce89e38417
MD5 (kcptun-freebsd-386-20160823.tar.gz) = c1101fb8c84b735933f152939dae1a69
MD5 (kcptun-linux-arm-20160823.tar.gz) = 1e5272862a40f0bdc4e21d70ee3d0fb1
Published by xtaci about 8 years ago
added support for salsa20 , twofish , xtea cryptos.
P.S. salsa20 is really lighting fast.
(Update@21:16 0820: https://github.com/hashicorp/yamux/pull/39, try to fix i/o deadline problem)
Benchmarks:
$ go test -bench . -run=^$
BenchmarkAES128-4 200000 11174 ns/op
BenchmarkAES192-4 100000 12647 ns/op
BenchmarkAES256-4 100000 13452 ns/op
BenchmarkTEA-4 50000 26966 ns/op
BenchmarkSimpleXOR-4 3000000 432 ns/op
BenchmarkBlowfish-4 30000 48540 ns/op
BenchmarkNone-4 20000000 108 ns/op
BenchmarkCast5-4 30000 59313 ns/op
BenchmarkTripleDES-4 2000 856720 ns/op
BenchmarkTwofish-4 20000 66519 ns/op
BenchmarkXTEA-4 20000 77909 ns/op
BenchmarkSalsa20-4 300000 4980 ns/op
PASS
ok github.com/xtaci/kcp-go 23.007s
MD5 (kcptun-linux-amd64-20160820.tar.gz) = 93ed244cc735dcf8539795e2879760e5
MD5 (kcptun-linux-386-20160820.tar.gz) = 92e89dbfc3cbbe83e5224d0850df654f
MD5 (kcptun-darwin-amd64-20160820.tar.gz) = 94687e4562393b82b26ed4f6d8df3721
MD5 (kcptun-darwin-386-20160820.tar.gz) = 6bbd5b4a7f5c0fd57c4968cb8fd2c907
MD5 (kcptun-windows-amd64-20160820.tar.gz) = 06f0c25545444b098b384375929e53ea
MD5 (kcptun-windows-386-20160820.tar.gz) = 12d916d02dfdd74dbf7a5e8bf713ad14
MD5 (kcptun-freebsd-amd64-20160820.tar.gz) = 9377cf860db447326d0e9a705065c285
MD5 (kcptun-freebsd-386-20160820.tar.gz) = 6478f51603aca99989a93d7300c695aa
MD5 (kcptun-linux-arm-20160820.tar.gz) = a8a61fb874c55631696faa5fd38e85a0
Published by xtaci about 8 years ago
blowfish, cast5, 3des
encryption algorithmsMD5 (kcptun-linux-amd64-20160819.tar.gz) = 623d6e4805514a85490533b43006893c
MD5 (kcptun-linux-386-20160819.tar.gz) = 9989faf00b59009e27b26c4059211709
MD5 (kcptun-darwin-amd64-20160819.tar.gz) = 46b3fbfe4c470b27d385169c37deb57f
MD5 (kcptun-darwin-386-20160819.tar.gz) = 56e01abc72997bc9de27bb39c3cb6396
MD5 (kcptun-windows-amd64-20160819.tar.gz) = 54d440a02beede900816a17c48e3abc2
MD5 (kcptun-windows-386-20160819.tar.gz) = c8a05265b854b7f79008008f3f3f546a
MD5 (kcptun-freebsd-amd64-20160819.tar.gz) = ff36cae4b4a10b1bd9b72bd6586bb67d
MD5 (kcptun-freebsd-386-20160819.tar.gz) = e07e9233fb2f79acf9a214b531afe80b
MD5 (kcptun-linux-arm-20160819.tar.gz) = 1d884fc64a6392d53b05fe874b6f9d22
Published by xtaci about 8 years ago
re-compiled with golang 1.7 stable.
add aes-128, aes-192 encryptions.
golang 1.7 稳定版重制。
增加 aes-128, aes-192加密
(Update 20160818: revert a minor unstable changes, if you feel something strange, please re-download. )
MD5 (kcptun-linux-amd64-20160816.tar.gz) = 52cd6456b54cce01627e629767dc9deb
MD5 (kcptun-linux-386-20160816.tar.gz) = 20573d91391e38f48e97f32f0ffc8a34
MD5 (kcptun-darwin-amd64-20160816.tar.gz) = d0b272376029f9ae518ae05ff0afb727
MD5 (kcptun-darwin-386-20160816.tar.gz) = 9acc1ad52c335fe7f04c967d10104b1c
MD5 (kcptun-windows-amd64-20160816.tar.gz) = a2c5563ab2053976441d5a7bbffa98c2
MD5 (kcptun-windows-386-20160816.tar.gz) = f709eb7c813b586a5fdb24ee07e31df0
MD5 (kcptun-freebsd-amd64-20160816.tar.gz) = 0b3417ffc9c4ff418a14a0f76871338e
MD5 (kcptun-freebsd-386-20160816.tar.gz) = 9e367205d268a51794ce5e3310584c53
MD5 (kcptun-linux-arm-20160816.tar.gz) = 16ffab9f9a0084ae4141a9648e4b2cfc
Published by xtaci about 8 years ago
_(Strongly Recommended for upgrading)_
MaxStreamWindowSize
to sockbuf(hidden)
.recv()
syscall instead of recvfrom()
syscall. (client only)_(强烈建议升级)_
MaxStreamWindowSize
值为 sockbuf(隐)
,以期望平滑数据传输曲线。recvfrom()
改为 recv()
,降低客户端CPU消耗(一半以上)。改之前:
改之后:
_compiler: go version go1.7rc6 darwin/amd64_
MD5 (kcptun-linux-amd64-20160811.tar.gz) = 976250b8e44c696bd5c0a66a9c274067
MD5 (kcptun-linux-386-20160811.tar.gz) = 623c9d5ed4ace14dba17401e51bd3c79
MD5 (kcptun-darwin-amd64-20160811.tar.gz) = 5f6f642be0c202960faf0b22abe09b64
MD5 (kcptun-darwin-386-20160811.tar.gz) = 0f8f7bf8461f801616d50db685aad496
MD5 (kcptun-windows-amd64-20160811.tar.gz) = eeaea3dece0d0ab515676d959075e100
MD5 (kcptun-windows-386-20160811.tar.gz) = 5708b35642658c818d773c5c3ba8a857
MD5 (kcptun-freebsd-amd64-20160811.tar.gz) = 79b48193147100497944493832be62d6
MD5 (kcptun-freebsd-386-20160811.tar.gz) = 774f9454d44e5141340b5dcdb2cf95c3
MD5 (kcptun-linux-arm-20160811.tar.gz) = c2584fad1e76d3ede74b23cf33bc96d9
mips32 version: https://github.com/bettermanbao/openwrt-kcptun/releases
Published by xtaci about 8 years ago
Updates(20160808):
sockbuf
: send/recv buffer size of udp sockets, default to 4MB.(macOS limit, pre: 16MB.)keepalive
: NAT keepalive interval(in seconds) to prevent your router from removing port mapping, default to 10s.(pre:5s.)markData()
of FEC.SetDSCP()
function.累计非关键更新(20160808):
sockbuf
:用于调整udp socket的收发缓冲区大小, 默认值为4MB。(macOS限制, 前值为16MB。)keepalive
:用于调整NAT keepalive的间隔时间,避免路由器清除端口映射。(默认值10s, 前值5s。)markData()
不需要检测PAWS。SetDSCP()
函数。_Compiler: go version go1.7rc6 darwin/amd64_
MD5 (kcptun-linux-amd64-20160808.tar.gz) = 067f9d34af47a46b34bae84aa7e2fc4b
MD5 (kcptun-linux-386-20160808.tar.gz) = 16bd01035c1237c2181042f1b1a3c761
MD5 (kcptun-darwin-amd64-20160808.tar.gz) = 2480f95c7a6c61ab6eb74d8fe0a27014
MD5 (kcptun-darwin-386-20160808.tar.gz) = ffc5c6873aabbc9816b593cb613560f1
MD5 (kcptun-windows-amd64-20160808.tar.gz) = 60dc203168c16818c27a9fd60d27b32a
MD5 (kcptun-windows-386-20160808.tar.gz) = a2378c9c5486ea470f005b51a1e49d99
MD5 (kcptun-freebsd-amd64-20160808.tar.gz) = 9c30d84b15efb82df18f3196aa64bde1
MD5 (kcptun-freebsd-386-20160808.tar.gz) = 6c7e0cdd2c413ac52c605b0f9d284528
MD5 (kcptun-linux-arm-20160808.tar.gz) = da983d001cd5731d3bb484020a24e4ea
Published by xtaci about 8 years ago
_Update 20160726: recompiled with go1.7rc3 && optimize ikcp_send for stream mode_
_Update 20160803: recompiled with go1.7rc5_
_Strongly Recommended for Upgrading_
the default packet mode operations of kcp would introduce HOL-blocking for a single message; by eliminating message boundary with _stream mode_, this problem has relived.
kcp默认包模式的传输会引入单包的Head Of Line 阻塞问题,因此通过修改kcp,并在kcp-go中增加了stream模式缓解此问题,以降低网络延迟。(官方已同步)
MD5 (kcptun-linux-amd64-20160725.tar.gz) = 8c41e07356c50f970deb2c4a747f1b77
MD5 (kcptun-linux-386-20160725.tar.gz) = 6e3505cf52f90251ccbb0ce05fcb2bf3
MD5 (kcptun-darwin-amd64-20160725.tar.gz) = aee95702e65cff152951586acaa18f70
MD5 (kcptun-darwin-386-20160725.tar.gz) = 3d5b7781936556f995ed081e28235b7a
MD5 (kcptun-windows-amd64-20160725.tar.gz) = 756662eaf92d911223d856e00c9b8d2b
MD5 (kcptun-windows-386-20160725.tar.gz) = 7f9798166409da32c16af3de4e8618f6
MD5 (kcptun-freebsd-amd64-20160725.tar.gz) = 1c99e7dfc5d8d854e6ddab245d459514
MD5 (kcptun-freebsd-386-20160725.tar.gz) = e1e334f74601925d831693ae05acd15c
MD5 (kcptun-linux-arm-20160725.tar.gz) = 69cb70c1051e8502896b6192b40c2750
Published by xtaci about 8 years ago
see issue:
https://github.com/golang/go/issues/16272
_(if you are not macOS Sierra(10.12) user, you don't need to upgrade to this one.)_
_(compiler:go version go1.7rc2 darwin/amd64)_
MD5 (kcptun-linux-amd64-20160719.tar.gz) = e662553cc2ebb1d47e90b4fe2154c02b
MD5 (kcptun-linux-386-20160719.tar.gz) = 765de2a1e9f8f301eba6ba00e4aeb29f
MD5 (kcptun-darwin-amd64-20160719.tar.gz) = b7d96aa30d0849652df2ff6036d9bb3e
MD5 (kcptun-darwin-386-20160719.tar.gz) = dc6d0a0cbeb865d491319a1f37ccb68b
MD5 (kcptun-windows-amd64-20160719.tar.gz) = bd77b5a11c29283e162343c35fd34a07
MD5 (kcptun-windows-386-20160719.tar.gz) = eb8e30bbbc506d2a8074e387a6c8ac70
MD5 (kcptun-freebsd-amd64-20160719.tar.gz) = 676f54bdb579d43752b203c034abd7a0
MD5 (kcptun-freebsd-386-20160719.tar.gz) = 08ed17b13b245c9bbcb13014d2ea9e16
MD5 (kcptun-linux-arm-20160719.tar.gz) = 684816b2b43bc05fa0f932862bf2b6f1
Published by xtaci over 8 years ago
Limit max RTO backoff to 8xRTT.
限定RTO退让的最大值为8xRTT,修正假死问题。
_update 20160712: recompiled with go version go1.7rc1 darwin/amd64_
MD5 (kcptun-linux-amd64-20160701.tar.gz) = 3c55407a1c413677454c8620b384e71d
MD5 (kcptun-linux-386-20160701.tar.gz) = 395c33fca9d7d1f9474c7af47567221f
MD5 (kcptun-darwin-amd64-20160701.tar.gz) = d44508e3dc46ce82ab3cdabdf10ba3d8
MD5 (kcptun-darwin-386-20160701.tar.gz) = f21236c12e6d11aa03cc84f62abf5e81
MD5 (kcptun-windows-amd64-20160701.tar.gz) = 425d0b63e82bad5c84683c4fb3a35edf
MD5 (kcptun-windows-386-20160701.tar.gz) = 0972e5e3d637cd9ced8038e77adb9580
MD5 (kcptun-freebsd-amd64-20160701.tar.gz) = 524c0b1f1500e6ac81e38adc6422acb1
MD5 (kcptun-freebsd-386-20160701.tar.gz) = 74110c946da7dcf668720bc1e66e9a3c
MD5 (kcptun-linux-arm-20160701.tar.gz) = 00ce4b3a8dd4ff6c7e93db41172fa236
Published by xtaci over 8 years ago
_CAUTION: NOT COMPATIBLE WITH PREVIOUS RELEASES WITH DEFAULT SETTINGS._
_MAKE SURE TO VERIFY YOUR MD5 HASH BEFORE DEPLOY._
_STRONGLY RECOMMENDED FOR UPGRADING._
-nocomp
on both side to disable._注意:默认与以前版本不兼容(两端需同时升级)_
_部署之前请务必确认您的MD5哈希值_
_强烈建议升级_
MD5 (kcptun-linux-amd64-20160627.tar.gz) = 798cc5a4914211b69be8cc96abb86fcc
MD5 (kcptun-linux-386-20160627.tar.gz) = 754e7730e093c4fabe1304b9e151d462
MD5 (kcptun-darwin-amd64-20160627.tar.gz) = 8ba19a3e97a4647d52bf3eed95e871f4
MD5 (kcptun-darwin-386-20160627.tar.gz) = ae59addb1396f6c1f9e4a408213dd6ef
MD5 (kcptun-windows-amd64-20160627.tar.gz) = 533515d5f76ae8a3fabe2c04dee2964f
MD5 (kcptun-windows-386-20160627.tar.gz) = dfe6147c6dc54b322783254dc3e7f9c0
MD5 (kcptun-freebsd-amd64-20160627.tar.gz) = 1ae4d95309cbd2130addcf534edf95d6
MD5 (kcptun-freebsd-386-20160627.tar.gz) = 5f0769b7ace930245ef72313110750ea
MD5 (kcptun-linux-arm-20160627.tar.gz) = 7e1feb9282e563ff9f81f0c09bf635e8
Published by xtaci over 8 years ago
_compiler: go version go1.7beta1 darwin/amd64_
_MAKE SURE TO VERIFY YOUR MD5 HASH BEFORE DEPLOY_
_EVERYONE IS SUGGESTED TO UPGRADE_
make
on fec groupfreebsd
binary versionSetNoDelay()
function for future manual controlSNMP
to dump information, kill -SIGUSR1 pid
to printReadFromUDP()
for faster receiving of UDP Packetsparse_ack()
for _too many fast resend_SetNoDelay()
, eg:-mode manual -nodelay 1 -resend 3 -nc 1 -interval 20
MD5 (kcptun-linux-amd64-20160605.tar.gz) = 3c7e47aa8fde34ef7271e260e674c41e
MD5 (kcptun-linux-386-20160605.tar.gz) = 2e5a96591126b3084fe1054c3de292a2
MD5 (kcptun-darwin-amd64-20160605.tar.gz) = c946a76c1fe88dcfa1f6c452ca3a6474
MD5 (kcptun-darwin-386-20160605.tar.gz) = 514635cc598f1fb3b960aa088648f3d9
MD5 (kcptun-windows-amd64-20160605.tar.gz) = d0b3f3795f135525eb98f891f77029f2
MD5 (kcptun-windows-386-20160605.tar.gz) = b57fd1f2c06432bfed48581976604e67
MD5 (kcptun-freebsd-amd64-20160605.tar.gz) = 357368fbd2a569daed17ce525f724442
MD5 (kcptun-freebsd-386-20160605.tar.gz) = 5735fac9d03850a0bca4df761fc2d272
MD5 (kcptun-linux-arm-20160605.tar.gz) = b2c4678cd03e0d138f783e0c03b71733