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
@@ -1665,6 +1665,7 @@
"localIpPlaceholder": "local IP",
"dialerProxyPlaceholder": "Select an outbound to chain through",
"dialerProxyHint": "Dial this outbound through another outbound (by tag) to build a proxy chain. Leave empty to connect directly.",
"targetStrategyHint": "How the destination domain is resolved before connecting: AsIs (default) sends it unresolved, UseIP… resolves with fallback, ForceIP… requires successful resolution.",
"addressRequired": "Address is required",
"portRequired": "Port is required",
"optional": "optional",
@@ -1734,6 +1735,7 @@
"accountInfo": "Account Information",
"outboundStatus": "Outbound Status",
"sendThrough": "Send Through",
"targetStrategy": "Target Strategy",
"test": "Test",
"testResult": "Test Result",
"testing": "Testing connection...",