# VLESS, VMess, Trojan o Shadowsocks: quale scegliere

HTML: https://v2rc.app/it/learn/choosing-a-protocol/ · Ultima revisione: 2026-11-06

Come differiscono VLESS, VMess, Trojan e Shadowsocks sulla rete, quale regge nelle reti restrittive e cosa chiedere per primo. Include cosa può importare v2rc.

Un client V2Ray non sceglie il protocollo al posto tuo. Lo decide la configurazione che importi, e quella arriva dal tuo provider o dal tuo server. La domanda pratica è quindi cosa chiedere, o cosa configurare. Questo articolo spiega le differenze che contano e si chiude con una breve raccomandazione.

> **Risposta breve.** Se puoi scegliere e la rete è restrittiva, parti da VLESS con REALITY su TCP, porta 443, con il flow `xtls-rprx-vision`. Tieni come riserva una seconda configurazione di tipo diverso, per esempio Trojan o VLESS su TLS e WebSocket. Su una rete aperta funziona quasi tutto. Nessuna scelta è definitiva: i censori si adattano, e ciò che funziona questo mese potrebbe non funzionare il prossimo.

## Tre livelli, non una scelta

“VLESS o VMess” sembra una decisione sola. In realtà sono tre:

- **Protocollo**: come il client si autentica e che aspetto ha il payload (VMess, VLESS, Trojan, Shadowsocks).
- **Trasporto**: come viaggiano i byte (TCP semplice, WebSocket, gRPC e altri).
- **Sicurezza**: ciò che avvolge la connessione (niente, TLS o REALITY).

Lo stesso protocollo può essere quasi invisibile o facile da individuare a seconda degli altri due livelli. Ciò che vede un censore dipende soprattutto da trasporto e sicurezza.

## Cosa può vedere un censore

- **Byte dall’aspetto casuale.** Shadowsocks e VMess su TCP semplice non hanno un’intestazione riconoscibile. Questo è già di per sé un segnale: dalla fine del 2021 il Great Firewall blocca le connessioni il cui primo pacchetto sembra dati completamente cifrati. Trovi i dettagli nell’[articolo sulla Cina](https://v2rc.app/it/learn/china/).
- **Un handshake TLS.** Trojan, e VLESS o VMess su TLS, sembrano HTTPS. Un censore può comunque controllare il nome del server, l’indirizzo IP, il certificato e il comportamento della connessione.
- **Un handshake preso in prestito.** REALITY imita l’handshake TLS di un sito reale che scegli tu. Una sonda che non possiede la chiave viene inoltrata a quel sito reale e vede le sue pagine vere. Non ti servono un nome di dominio né un certificato tuoi.

## I quattro protocolli a confronto

| | VMess | VLESS | Trojan | Shadowsocks |
|---|---|---|---|---|
| Cifra il payload da sé | Sì | No, si affida a TLS o REALITY | No, si affida a TLS | Sì |
| Aspetto di default | Byte casuali su TCP semplice | Dipende dalla sicurezza: byte casuali, TLS o REALITY | HTTPS | Byte casuali |
| Richiede un dominio e un certificato tuoi | Solo con TLS | Solo con TLS, non con REALITY | Sì | No |
| Fallisce se l’orologio è sbagliato | Sì | No | No | No |
| Si importa in v2rc | Sì | Sì | Sì | Sì |

- **VMess** è il protocollo V2Ray originale. Si autentica con un UUID e un timestamp, ed è per questo che un orologio del telefono o del server sfasato di un paio di minuti lo fa fallire senza alcun messaggio di errore. Usa alterId 0 (la modalità AEAD); un alterId diverso da zero è legacy.
- **VLESS** è il successore più leggero. Non cifra nulla da sé, quindi è riservato solo quanto il livello che c’è sotto. Usalo con TLS o REALITY, mai con la sicurezza `none` attraverso internet.
- **Trojan** copia HTTPS: una password dentro una normale connessione TLS. A un client che non conosce la password viene mostrata invece una normale pagina web. Serve un certificato vero per un dominio vero, e un dominio può essere bloccato.
- **Shadowsocks** è un proxy cifrato collaudato da tempo e il più semplice da gestire. Usa un cifrario AEAD; i vecchi cifrari a flusso come `rc4-md5` o `aes-256-cfb` sono deboli. Senza plug-in o wrapper il suo traffico è del tipo completamente cifrato.

## Cosa aggiungono REALITY e Vision

In una configurazione REALITY vedrai `security=reality`, un nome del server (`sni`), una chiave pubblica (`pbk`) e uno short ID (`sid`). Il nome del server deve essere un sito reale che supporti TLS 1.3 e HTTP/2; la [documentazione di REALITY](https://github.com/XTLS/REALITY) chiede esattamente questo.

`flow=xtls-rprx-vision` è il flow Vision. Una connessione TLS trasportata dentro un’altra connessione TLS lascia uno schema riconoscibile; la letteratura di ricerca lo chiama TLS-in-TLS, e [Xue et al. (USENIX Security 2024)](https://www.usenix.org/conference/usenixsecurity24/presentation/xue) hanno mostrato che schemi di questo tipo possono smascherare i proxy offuscati. Vision è stato progettato per ridurre questo schema nel traffico che è già di per sé HTTPS.

Nessuno dei due è magico. L’indirizzo IP e la rete di hosting del tuo server contano ancora, e REALITY non nasconde il fatto che una connessione va verso l’indirizzo di un data center estero.

## Cosa chiedere

1. **Su una rete restrittiva** (Russia, Iran, Cina e simili): VLESS con REALITY e Vision su TCP, porta 443.
2. **Una seconda configurazione di tipo diverso:** Trojan, oppure VLESS su TLS con WebSocket o gRPC, eventualmente dietro una CDN. Una CDN nasconde l’indirizzo IP del tuo server, ma dipende dal fatto che la CDN stessa sia raggiungibile e non rallentata dove ti trovi.
3. **Su una rete aperta:** uno qualsiasi dei quattro. Usa ciò che il tuo provider già supporta.
4. **Se il tuo provider ti dà un abbonamento:** non scegli tu, ma puoi leggere i link per sapere cosa hai ricevuto. Vedi [come leggere un link di configurazione](https://v2rc.app/it/learn/read-a-config-link/).
5. **Tieni almeno due configurazioni di host diversi.** Quando una fallisce, ti serve un altro indirizzo IP e, meglio ancora, un altro protocollo, non un’altra configurazione dello stesso server.

## Cosa v2rc può importare e cosa no

v2rc importa VMess, VLESS (compreso REALITY), Shadowsocks e Trojan da un link, da un file JSON V2Ray, dagli appunti o da un URL di abbonamento. Non importa Hysteria 2, TUIC, WireGuard, AmneziaWG né NaiveProxy. I primi quattro funzionano su UDP, che molte reti restrittive scartano; NaiveProxy funziona su HTTPS ma richiede un proprio client. Per questi ti serve un’altra app.

v2rc non include server: le configurazioni le porti tu. Smart Connect sceglie la configurazione più veloce e verifica che il tunnel faccia davvero passare il traffico prima di cambiare.

## Fonti

- [Documentazione di REALITY](https://github.com/XTLS/REALITY) ed [esempi di configurazione di Xray](https://github.com/XTLS/Xray-examples)
- [Descrizione del protocollo Trojan](https://trojan-gfw.github.io/trojan/protocol)
- [Specifica AEAD di Shadowsocks](https://shadowsocks.org/doc/aead.html)
- Xue, Kallitsis, Houmansadr, Ensafi: [Fingerprinting Obfuscated Proxy Traffic with Encapsulated TLS Handshakes](https://www.usenix.org/conference/usenixsecurity24/presentation/xue), USENIX Security 2024
- Wu et al.: [How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic](https://gfw.report/publications/usenixsecurity23/en/), USENIX Security 2023
