The list of protocols looks long, but it clears up once you group them by “how they hide”.
Side by side
- VLESS + REALITY: strongest disguise, no domain or certificate, good performance. The default, especially self-hosted.
- Trojan: disguised as an HTTPS site, needs a domain + certificate, stable and mature. A good pick when you have a domain.
- VMess: the veteran; self-encrypting but more fingerprintable, needs clock sync. Gradually replaced by VLESS.
- Shadowsocks: light and fast, simplest to configure, but weaker against blocking. Effortless on relaxed networks.
- Hysteria2: UDP/QUIC, loss-resistant, fast on weak links, but data-hungry and QoS-prone. Use as a backup line.
One-line decision
Self-hosting for maximum resistance → VLESS + REALITY; have a domain and want stability → Trojan; relaxed network, minimal fuss → Shadowsocks; badly lossy link → add a Hysteria2 backup.
With someone else's subscription you don't choose a protocol — the client connects with whatever the subscription specifies. Protocol choice mainly matters when hosting your own server.