Skip to content

XDRIVE transport: Support XMUX ("maxConnections": 4 on Google Drive by default) and h3 - #7187

Open
4RH1T3CT0R7 wants to merge 2 commits into
XTLS:mainfrom
4RH1T3CT0R7:feat/xdrive-xmux-h3
Open

4RH1T3CT0R7 wants to merge 2 commits into
XTLS:mainfrom
4RH1T3CT0R7:feat/xdrive-xmux-h3

Conversation

@4RH1T3CT0R7

@4RH1T3CT0R7 4RH1T3CT0R7 commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

as RPRX asked in #7181. xmux the way masque has it, maxConnections 4 on google drive over h2 and 1 otherwise by default: a session takes a connection of xmux and moves to another after hMaxRequestTimes or hMaxReusableSecs, and the old one closes once its requests end. and h3 with alpn ["h3"] like DoH: quicParams and udp masks from finalmask, chrome parrot, bbr by default like xhttp, no fallback to h2 for now, with google-drive only noise among the udp masks

from a VPS to googleapis with 150 ms added, 32 parallel 4 MiB puts: google gives an h2 connection 1 MiB of window, so on one connection they make 3.4 MiB/s, spread over 4 connections 9-11, and one h3 connection makes 16.5, so h3 takes one by default

Comment thread infra/conf/transport_internet.go Outdated
}

if xdriveH3 && c.FinalMask != nil {
if c.XDRIVESettings != nil && c.XDRIVESettings.Service == "Google Drive" {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

似乎需要 rebase

@RPRX

RPRX commented Oct 17, 2026

Copy link
Copy Markdown
Member

感觉这个 PR 最好配合 #7135 ,虽然我不确定 TSPU 会不会针对 Google IP 也限制旧版 Chrome 指纹的连接数

所以 h3 时默认 maxConnections 是 1?

@4RH1T3CT0R7

Copy link
Copy Markdown
Contributor Author

@RPRX rebased. it was 4 with h3 as well, now h3 takes 1 by default and the 4 stays for h2, one h3 connection made 16.5 MiB/s where four on h2 made 9-11. xdrive takes the chrome fingerprint by default, so #7135 moves it to chrome 155 with nothing to change here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants