Repository navigation
SummaryFrom RU, on two different networks (a fixed-line home ISP and BIG4 mobile), REALITY handshakes with a hybrid X25519MLKEM768 key share are reliably blocked, usually after a short warm-up. The same server and profile with a classical X25519-only key share work fine. This happens with both a sing-box-based client and native Xray-core (v2rayN, fp=chrome). Since XTLS/REALITY 8cdf7bf (Xray ≥ 26.9.8) the server rejects ClientHellos without X25519MLKEM768. As also noted in #6384, such a ClientHello is simply forwarded to the target. So for us, upgrading the server core means losing all clients in RU, and we pin the server at 26.7.28 for now. Setup
A/B test (client A)Same client, server and network; only the key share differs. 100 requests through the local proxy, each a new outbound connection, so a new REALITY handshake each time:
With hybrid, the first ~12 handshakes succeed. After that almost every new connection fails. The state lasts more than 10 minutes and survives client restarts. Switching to classical from the same client IP to the same server works instantly. The same behaviour was reproduced on MTS mobile (a different operator), which points at shared DPI rather than one ISP. Packet capture on the server
Native Xray client (client B)To rule out a client-specific ClientHello, I repeated the test with v2rayN (Xray-core 26.10.31, fp=chrome, same link, same network):
So the blocking is not specific to the sing-box/Hiddify ClientHello: the genuine uTLS Chrome hybrid ClientHello from Xray-core is affected the same way, while the classical one passes on the same path at the same time. Questions
|
Replies: 2 comments
|
Thanks for the pointer! So the target is the Chrome 133 fingerprint rather than the hybrid key share as such. That matches our data: Xray 10.26.31 with fp=chrome (Chrome 133) was blocked the same way as Hiddify's hybrid ClientHello, while the classical one passed. |
#7208 (comment)
The PR is #7135