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": "نوع",
"upstreamUrl": "آدرس Upstream",
"rewriteHost": "بازنویسی Host",
"xForwarded": "هدرهای X-Forwarded",
"skipTlsVerify": "رد تایید TLS",
"directory": "دایرکتوری",
"statusCode": "کد وضعیت",
@@ -614,8 +615,8 @@
"maxTimeDiff": "حداکثر اختلاف زمان (ms)",
"minClientVer": "حداقل نسخه کلاینت",
"maxClientVer": "حداکثر نسخه کلاینت",
"minClientVerHint": "خالی بودن به معنای بدون محدودیت نیست: در این حالت Xray-core حداقل داخلیِ نسخهٔ هسته‌ای را که اجرا می‌کنید (در نسخه‌های فعلی 26.3.27) اعمال می‌کند و کلاینت‌هایی را که نسخهٔ قدیمی‌تری اعلام می‌کنند رد می‌کند — از جمله هسته‌های شخص ثالث مانند Mihomo و sing-box. مقدار 1.0.0 آن‌ها را می‌پذیرد، به بهای پذیرش اثر انگشت‌های TLS قدیمی.",
"maxClientVerHint": "خالی یعنی بدون سقف. در صورت تنظیم، نباید از حداقلِ مؤثر — حداقل نسخه کلاینت، و در صورت خالی بودن آن فیلد، حداقل داخلی Xray-core — کمتر باشد، وگرنه همهٔ کلاینت‌ها رد می‌شوند.",
"minClientVerHint": "خالی یعنی بدون حداقل: Xray-core هر نسخهٔ کلاینتی را می‌پذیرد، از جمله هسته‌های شخص ثالث مانند Mihomo و sing-box. برای رد کردن کلاینت‌هایی که نسخهٔ قدیمی‌تری گزارش می‌دهند، یک نسخه تعیین کنید.",
"maxClientVerHint": "خالی یعنی بدون سقف. در صورت تنظیم، نباید از حداقل نسخه کلاینت کمتر باشد — در غیر این صورت همهٔ کلاینت‌ها رد می‌شوند.",
"clientVerInvalid": "نسخهٔ کلاینت باید حداکثر سه عدد جداشده با نقطه باشد، هر یک 0-255 (مثلاً 26.3.27)",
"maxClientVerBelowMin": "حداکثر نسخهٔ کلاینت نباید از حداقل نسخهٔ کلاینت کمتر باشد",
"shortIds": "Short IDها",
@@ -1613,6 +1614,7 @@
"inboundTag": "تگ ورودی",
"inboundTagPlaceholder": "تگ ورودی استفاده‌شده در قوانین مسیریابی",
"responseType": "نوع پاسخ",
"customResponseData": "پاسخ سفارشی (base64)",
"rewriteNetwork": "بازنویسی شبکه",
"unchanged": "(بدون تغییر)",
"unchangedAddress": "(بدون تغییر) مثل 1.1.1.1",
@@ -1625,6 +1627,7 @@
"blockDelay": "تأخیر بلاک (ms)",
"reverseSniffing": "Sniffing معکوس",
"reserved": "رزرو شده",
"remoteDNS": "DNS راه دور",
"minUploadInterval": "حداقل بازه آپلود (ms)",
"maxUploadSizeBytes": "حداکثر اندازه آپلود (بایت)",
"uplinkChunkSize": "اندازه قطعه آپلینک",