Skip to content

checkPortExist should consider TCP vs UDP #3751

@rima71

Description

@rima71

Is your feature request related to a problem?

checkPortExist currently ignores the transport protocol, treating TCP and UDP as identical.

This causes errors like:

"Something went wrong (Port already exists: 443)"

even when creating one TCP inbound and one UDP inbound on the same port.

Use case:

H3 (QUIC) opens a UDP port

H2 / HTTP1.1 opens a TCP port

Two separate inbounds are required for XHTTP [“h3”, “h2”, “http/1.1”] to work

Reference: XTLS/Xray-core#4320

Also, this blocks safe UDP inbounds (e.g., mKCP, WireGuard) on ports used by TCP inbounds.

I tried to modify DB, but Routing Rules does not account for protocol (TCP vs UDP)

Describe the solution you'd like

Update checkPortExist to check the protocol (TCP/UDP) when verifying port conflicts.
Routing Rules should list inbounds with protocol

Describe alternatives you've considered

Add an option to ignore checkPortExist, or checkPortExist can show only warning and continue

Checklist

  • This feature report is written entirely in English.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions