feat(xray): update xray-core to v26.9.8 and adapt panel

Bump xtls/xray-core to 37ceb8b4b6 (v26.9.8) and the three binary pins
(DockerInit.sh, release.yml Linux + Windows) in lockstep. No deleted
symbols; the impact is entirely on the JSON config surface.

Outbound "proxySettings" is now refused by the config loader (moved to
streamSettings.sockopt.dialerProxy) and a freedom outbound rejects
sockopt.addressPortStrategy. Either key in a stored template would keep
the core from starting after the upgrade, so a new OutboundRemovedKeysFix
seeder rewrites xrayTemplateConfig once: proxySettings.tag becomes
sockopt.dialerProxy (an existing dialerProxy wins) and addressPortStrategy
is dropped from freedom outbounds. Template saves and outbound
subscriptions already run through the vendored loader, so the new
refusals surface there with the core's own message.

REALITY no longer applies a built-in minClientVer (26.3.27) when the
field is empty. The form placeholder and the min/max hints in all 13
locales now say that empty means no minimum.

New upstream keys the Zod schemas would otherwise strip, with form
support where a sibling field already had it:
- blackhole response type "custom" with base64 customResponseData
- realm finalmask ipMode (dual/v4/v6) and portMapping (UPnP / NAT-PMP)
- quicParams brutalDisableLossCompensation, disableChromeParrot,
  disableGSO, disableStatelessReset
- hysteria masquerade proxy xForwarded
- wireguard outbound remoteDNS
- routing rule localOS

freedom.domainStrategy is only deprecated upstream (auto-migrated to
sockopt.domainStrategy with a warning) and is left untouched.
This commit is contained in:
Sanaei
2026-09-08 13:49:32 +02:00
parent a5e68f410f
commit 2ec6c73613
36 changed files with 554 additions and 61 deletions
+5 -2
View File
@@ -501,6 +501,7 @@
"type": "Type",
"upstreamUrl": "Upstream URL",
"rewriteHost": "Rewrite Host",
"xForwarded": "X-Forwarded headers",
"skipTlsVerify": "Skip TLS verify",
"directory": "Directory",
"statusCode": "Status code",
@@ -614,8 +615,8 @@
"maxTimeDiff": "Max Time Diff (ms)",
"minClientVer": "Min Client Ver",
"maxClientVer": "Max Client Ver",
"minClientVerHint": "Empty does not mean unrestricted: Xray-core then enforces the built-in minimum of the core build you run (26.3.27 in current releases) and rejects clients that report an older version including third-party cores such as Mihomo and sing-box. Set 1.0.0 to accept them, at the cost of admitting outdated TLS fingerprints.",
"maxClientVerHint": "Empty means no upper limit. If set, it must not be lower than the effective minimum — Min Client Ver, or Xray-core's built-in minimum when that field is empty — otherwise every client is rejected.",
"minClientVerHint": "Empty means no minimum: Xray-core accepts every client version, including third-party cores such as Mihomo and sing-box. Set a version to reject clients that report an older one.",
"maxClientVerHint": "Empty means no upper limit. If set, it must not be lower than Min Client Ver — otherwise every client is rejected.",
"clientVerInvalid": "Client version must be up to three dot-separated numbers, each 0-255 (e.g. 26.3.27)",
"maxClientVerBelowMin": "Max Client Ver must not be lower than Min Client Ver",
"shortIds": "Short IDs",
@@ -1731,6 +1732,7 @@
"inboundTag": "Inbound tag",
"inboundTagPlaceholder": "inbound tag used in routing rules",
"responseType": "Response type",
"customResponseData": "Custom response (base64)",
"rewriteNetwork": "Rewrite network",
"unchanged": "(unchanged)",
"unchangedAddress": "(unchanged) e.g. 1.1.1.1",
@@ -1743,6 +1745,7 @@
"blockDelay": "Block delay (ms)",
"reverseSniffing": "Reverse Sniffing",
"reserved": "Reserved",
"remoteDNS": "Remote DNS",
"minUploadInterval": "Min upload interval (ms)",
"maxUploadSizeBytes": "Max upload size (bytes)",
"uplinkChunkSize": "Uplink chunk size",