Skip to content

Xray-knife v10.1.0

Choose a tag to compare

@lilendian0x00 lilendian0x00 released this 19 Jul 19:31

πŸš€ v10.1.0 β€” Hysteria2, smarter testing, and a fresh xray-core

This release makes the http tester a lot smarter and faster, adds the
Hysteria2 protocol, and catches up to the latest xray-core. πŸŽ‰

βœ… Nothing breaks. Every new option is optional β€” if you don't touch the
new flags, everything works exactly like before.


πŸ†• New protocol: Hysteria2

You can now parse, test, and run Hysteria2 configs! πŸ”₯

  • Works with both hysteria2:// and the shorter hy2:// links.
  • Supported everywhere: parse, http (testing), proxy, and the web UI.
  • Understands SNI, insecure, and Salamander obfuscation
    (obfs / obfs-password), and handles IPv6 addresses correctly.
xray-knife http -c "hy2://..."

🎯 Smarter testing: don't trust just one website

Before, a config was judged by reaching a single site (Cloudflare). The
problem? Some proxies can reach Cloudflare but nothing else β€” and they'd
still show as "working." πŸ˜•

Now you can test each config against a panel of different websites and
grade it by how many it can actually reach. 🌍

Flag What it does
--check-preset Test against a ready-made set of sites. Choose: cloudflare, gstatic, global, google, streaming.
--test-urls Your own comma-separated list of URLs to test.
--url-success-threshold How many must succeed to "pass" (e.g. 0.75 = 75%). Below that but above zero = semi-passed ⚠️.
# Grade each config against a global mix of sites
xray-knife http -f configs.txt --check-preset global
  • 🎬 Great for checking if a config really works for YouTube / Google /
    streaming
    , not just a generic CDN.
  • πŸ•΅οΈ Fake "captive portal" pages that pretend to work are now correctly
    rejected.
  • πŸ“Š You get a clear per-website breakdown (which site failed and why) β€”
    in the terminal, in CSV, in JSON, and in the web dashboard.

⚑ Test big lists way faster

Testing thousands of configs? These options make it dramatically quicker:

Flag What it does
--prescan 🩺 A quick health check that instantly skips dead servers before the slow full test.
--prescan-timeout Timeout for the quick check in ms (default 2000).
--prescan-workers How many quick checks run at once (default 512).
--max-passed πŸ›‘ Stop as soon as N configs pass β€” no need to wait for the rest.
--dedup-semantic 🧹 Remove hidden duplicates β€” configs that are really the same server but look different (e.g. renamed or reordered).
# Quickly find the first 20 working configs from a huge list
xray-knife http -f configs.txt --prescan --max-passed 20
  • πŸ›‘οΈ UDP-based configs (Hysteria2, WireGuard, QUIC, mKCP) are never
    wrongly dropped by the quick check β€” they're always kept and tested.

πŸ”Œ Protocol improvements

  • πŸ” REALITY post-quantum keys β€” VLESS and Trojan now support the new
    ML-DSA-65 verification key (the pqv parameter), ready for
    quantum-resistant setups.
  • πŸ“‘ WireGuard β€” added support for keepalive, allowedips, and
    reserved (works with Cloudflare WARP-style values, comma or base64).
  • 🧩 Shadowsocks β€” modern SS-2022 links (from sing-box /
    shadowsocks-rust) now parse correctly, alongside the classic format.
  • 🧦 SOCKS β€” more robust login parsing; links without a password no
    longer cause crashes.

πŸ”„ Fresh xray-core (important compatibility work)

We upgraded to the latest xray-core and its dependencies. Upstream
removed a couple of old settings β€” we handle them automatically so your
existing links keep working: ✨

  • allowInsecure was removed upstream β†’ we now use the sanctioned
    verifyPeerCertByName replacement for VLESS, Trojan, and VMess.
  • mKCP header/seed were removed upstream β†’ configs now build cleanly
    with defaults.
  • πŸ› Fixed a VMess default-network bug, gRPC mode handling, and ALPN
    parsing.
  • πŸ› Fixed a VLESS XHTTP bug where the extra field could get corrupted.

🧰 Proxy fixes

  • 🎯 When you pass a custom inbound (-I / --inbound-config), the proxy
    now listens on the address/port from that link β€” so the health check,
    TUN, and system proxy all point to the right place.
  • ⏱️ Fixed an "instant timeout" bug in chain rotation when the delay setting
    was left empty (now defaults to a sensible 5s).
  • πŸ” Rotation now resets the failure counter for each fresh connection, so a
    new proxy doesn't inherit the last one's bad luck.

πŸ§ͺ Under the hood

Added lots of new automated tests covering the multi-website grading,
presets, deduplication, the quick pre-scan, Hysteria2 parsing, and the
SOCKS/Shadowsocks fixes β€” so all of this stays reliable. βœ…


Full details & downloads below. Happy testing! πŸš€