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": "yerel IP",
"dialerProxyPlaceholder": "Zincirlemek için bir giden bağlantı seçin",
"dialerProxyHint": "Bir proxy zinciri oluşturmak için bu giden bağlantıyı başka bir giden bağlantı (etikete göre) üzerinden bağlayın. Doğrudan bağlanmak için boş bırakın.",
"targetStrategyHint": "Bağlanmadan önce hedef alan adının nasıl çözümleneceği: AsIs (varsayılan) olduğu gibi gönderir, UseIP… çözümler ve başarısızsa geri döner, ForceIP… çözümleme zorunludur.",
"addressRequired": "Adres zorunludur",
"portRequired": "Port zorunludur",
"optional": "opsiyonel",
@@ -1618,6 +1619,7 @@
"accountInfo": "Hesap Bilgileri",
"outboundStatus": "Giden Bağlantı Durumu",
"sendThrough": "Üzerinden Gönder",
"targetStrategy": "Hedef Stratejisi",
"test": "Test",
"testResult": "Test Sonucu",
"testing": "Bağlantı test ediliyor...",