Skip to content

[Bug]: Universal subscription link for VLESS+XHTTP is not parseable by third-party clients (duplicate mode/x_padding_bytes inside "extra" JSON) #5983

Description

@KillReal1234

Describe the bug

The VLESS+XHTTP line in the plain/universal subscription (base64 list of URIs) duplicates fields both as flat query params and inside a raw JSON blob in extra:

vless://@host:443?alpn=h2%2Chttp%2F1.1&extra=%7B%22mode%22%3A%22packet-up%22%2C%22xPaddingBytes%22%3A%22100-1000%22%7D&fp=firefox&host=host&mode=packet-up&path=%2F...&security=tls&type=xhttp&x_padding_bytes=100-1000

extra (and the duplicated mode/x_padding_bytes) are not part of any documented VLESS/XHTTP URI convention. Third-party parsers (mihomo, subconverter) either drop this node or fail entirely on it. This appears related to #4347 (Clash/Mihomo subscription returns Error! for XHTTP), but affects the raw/universal subscription output as well, not only the dedicated /clash/ endpoint.

How to reproduce the problem

  1. Create a VLESS inbound with XHTTP transport (mode packet-up), TLS enabled.
  2. Add a client, enable subscription.
  3. Fetch the plain subscription URL and base64-decode it.
  4. Feed the decoded VLESS+XHTTP line to mihomo (as a proxy-provider) or to a subconverter instance — parsing fails / node is dropped.

Expected behavior

Only emit the standard, documented XHTTP query params (mode, path, host, extra padding settings as flat params if needed) without the redundant raw extra JSON blob, so third-party clients can parse the link.

Related issue = 4347

Actual behavior

No response

Relevant logs

Screenshots

No response

3x-ui version

3.5.0

Xray-core version

26.7.11

How did you install 3x-ui?

install.sh script

Operating system

Ubuntu 24.04

Which parts of the panel are affected?

Subscription (share links / Clash / JSON)

Browser (only if it is a UI bug)

No response

Is the panel behind a reverse proxy or CDN?

Yes — Nginx

Before submitting

  • I searched existing issues and this bug has not been reported.
  • I am running the latest released version of 3x-ui (or have verified the bug still exists on it).
  • This bug report is written in English.
  • I have redacted any sensitive data (tokens, real domains, client UUIDs).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions