mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-11-15 17:45:03 +03:00
feat(tls): add a dynamic DoH helper for echConfigList, with CDN guidance (#6869)
echConfigList already accepted Xray's dynamic form, target domain + DoH URL, but nothing in the inbound or host forms explained or built it. A helper now builds that value from presets or a custom domain and resolver, accepts only the schemes Xray dials (https, h2c, udp; scheme case normalised), warns that a key generated locally does not work behind a CDN, and asks before overwriting local ECH keys. The helper's controls carry accessible labels, and the resolver list holds only identified public resolvers.
This commit is contained in:
@@ -611,7 +611,6 @@
|
||||
"usageOption": "خيار الاستخدام",
|
||||
"buildChain": "بناء السلسلة",
|
||||
"echKey": "ECH key",
|
||||
"echConfig": "تكوين ECH",
|
||||
"pinnedPeerCertSha256": "SHA-256 لشهادة النظير المثبَّتة",
|
||||
"pinnedPeerCertSha256Tip": "تجزئات SHA-256 لشهادة النظير كسلسلة سداسية عشرية (مثل e8e2d3…)، مفصولة بفواصل. للوحة فقط — لا تُكتب في إعدادات xray على الخادم، لكنها تُضمَّن في روابط المشاركة ليتمكَّن العملاء من تثبيت الشهادة.",
|
||||
"pinnedPeerCertSha256Placeholder": "تجزئة (تجزئات) سداسية عشرية، مفصولة بفواصل",
|
||||
@@ -679,6 +678,36 @@
|
||||
},
|
||||
"echSockopt": "ECH Sockopt",
|
||||
"echSockoptTip": "خيارات السوكيت للاتصال اللي Xray بتستخدمه عشان تجيب قائمة إعدادات ECH (مثلاً توجيه الاستعلام عبر صادر dialerProxy). سيبه متعطّل عشان تستخدم الإعدادات الافتراضية.",
|
||||
"echCdnWarningTitle": "مفاتيح ECH المتولّدة محليًا بتشتغل بس مع الاتصال المباشر",
|
||||
"echCdnWarningBody": "زوج المفاتيح اللي بيتعمل بـ«Get New ECH Cert» بيبقى صالح بس لما العملاء يتصلوا بالـ VPS ده مباشرة. لو الوارد محطوط ورا Cloudflare CDN (يعني VLESS + xhttp/WS ورا السحابة البرتقالية)، فـ Cloudflare بتنهي TLS الخارجي بمفاتيح ECH بتاعتها وبتغيّرها باستمرار، فالمفتاح المحلي هيفشل في المصافحة على طول. استخدم مساعد ECH الديناميكي بدل كده.",
|
||||
"echDynamicTitle": "ECH ديناميكي عبر Cloudflare (بيشتغل ورا السحابة البرتقالية)",
|
||||
"echPresetLabel": "تركيبة جاهزة",
|
||||
"echPresetOtherDomains": "نطاقات ECH مستهدفة تانية",
|
||||
"echPresetAdvanced": "تركيبة مخصصة…",
|
||||
"echDynamicIntro": "بيملأ قائمة إعدادات ECH ببحث ديناميكي من ناحية العميل (النطاق المستهدف + مُحلِّل DoH). العميل بيسأل المُحلِّل عن سجل HTTPS بتاع النطاق في كل اتصال، فبيشوف دايمًا مفاتيح ECH الحالية — بما فيها مفاتيح Cloudflare المتغيّرة.",
|
||||
"echDynamicDomain": "النطاق المستهدف لـ ECH",
|
||||
"echDynamicDoh": "مُحلِّل DoH",
|
||||
"echDomainAuto": "تلقائي — احل سجل ECH للـ SNI بتاع العقدة",
|
||||
"echDynamicApply": "طبّق على قائمة إعدادات ECH",
|
||||
"echDynamicCustom": "URL مخصّص…",
|
||||
"echDynamicInvalid": "أدخل نطاقًا صالحًا وURL لمُحلِّل (https أو h2c أو udp) عشان تبني القيمة.",
|
||||
"echDynamicUnsupportedScheme": "Xray بيدعم بس https:// أو h2c:// أو udp:// لحل إعدادات ECH، فالعنوان ده مش هيرد أبدًا.",
|
||||
"echDynamicPlaceholder": "cloudflare-ech.com+https://dns.alidns.com/dns-query",
|
||||
"echDynamicOverwriteTitle": "الوارد ده فيه زوج مفاتيح ECH متولّد محليًا",
|
||||
"echDynamicOverwriteBody": "ورا CDN، زوج المفاتيح ده مش بيتستخدم أبدًا: الـ CDN هي اللي بتنهي مصافحة TLS. تطبيق القيمة الديناميكية هيعوّض قائمة إعدادات ECH ويمسح مفتاح ECH المحلي.",
|
||||
"echDynamicOverwriteConfirm": "عوّض وامسح المفتاح المحلي",
|
||||
"echExistingNotDynamic": "قائمة إعدادات ECH دي مش بصيغة ديناميكية؛ لو مليتها هتعوّض القيم اللي ظبطتها بإيدك.",
|
||||
"echDohGroup": {
|
||||
"china": "الصين القارية (متاحة من ورا الـ GFW)",
|
||||
"global": "عالمي",
|
||||
"europe": "أوروبا",
|
||||
"udp": "DNS عادي (udp://)"
|
||||
},
|
||||
"echRecommended": "موصى به",
|
||||
"echMainlandAdvisory": "الـ DNS المحلي بيتطلب نطاق مستهدف سجل HTTPS بتاعه فيه ECH؛ اتأكد إن الاتنين شغالين قبل الحفظ.",
|
||||
"echConfigList": "قائمة إعدادات ECH",
|
||||
"echConfigListHint": "بتتبعت للعملاء في روابط المشاركة والاشتراكات. بتقبل ECHConfigList محلي (من الزرار اللي تحت) أو الصيغة الديناميكية domain+DoH URL.",
|
||||
"echKeyHint": "للاتصال المباشر بس — سيبه فاضي لو الوارد محطوط ورا CDN.",
|
||||
"curvePreferences": "تفضيلات المنحنى",
|
||||
"curvePreferencesTip": "بتقصر منحنيات تبادل مفاتيح TLS اللي السيرفر بيعرضها، بترتيب الأفضلية (مثلاً X25519MLKEM768, X25519). سيبه فاضي عشان تستخدم الإعدادات الافتراضية لـ Xray-core.",
|
||||
"masterKeyLog": "سجل المفتاح الرئيسي",
|
||||
@@ -2360,7 +2389,6 @@
|
||||
"fingerprint": "بصمة",
|
||||
"pins": "SHA-256 للشهادة المثبّتة",
|
||||
"allowInsecure": "السماح بغير الآمن",
|
||||
"echConfigList": "قائمة إعدادات ECH",
|
||||
"muxParams": "Mux",
|
||||
"sockoptParams": "Sockopt",
|
||||
"finalMask": "Final Mask",
|
||||
|
||||
Reference in New Issue
Block a user