π Xray-knife v11.1.0 (JOIN THE TELEGRAM CHANNEL)
Two annoying bugs squashed and two new things. If your speed tests have been showing 0 since v11, or if go install suddenly stopped compiling, this release is for you. π οΈ
β Nothing breaks. No flags moved, no names changed β upgrade and carry on.
π Speed test always showed 0
Ran --speedtest on v11 and got this in your CSV? π€
link,status,delay,download,upload
vless://...,passed,134,0,0
The config passed. The delay was measured. The speed was justβ¦ zero. π
Here's what was happening. The test tries to move 10 MB in each direction (--amount) and gives each direction 30 seconds (--speedtest-timeout). v11 treated that clock as a pass/fail deadline β if the transfer didn't finish in time, the whole measurement was thrown away and written as 0.
Do the math: anything slower than ~2.7 Mbps scored a flat zero. Which is exactly the kind of link you most wanted a real number for. π©
The clock is now a measuring window, not a deadline. Whatever moved inside it gets measured, so slow links report their actual speed:
| Link | Before | Now |
|---|---|---|
| 1.2 Mbps proxy | 0 β
| 1.19 β
|
Only a transfer that moved nothing at all still counts as a failure β and when that happens, single-config mode now prints the reason instead of leaving you staring at a silent 0. π
Thanks @Jaymz665 for the report (#69). π
π¨ Building from source broke on Go 1.27
If you tried to install from source recently, you got a wall of linker noise ending in this: π₯
# github.com/lilendian0x00/xray-knife/v11
github.com/sagernet/sing-box/transport/v2rayhttp.ResetTransport:
relocation target golang.org/x/net/http2.(*Transport).connPool not defined
Nothing to do with your setup. π€· Go 1.27 rebuilt its HTTP/2 library as a thin shim over the standard library, and an internal piece that sing-box borrowed through a linker trick disappeared along with it β so the binary simply refused to link.
Fixed by moving up to sing-box 1.14, which dropped that trick entirely. Compiles cleanly on Go 1.26 and 1.27 again. β
go install github.com/lilendian0x00/xray-knife/v11@latestThanks @clin1234 for the report (#64). π
π New: certificate pinning (pcs) in share links
Configs that pin their server certificate were silently losing the pin. π« The pcs parameter (pinnedPeerCertSha256 in xray-core) was dropped on parse, so it never reached the TLS handshake β and it vanished from the link if you re-exported it.
Now it's parsed, applied, and kept. Works on vless, trojan and vmess:
xray-knife http -c "vless://uuid@example.com:443?security=tls&sni=example.com&pcs=0123456789abcdef...cdef"- π Multiple pins, comma-separated
- π€ Hex with or without OpenSSL colons (
01:23:45:...) - β»οΈ Preserved when a link is regenerated, and shown in
parseoutput
Thanks @mdjvd for the request (#65). π
π New: 32-bit ARM builds
Running xray-knife on an older router or a Raspberry Pi with a 32-bit OS? There's a build for you now β grab linux-arm32-v7a from the assets below. π¦
Building it yourself works the same way:
./build.sh linux armv7π¦ Install
Grab a prebuilt binary from the assets below, or install with Go:
go install github.com/lilendian0x00/xray-knife/v11@latestFull Changelog: v11.0.0...v11.1.0