feat(frontend): add targetStrategy field to the outbound editor

Xray-core added a top-level targetStrategy to OutboundObject that
controls how the destination domain is resolved before dialing
(AsIs/UseIP*/ForceIP*, any protocol). The panel neither offered a
control for it nor preserved the key across the modal's JSON round
trip, so hand-written values were silently dropped on save.

The form now carries targetStrategy next to sendThrough as a select
of the 11 canonical values; the adapter normalizes wire values to
canonical case (the core matches case-insensitively) and omits the
key when unset. Freedom settings additionally read the new
settings-level targetStrategy with domainStrategy as fallback,
mirroring the core, while still emitting the legacy domainStrategy
key so configs keep working on older cores.
This commit is contained in:
MHSanaei
2026-07-02 23:03:43 +02:00
parent 9f760cf0fa
commit 258d8b7344
18 changed files with 113 additions and 10 deletions
+2
View File
@@ -1549,6 +1549,7 @@
"localIpPlaceholder": "IP محلی",
"dialerProxyPlaceholder": "یک خروجی برای زنجیره کردن انتخاب کنید",
"dialerProxyHint": "این خروجی را از طریق خروجی دیگری (با تگ) برقرار کن تا یک زنجیره پروکسی ساخته شود. برای اتصال مستقیم خالی بگذار.",
"targetStrategyHint": "نحوه تبدیل دامنه مقصد پیش از اتصال: AsIs (پیش‌فرض) آن را بدون تغییر می‌فرستد، UseIP… با امکان بازگشت تبدیل می‌کند، ForceIP… تبدیل موفق را الزامی می‌کند.",
"addressRequired": "آدرس الزامی است",
"portRequired": "پورت الزامی است",
"optional": "اختیاری",
@@ -1618,6 +1619,7 @@
"accountInfo": "اطلاعات حساب",
"outboundStatus": "وضعیت خروجی",
"sendThrough": "ارسال با",
"targetStrategy": "استراتژی مقصد",
"test": "تست",
"testResult": "نتیجه تست",
"testing": "در حال تست اتصال...",