fix(xhttp): stop injecting scMaxEachPostBytes/scMinPostsIntervalMs defaults (#5141)

The panel seeded xhttp configs with scMaxEachPostBytes=1000000 and
scMinPostsIntervalMs=30 — xray-core''s own defaults — and emitted them
into every generated config and share link. The literal
scMinPostsIntervalMs=30 is a stable DPI fingerprint that Russia''s TSPU
keys on to block connections on mobile networks.

New configs no longer seed these values (empty schema/template defaults,
so xray-core applies its internal defaults). For configs already stored
with the old defaults, the link/subscription builders now drop values
equal to xray-core''s defaults instead of advertising them — covering
panel share links, the raw subscription, and the JSON subscription
without requiring every inbound to be re-saved. Non-default values the
user set deliberately are still emitted.
This commit is contained in:
MHSanaei
2026-06-12 01:50:37 +02:00
parent 7e87b7dc60
commit 60da6bed15
10 changed files with 44 additions and 13 deletions
@@ -47,8 +47,8 @@ exports[`NetworkSettingsSchema fixtures > parses xhttp-basic byte-stably 1`] = `
"noSSEHeader": false,
"path": "/sp",
"scMaxBufferedPosts": 30,
"scMaxEachPostBytes": "1000000",
"scMinPostsIntervalMs": "30",
"scMaxEachPostBytes": "",
"scMinPostsIntervalMs": "",
"scStreamUpServerSecs": "20-80",
"seqKey": "",
"seqPlacement": "",
@@ -81,8 +81,8 @@ exports[`NetworkSettingsSchema fixtures > parses xhttp-extra-padding byte-stably
"noSSEHeader": false,
"path": "/sp",
"scMaxBufferedPosts": 30,
"scMaxEachPostBytes": "1000000",
"scMinPostsIntervalMs": "30",
"scMaxEachPostBytes": "",
"scMinPostsIntervalMs": "",
"scStreamUpServerSecs": "20-80",
"seqKey": "",
"seqPlacement": "",
@@ -115,8 +115,8 @@ exports[`NetworkSettingsSchema fixtures > parses xhttp-extra-placement byte-stab
"noSSEHeader": false,
"path": "/sp",
"scMaxBufferedPosts": 30,
"scMaxEachPostBytes": "1000000",
"scMinPostsIntervalMs": "30",
"scMaxEachPostBytes": "",
"scMinPostsIntervalMs": "",
"scStreamUpServerSecs": "20-80",
"seqKey": "X-Seq",
"seqPlacement": "cookie",