mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-11-10 23:25:02 +03:00
7c8889466b
TLS: add verifyPeerCertByName (vcn) to inbound settings + emit in both share-link generators (frontend + Go sub) and outbound parser; the allowInsecure replacement xray removed after 2026-06-01. Add server-side curvePreferences, masterKeyLog, echSockopt (passthrough + form) at tlsSettings top-level so they survive the panel-only settings strip. REALITY: add limitFallbackUpload/Download (afterBytes/bytesPerSec/burstBytesPerSec) with per-field tooltips, plus masterKeyLog. Verified field names/semantics against pinned xray v1.260327.1 (bytesPerSec=0 disables). Hosts: fix verify_peer_cert_by_name column bool->string (xray expects comma-separated names) with an idempotent, history-gate-free migration (SQLite typeof blank; Postgres ALTER once); emit vcn for hosts/external proxies. Server: add getCertHash (local cert DER SHA-256) and getRemoteCertHash (xray tls ping) endpoints + api-docs; wire pinned-cert field buttons. Drop the meaningless random-hash button. Xray UI: metrics endpoint (listen/tag) config in Basics; import/export for routing rules and outbounds. Fallbacks card: compact empty state, header-aligned actions, responsive labeled grid rows. i18n: add all new keys to every locale; drop unused generateRandomPin.
126 lines
2.2 KiB
Plaintext
126 lines
2.2 KiB
Plaintext
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
|
|
exports[`inbound security forms > RealityForm field structure is stable 1`] = `
|
|
[
|
|
"Show",
|
|
"Xver",
|
|
"uTLS",
|
|
"Target",
|
|
"SNI",
|
|
"Max Time Diff (ms)",
|
|
"Min Client Ver",
|
|
"Max Client Ver",
|
|
"Short IDs",
|
|
"SpiderX",
|
|
"Public Key",
|
|
"Private Key",
|
|
"mldsa65 Seed",
|
|
"mldsa65 Verify",
|
|
"Master Key Log",
|
|
]
|
|
`;
|
|
|
|
exports[`inbound security forms > TlsForm field structure is stable 1`] = `
|
|
[
|
|
"SNI",
|
|
"Cipher Suites",
|
|
"Min/Max Version",
|
|
"uTLS",
|
|
"ALPN",
|
|
"Curve Preferences",
|
|
"Reject Unknown SNI",
|
|
"Disable System Root",
|
|
"Session Resumption",
|
|
"Digital Certificate",
|
|
"Master Key Log",
|
|
"ECH Sockopt",
|
|
"ECH key",
|
|
"ECH config",
|
|
"Pinned Peer Cert SHA-256",
|
|
"Verify Peer Cert By Name",
|
|
]
|
|
`;
|
|
|
|
exports[`inbound transport forms > GrpcForm field structure is stable 1`] = `
|
|
[
|
|
"Service Name",
|
|
"Authority",
|
|
"Multi Mode",
|
|
]
|
|
`;
|
|
|
|
exports[`inbound transport forms > HttpUpgradeForm field structure is stable 1`] = `
|
|
[
|
|
"Proxy Protocol",
|
|
"Host",
|
|
"Path",
|
|
"Headers",
|
|
]
|
|
`;
|
|
|
|
exports[`inbound transport forms > KcpForm field structure is stable 1`] = `
|
|
[
|
|
"MTU",
|
|
"TTI (ms)",
|
|
"Uplink (MB/s)",
|
|
"Downlink (MB/s)",
|
|
"CWND Multiplier",
|
|
"Max Sending Window",
|
|
]
|
|
`;
|
|
|
|
exports[`inbound transport forms > RawForm field structure is stable 1`] = `
|
|
[
|
|
"Proxy Protocol",
|
|
"HTTP Obfuscation",
|
|
]
|
|
`;
|
|
|
|
exports[`inbound transport forms > SockoptForm field structure is stable (server-side fields only) 1`] = `
|
|
[
|
|
"Sockopt",
|
|
"Real client IP",
|
|
"Route Mark",
|
|
"TCP Keep Alive Interval",
|
|
"TCP Keep Alive Idle",
|
|
"TCP Max Seg",
|
|
"TCP User Timeout",
|
|
"TCP Window Clamp",
|
|
"Proxy Protocol",
|
|
"TCP Fast Open",
|
|
"Penetrate",
|
|
"V6 Only",
|
|
"TCP Congestion",
|
|
"TProxy",
|
|
"Trusted X-Forwarded-For",
|
|
"Custom sockopt",
|
|
]
|
|
`;
|
|
|
|
exports[`inbound transport forms > WsForm field structure is stable 1`] = `
|
|
[
|
|
"Proxy Protocol",
|
|
"Host",
|
|
"Path",
|
|
"Heartbeat Period",
|
|
"Headers",
|
|
]
|
|
`;
|
|
|
|
exports[`inbound transport forms > XhttpForm field structure is stable 1`] = `
|
|
[
|
|
"Host",
|
|
"Path",
|
|
"Mode",
|
|
"Server Max Header Bytes",
|
|
"Padding Bytes",
|
|
"Headers",
|
|
"Uplink HTTP Method",
|
|
"Padding Obfs Mode",
|
|
"Session Placement",
|
|
"Sequence Placement",
|
|
"No SSE Header",
|
|
"XMUX",
|
|
]
|
|
`;
|