π» mux.cool (Xray Mux)
Prizrak-Core supports mux.cool multiplexing compatible with Xray. It is the same protocol as mux in Xray-core: TCP streams and UDP/XUDP sessions share TCP connections. The implementation comes from MetaCubeX/mihomo#2980; it is more extensive than the one in Xray-core and fully compatible with it.
- Client. Enabled per proxy, separately from
smux. Do not enable both. - Server. Every sing-based inbound accepts mux.cool from Xray clients: VLESS and VMess, and also Trojan, Shadowsocks, AnyTLS, TUIC, Hysteria2 and the others served by the common handler, over any transport, XHTTP included. The server needs no option. Over XHTTP the server can keep an idle download alive for CDNs, see
mux-keep-alive-secson the XHTTP page. - XUDP. Dedicated UDP sessions, with control over their number and a policy for UDP/443.
- Connection limits. You can limit how many TCP connections are opened in total, how many sessions run on each at once and how many sessions a connection carries over its lifetime, after which it is replaced with a new one.
proxies: - name: vless-mux type: vless # ... mux.cool: enabled: true # max-carriers: 0 # maximum TCP connections, 0 means no limit # max-concurrency: 8 # active sessions per connection # max-connections: 128 # sessions over a connection's lifetime before rotation # xudp-concurrency: 4 # dedicated XUDP sessions per connection, 0 shares the pool # xudp-proxy-udp443: reject # reject | allow | skip: what to do with UDP/443xudp-proxy-udp443 decides what happens to UDP flows to port 443 (QUIC):
reject(default): the flow is refused with an error, as Xray does;allow: the flow goes through mux.cool like other UDP;skip: the flow bypasses mux.cool and uses the proxyβs own UDP.
The proxy-level udp-443: reject is checked before mux.cool.
To enable mux.cool for Remnawave subscription users, use the Remnawave host mapper; see mux.cool via the host mapper.