Skip to content

Protocol guides

One page per protocol: how to create it from the menu and the command line, its options, and how to export it for clients. Not sure which one to use? Start with Choosing a protocol.

ProtocolTransportDomain and certificateXraysing-boxmihomo
VLESS REALITYTCPnot needed
VLESS VisionTCP + TLSneeded
VLESS XHTTPHTTP / UDPdepends on the mode
VLESS + TLSTCP / WS / gRPC …needed (self-signed works)
Hysteria2UDP (QUIC)needed (self-signed works)
TUIC v5UDP (QUIC)needed (self-signed works)
AnyTLSTCP + TLSneeded (self-signed works)
Shadowsocks 2022TCP / UDPnot needed
Trojan, VMessTCP + TLSneeded
SnellTCPnot needed
SOCKS5TCPnot needed
WireGuardUDPnot needed

There are also three standalone programs that do not depend on a core: main menu 5 (Snell) for the official snell-server, 6 (ss-rust) for Shadowsocks 2022, and 7 (Hysteria2) for the official Hysteria2 server.

Each core's node menu

Choose 4 (Nodes) in a core's menu to see every protocol it supports; pick one to create, view or delete nodes.

Xray (main menu 4 → 4):

Xray protocol list

sing-box (main menu 2 → 4):

sing-box protocol list

mihomo (main menu 3 → 4):

mihomo protocol list

The command line, for every protocol

Every protocol uses the same commands; all options are in the CLI reference:

bash
psm node add    CORE PROTO --tag NAME --port PORT [protocol options]
psm node show   CORE PROTO NAME
psm node export CORE PROTO NAME [--server HOST] [--format uri|json|surge]
psm node delete CORE PROTO NAME --yes
psm node list

Switches that work across protocols:

  • --mount-443: put the node on shared port 443 next to other nodes. Available for Xray REALITY, Vision, XHTTP, Trojan and VMess, and for sing-box / mihomo REALITY, AnyTLS, Trojan, VMess and VLESS.
  • --ech true: add ECH (Encrypted Client Hello) to sing-box / mihomo VLESS, Trojan, AnyTLS, Hysteria2 and TUIC; older clients without ECH still connect.
  • --json: machine-readable output for scripts.

UUIDs, passwords and keys are generated when you leave them out. Queries hide credentials by default; export prints everything a client needs.

Released under the AGPL-3.0 license · For lawful use only; follow the laws where you live