refactor(outbound): probe via xray burstObservatory instead of SOCKS round-trip

Replace the HTTP-mode outbound test that spun up a SOCKS inbound and
ran an httptrace'd request from the Go client with a probe-only xray
config: burstObservatory probes the target outbound directly and the
result is read from xray's /debug/vars metrics endpoint.

The probe lives inside xray, so the measured delay and failure
reasons reflect what xray itself sees over the real proxy chain.
Drops the DNS/Connect/TLS/TTFB breakdown (and statusCode) since the
observatory snapshot only exposes total delay; the frontend popover
is updated accordingly.
This commit is contained in:
MHSanaei
2026-05-27 04:53:13 +02:00
parent 3f787ae169
commit 31d7ed5103
3 changed files with 121 additions and 156 deletions
-5
View File
@@ -54,11 +54,6 @@ export const OutboundTestResultSchema = z.object({
delay: z.number().optional(),
error: z.string().optional(),
mode: z.string().optional(),
ttfbMs: z.number().optional(),
tlsMs: z.number().optional(),
connectMs: z.number().optional(),
dnsMs: z.number().optional(),
statusCode: z.number().optional(),
endpoints: z
.array(
z.object({