teddysun / xray-plugin

A SIP003 plugin based on Xray-core
MIT License
356 stars 64 forks source link

[Bug] xray-plugin作为客户端无法配置0-rtt模式,作为服务端可用。 #18

Closed sqwwqw5 closed 1 year ago

sqwwqw5 commented 1 year ago

功能详情:https://github.com/XTLS/Xray-core/pull/375

xray-plugin作为客户端没有进行xray作为客户端的path转header,变量也不提供用户自定义header,导致无法配置0-rtt。 因为xray作为服务端本身就不需配置,xray-plugin作为服务端可以成功被xray作为客户端激活0-rtt。

xray client + xray-plugin server working/-1 RTT xray plugin client + xray plugin server failed/same RTT xray plugin client + xray server failed/same RTT

解决方案:进行xray的path转header,或允许用户自定义header。

sqwwqw5 commented 1 year ago

第三种方案是硬写入header进源,但是会破坏新client与xray-core1.4.0之前的以及所有v2ray-plugin作为server的兼容性,优选方案还是进行xray-core的实现方法,将path转header。

在我的no tls/tls+websocket 250ms上游总延迟的线路上,websocket 0-RTT提升了上游https 25%的握手速度,效益很可观。 此外,测试及使用0-RTT需关闭mux,mux本身解决了tcp+tls+ws引入的3-RTT问题,然而tcp队头阻塞注定了mux体验欠佳,我向来是关闭的。

teddysun commented 1 year ago

Looks like fixed by @sqwwqw5 Welcome to test & report

PHCSJC commented 8 months ago

@sqwwqw5 看到1.8.1版本修复了,请问怎么配置0-rtt,是加上这个吗?path=/lovelive?ed=2048,我加上了就报错,还有套cdn可以实现0-rtt吗?谢谢!