Skip to content

[ Crucial Bug ] Marznode crashes with TypeError due to breaking change in Xray-core 25.8.31 #37

@NotaNerd021

Description

@NotaNerd021

marznode crashes when attempting to create a XHTTP REALITY inbound while using latest version of Xray-core (v25.8.31). The script fails likely because it cannot parse the new plain-text output of the xray x25519 command.

To Reproduce:

  • Use the recent version of Xray-core (v25.8.31)
  • Attempt to add a XHTTP+REALITY inbound through the marzneshin panel or xray_config.json file .
  • Marznode container will crash .

Expected behavior:

marznode should be able to parse the output from the Xray binary to generate REALITY keys, possibly by using the --format json flag when calling the xray x25519 command.

Actual behavior:

The script receives plain text instead of the expected JSON, causing a TypeError: 'NoneType' object is not subscriptable in _config.py at line 142 and crashing the container.

Logs:

Traceback (most recent call last):
  File "/app/marznode.py", line 9, in <module>
    loop.run_until_complete(main())
  File "/app/marznode/marznode.py", line 63, in main
    await xray_backend.start()
  File "/app/marznode/backends/xray/xray_backend.py", line 94, in start
    self._config = XrayConfig(backend_config, api_port=xray_api_port)
  File "/app/marznode/backends/xray/_config.py", line 55, in __init__
    self._resolve_inbounds()
  File "/app/marznode/backends/xray/_config.py", line 142, in _resolve_inbounds
    settings["pbk"] = x25519["public_key"]
TypeError: 'NoneType' object is not subscriptable

Environment:

Xray-core Version: v25.8.31 [ Problem only occurs on this exact version , every previous "stable" release works without a problem .

Server OS: Ubuntu 24.04

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions