3x-ui/web
pwnnex 0a99f19950 Also propagate xhttp xPadding settings into the panel's own Info/QR links
The previous commit covered the subscription service
(sub/subService.go). The admin-panel side — the "Copy URL" / QR /
Info buttons inside inbound details — has four more
xhttp-emitting link generators in `web/assets/js/model/inbound.js`
(`genVmessLink`, `genVLESSLink`, `genTrojanLink`, `genSSLink`) that
had the exact same gap: only `path`, `host` and `mode` were copied.

Mirror the server-side fix on the client:

* Add two static helpers on `Inbound`:
  - `Inbound.applyXhttpPaddingToParams(xhttp, params)` for
    `vless://` / `trojan://` / `ss://` style URLs — writes
    `x_padding_bytes=<range>` (sing-box family) and
    `extra=<url-encoded-json>` (xray-core family).
  - `Inbound.applyXhttpPaddingToObj(xhttp, obj)` for the VMess base64
    JSON body — sets the same fields directly on the object.
* Call them from all four link generators so an admin who enables
  obfs mode + a custom `xPaddingKey` / `xPaddingHeader` actually
  gets a working URL from the panel.
* Only non-empty fields are emitted, so default inbounds produce
  exactly the same URL as before.

Also fixes a latent positional-args bug in
`web/assets/js/model/outbound.js`: both VMess-JSON (L933) and
`fromParamLink` (L975) were calling
`new xHTTPStreamSettings(path, host, mode)` — but the 3rd positional
arg of the constructor is `headers`, not `mode`, so `mode` was
landing in the `headers` slot and the actual `mode` field stayed at
its default. Construct explicitly and set `mode` by name; while
here, also pick up `x_padding_bytes` and the `extra` JSON blob from
the imported URL so the symmetric case of importing a padded link
works too.
2026-04-21 18:33:44 +03:00
..
assets Also propagate xhttp xPadding settings into the panel's own Info/QR links 2026-04-21 18:33:44 +03:00
controller Centralize session options and adjust cookies 2026-04-20 14:00:18 +02:00
entity Add SSRF protection (#4044) 2026-04-20 00:18:20 +02:00
global Refactor code and fix linter warnings (#3627) 2026-01-05 05:54:56 +01:00
html Set CWND multiplier default and min to 1 2026-04-21 14:50:37 +02:00
job revert: Disconnect client due to exceeded IP limit (#3948) 2026-04-19 21:52:40 +02:00
locale update dependencies 2026-03-04 13:05:29 +01:00
middleware docs: add comments for all functions 2025-09-20 09:35:50 +02:00
network docs: add comments for all functions 2025-09-20 09:35:50 +02:00
service revert Fix geosite:ru rule (ram leak) 2026-04-21 12:55:16 +02:00
session v2.9.0 2026-04-20 21:43:49 +02:00
translation feat: Add NordVPN NordLynx (WireGuard) integration (#3827) 2026-04-20 00:41:50 +02:00
websocket fix: enhance WebSocket stability, resolve XHTTP configurations and fix UI loading shifts (#3997) 2026-04-19 21:01:00 +02:00
web.go revert Fix geosite:ru rule (ram leak) 2026-04-21 12:55:16 +02:00