dyhkwong:记录 V2Ray v5.54.1 修改 QUIC 传输默认 ALPN 造成的兼容性中断

作者开帖跟踪:V2Ray 在 v5.54.1 中为了修复「安全问题」,把 QUIC 传输的默认 ALPN 从 h2 和 http/1.1 改为 h3,且未说明这是破坏性变更;更严重的是只改了客户端、没改服务端。作者认为即便要做破坏性变更,也应默认不设 ALPN 而不是 h3,但由于 V2Ray 的基础设施,默认不设 ALPN 并不容易实现。该变更还会破坏他们自己的 Shadowsocks v2ray-plugin 实现。作者说明这并非新发现的问题,已在 Exclave wiki 的配置页记录,因为改动会破坏与 V2Ray 的兼容性,一直没有机会调整该行为。

作者原文

https://github.com/v2fly/v2ray-core/releases/tag/v5.54.1

In this version, to fix the "security issue", V2Ray changed the default ALPN of QUIC transport from "h2" and "http/1.1" to "h3", without mentioning this is a breaking change.

What's worse, they only changed the client side and forgot to change the server side.

What's worse, even if they need to make some break changes, the should default to no ALPN rather than ALPN "h3". However, due to V2Ray's infrastructure, defaulting to no ALPN is not an easy task.

What's worse, this will also break our Shadowsocks v2ray-plugin implementation.

This is NOT a newly discovered problem. We have documented this in Exclave wiki. Because changing this behavior will break the compatibility with V2Ray, we have never had the chance to change this behavior.