github Jolymmiles/Xray-core v26.8.15
Xray-core v26.8.15

3 hours ago

Highlights

  • Adds complete server-side TCP Brutal support for the in-tree SMUX and H2MUX implementations.
  • Keeps Brutal opt-in and independently configurable per inbound, with no global state and no change for existing configurations.
  • Completes the existing outbound/client implementation so Xray can now negotiate Brutal end to end.

Brutal server

  • Added per-inbound configuration:

    "smux": {
      "brutal-opts": {
        "enabled": true,
        "up": "1 Gbps",
        "down": "1 Gbps"
      }
    }
  • Carries immutable inbound limits through the accepted connection context into singmux.Service.

  • Reserves _BrutalBwExchange:0 inside the mux server before routing or DNS.

  • Applies min(server up, client down) to the physical TCP carrier and advertises server down to the client.

  • Allows one successful negotiation per carrier and shares the controller across all H2MUX streams.

  • Rejects disabled, malformed, duplicate, and out-of-range exchanges without routing them.

  • Closes the physical carrier if socket control or the post-activation response can leave asymmetric congestion control.

Compatibility notes

  • Brutal remains disabled by default; existing inbound and outbound configurations continue unchanged.
  • The server configuration is scoped to each inbound, so different inbounds may use different limits.
  • Linux servers still require the Brutal congestion-control kernel module for socket activation.
  • The SMUX/H2MUX wire format and ordinary TCP/UDP stream behavior are unchanged.

Validation

  • Passed focused unit tests for configuration propagation, bounded negotiation, rejection paths, carrier closure, routing isolation, and SMUX/H2MUX parity.
  • Passed race and checkptr suites for the mux stack.
  • Passed all 80 SMUX/H2MUX process interoperability scenarios with Xray, sing-box, and Mihomo.
  • Passed Go formatting and protobuf header checks.
  • Built a static stripped Linux amd64 binary with CGO_ENABLED=0.
  • The external DoH test against 1.1.1.1 returned EOF in this environment and is retained as the known external DNS limitation accepted for this release.

Don't miss a new Xray-core release

NewReleases is sending notifications on new releases.