3x-ui3x-ui

Inbounds & Protocols

Create inbounds in 3x-ui — protocols, transports, traffic reset and expiry, and fallbacks that serve multiple protocols on one port.

An inbound is a listener that accepts client connections on a port using a particular protocol and transport. Most of your day-to-day work is creating and managing inbounds and the clients inside them.

Create an inbound

Add an inbound

Open Inbounds → Add, give it a remark, pick a protocol, and choose a port and listen address.

Choose a transport and security

Pick the transport (TCP, WebSocket, gRPC, HTTPUpgrade, XHTTP, …) and the security layer (none, TLS, or REALITY). See Transports and REALITY.

Add clients

Add one or more clients, each with its own credential, limits, and share link. See Clients.

Set traffic limit, expiry, and reset

Optionally cap total traffic and set an expiry date for the inbound, and choose a periodic traffic reset schedule: never (default), hourly, daily, weekly, or monthly.

Supported protocols

The inbound editor accepts these protocols:

ProtocolNotes
VLESSLightweight; the basis for REALITY + XTLS-Vision. Recommended.
VMessOlder but very widely supported by clients.
TrojanTLS-based; supports XTLS and fallbacks.
ShadowsocksIncludes Shadowsocks-2022 (2022-blake3-*) ciphers.
WireGuardModern tunnel.
Hysteria2Selected as hysteria; the panel emits hysteria2:// links.
HTTPHTTP proxy.
Mixed (SOCKS/HTTP)A combined SOCKS + HTTP listener.
Dokodemo-door / TunnelPort forwarding / traffic redirect.
MTProtoTelegram MTProto proxy, served by a bundled mtg process (not Xray).

Hysteria2 isn't a separate protocol internally — it's the hysteria protocol with the transport version set to 2, and the panel generates hysteria2:// share links for it.

Fallbacks — multiple protocols on one port

Fallbacks let a single TLS port (e.g. 443) serve more than one protocol — for example VLESS and Trojan — by routing unmatched handshakes to a child inbound. In 3x-ui, fallbacks are managed in the panel (a master inbound's Fallbacks list) rather than hand-written into JSON.

Fallbacks are available only when the master inbound is:

  • VLESS or Trojan,
  • on the raw TCP transport,
  • with TLS or REALITY security.

Each fallback rule targets a child inbound and can match on path, alpn, and dest. Client share links for a fallback child are automatically rewritten to advertise the master's address, port, and TLS.

Not sure which to pick?

Use the wizard to get a recommendation based on your goals and clients:

Protocol wizard

Answer a few questions to get a recommended protocol and transport.

Recommended
VLESSWebSocketTLS

VLESS + WebSocket + TLS is a flexible, CDN-friendly default for everyday use with modern clients.

For censorship resistance with modern clients, VLESS + REALITY + XTLS-Vision is the usual best choice — continue to REALITY.

On this page