Mux.Cool
The muxcool key of a VLESS inbound or outbound: how Mux.Cool is used. On an outbound each key means "send"; on an inbound, "accept". Left out, UDP goes as XUDP and TCP is not multiplexed, as in Xray's and sing-box's clients.
Structure
{
"udp": {
"enabled": true,
"xudp": {
"enabled": true,
"global_id": { "enabled": true, "hold_time": "60s" }
}
},
"tcp": { "enabled": false }
}Fields
udp.enabled
booleanDefault: true
Carry UDP through Mux.Cool. false uses the protocol's plain UDP; on an inbound, an Xray or sing-box client's default UDP then fails.
udp.xudp.enabled
booleanDefault: true
Use XUDP: one sub-connection carries every destination of a UDP session. false is refused, since plain Mux.Cool UDP is not built.
udp.xudp.global_id.enabled
booleanDefault: true
Name each UDP session with a Global ID, so a session survives a lost stream (a phone moving from Wi-Fi to mobile data): the destination keeps seeing the same source port. Tested against Xray's server, which supports it (Xray 26.10.10). sing-box's server was not found to use it.
udp.xudp.global_id.hold_time
durationDefault: 60sinbound only
How long the server holds a session whose stream was lost. Only the same user can take it back.
tcp.enabled
booleanDefault: false
TCP over Mux.Cool is not built: true is refused.
udp.concurrency, tcp.concurrency and tcp.max_total are reserved and refused.