You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added opt-in H2MUX support with "protocol": "h2mux" for outbound sing-mux carriers and automatic inbound H2MUX detection.
Added opt-in TCP Brutal bandwidth negotiation through brutal-opts, shared by SMUX and H2MUX.
Published Linux-only release assets, with unpacked executables alongside ZIP archives and digest files.
Supersedes v26.8.11 with restored Linux/386 Brutal build compatibility.
Fork fixes
Implemented H2MUX on the existing authenticated carrier using HTTP/2 prior knowledge and one CONNECT exchange per logical stream.
Added bounded H2MUX stream lifecycle, cancellation, replay, TCP, UDP, padding, and carrier teardown handling.
Added strict Brutal rate parsing, bounded negotiation diagnostics, physical-connection publication, and Linux socket ABI checks.
Routed the Brutal socket option through Go's architecture-aware Linux wrapper, including the 386 socketcall ABI.
Upstream changes
Synchronized with upstream main through commit bc6e966a.
Updated github.com/cloudflare/circl to 1.6.5 and docker/login-action to 4.6.0.
Compatibility notes
Empty or omitted smux.protocol still selects SMUX; YAMUX remains unsupported.
Brutal is disabled unless explicitly enabled. Both configured rates must be at least 65,536 bytes per second.
Brutal runtime use requires the Linux brutal TCP congestion-control module. Negotiation or socket setup failure rejects the carrier instead of silently falling back.
Validation
Passed unit tests for common/singmux, common/mux, app/proxyman/outbound, and infra/conf.
Passed race tests for common/singmux and common/mux.
Passed all 40 H2MUX real-process interoperability scenarios across Xray, sing-box, Mihomo, VLESS, Trojan, TCP, UDP, and padding on/off.
Built all 15 Linux release targets locally, including Linux/386 and MIPS hard-float/soft-float variants.
Built static stripped Linux/386 and Linux/amd64 release executables.