Skip to content

bug: custom config with finalmask rejected by Configs tab #88

Description

@nnemirovsky

description

V2RayXS v1.6.2 bundles xray-core 26.2.6 which supports the finalmask obfuscation layer (including XDNS for DNS tunneling). However, the Configs tab fails to load custom JSON config files that contain the finalmask field. It shows a brief "Check /path/to/config.json" message with no further explanation. The core does not start.

additionally, the transport settings UI only offers old header camouflage types (srtp, utp, wechat-video, dtls, wireguard, dns) and has no option for the new finalmask system.

steps to reproduce

  1. create a valid xray JSON config file containing:
"streamSettings": {
  "network": "kcp",
  "kcpSettings": { "mtu": 130 },
  "finalmask": {
    "udp": [{"type": "xdns", "settings": {"domain": "t.example.com"}}]
  }
}
  1. open V2RayXS, go to Advanced > Configs tab
  2. add the path to the config file
  3. click Finish, select the config under Server menu
  4. click Load core
  5. observe: "Check /path/to/config.json" message, core stays unloaded

diagnosis

running the same config file directly with the bundled xray binary works:

/path/to/V2RayXS/bin/xray/xray run -c /path/to/config.json

xray-core 26.2.6 accepts the config and the XDNS tunnel functions correctly. the issue is in V2RayXS's config validation rejecting the finalmask field before passing it to xray-core.

expected behavior

V2RayXS should pass the config through to xray-core without validating unknown fields, or add proper finalmask support to its config parser.

environment

  • V2RayXS v1.6.2
  • xray-core 26.2.6 (bundled)
  • macOS 15.4 arm64

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions