Cerca una guida a sing-box Reality e troverai parecchi file di configurazione che erano corretti nel 2024. Vengono ancora interpretati senza errori, ed è proprio questo il problema: niente ti avverte che hai appena costruito su campi che il progetto ha deprecato. Qui percorriamo una configurazione VLESS Reality verificata campo per campo sulla documentazione attuale, segnalando le parti che si sono spostate in silenzio.
Per riferimento, la versione su cui è stata fatta la verifica è sing-box 1.13.15, rilasciata il 29 luglio 2026.
Non hai ancora un server? La configurazione qui sotto richiede un VPS con IPv4 pubblico, accesso root e la porta 443 libera, fuori dalla rete che ti filtra: un Contabo Cloud VPS 4 (link di affiliazione) basta da 5,50 € al mese con vincolo di 24 mesi.
Carta bancaria rifiutata? Ultahost accetta anche Bitcoin e altre criptovalute, Alipay, WeChat Pay e Qiwi (pagina dei pagamenti, letta il 25 ottobre 2026). Link di affiliazione; controlla le sue condizioni per il tuo paese prima di ordinare.
Preferisci non assemblare il JSON a mano? Il nostro generatore di config VLESS REALITY gratuito crea la coppia di chiavi X25519, l'UUID e lo short ID nel tuo browser e scrive le config server e client corrispondenti per sing-box e Xray-core, pronte da incollare nei passaggi qui sotto.
REALITY richiede un server che controlli
Più RAM per lo stesso uso? vedi l'offerta Contabo Cloud VPS
Link di affiliazione: potremmo ricevere una commissione, senza costi aggiuntivi per te. Il generatore resta gratuito e non dipende da questo.
Funziona interamente nel browser: chiavi, UUID e configurazioni sono generati in locale e non vengono inviati da nessuna parte.
L'IP pubblico del tuo VPS (o un dominio che punta lì). Usato nella configurazione client e nel link.
443 è la norma: REALITY imita HTTPS.
Un sito di terzi con TLS 1.3 e HTTP/2, raggiungibile dai tuoi client. Vedi la checklist sotto lo strumento.
L'impronta TLS che il client imita. chrome è la scelta abituale.
La chiave privata va solo sul server. Quella pubblica va a ogni client.
Esadecimale, lunghezza pari, al massimo 16 caratteri.
- Le chiavi mancano o non sono valide (32 byte, base64url, 43 caratteri). Genera una coppia o incolla la tua.
Link di condivisione vless://
vless://@203.0.113.10:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.example.com&fp=chrome&pbk=&sid=&type=tcp&headerType=none#my-reality
Importalo in v2rayN, v2rayNG, Hiddify, Streisand o Shadowrocket, oppure scansiona il codice QR.
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "",
"flow": "xtls-rprx-vision",
"email": "my-reality"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"target": "www.example.com:443",
"xver": 0,
"serverNames": [
"www.example.com"
],
"privateKey": "",
"shortIds": [
""
]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
],
"routeOnly": true
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"listen": "127.0.0.1",
"port": 10808,
"protocol": "socks",
"settings": {
"udp": true
}
},
{
"listen": "127.0.0.1",
"port": 10809,
"protocol": "http"
}
],
"outbounds": [
{
"protocol": "vless",
"tag": "proxy",
"settings": {
"vnext": [
{
"address": "203.0.113.10",
"port": 443,
"users": [
{
"id": "",
"flow": "xtls-rprx-vision",
"encryption": "none"
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "www.example.com",
"fingerprint": "chrome",
"publicKey": "",
"shortId": "",
"spiderX": "/"
}
}
},
{
"protocol": "freedom",
"tag": "direct"
}
]
}# Installare Xray-core con lo script ufficiale (servizio systemd incluso)
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
# Facoltativo: verificare che la chiave pubblica corrisponda alla privata
xray x25519 -i ""
# Verificare che la destinazione risponda in TLS 1.3 e HTTP/2
xray tls ping www.example.com
# Aprire la porta
sudo ufw allow 443/tcp
# Incollare la configurazione server, testarla, poi avviare il servizio
sudo nano /usr/local/etc/xray/config.json
xray run -test -c /usr/local/etc/xray/config.json
sudo systemctl restart xray && sudo systemctl enable xray
# Seguire il log mentre si connette il primo client
sudo journalctl -u xray -f
REALITY richiede un server che controlli
Un server REALITY è un VPS con IP pubblico e la porta 443 libera, nient'altro. Il VPS base di Contabo include un IPv4 pubblico, accesso root e molto traffico, e puoi scegliere il datacenter più vicino ai tuoi utenti.
Seconda opzione, un provider statunitense con 30 giorni soddisfatti o rimborsati: il VPS Basic di Ultahost, 5,52 $/mese su 24 mesi, 1 CPU, 1 GB DDR5 e IPv4 dedicato (letto il 21 ottobre 2026), sufficiente per un server Xray. Accetta anche Bitcoin e altre criptovalute, Alipay, WeChat Pay e Qiwi (pagina dei pagamenti, letta il 25 ottobre 2026), utile se la tua carta bancaria viene rifiutata; controlla le sue condizioni per il tuo paese prima di ordinare. Vedi i VPS Ultahost
Link di affiliazione: potremmo ricevere una commissione, senza costi aggiuntivi per te. Il generatore resta gratuito e non dipende da questo.
Preferisci file già testati dall'inizio alla fine?
Il pack di configurazione VLESS + REALITY contiene un server Xray commentato sulla porta 443, un client desktop (proxy SOCKS5 e HTTP locale), un modello di link vless:// per v2rayN, v2rayNG e Shadowrocket, e due cose che questo generatore non scrive: una variante del server con contatori di traffico per dispositivo e un README con una checklist di risoluzione dei problemi in 10 punti. Ogni file JSON supera xray run -test con Xray-core 26.10.31. Solo Xray-core, nessun file sing-box.
Vedi il pack di configurazione VLESS + REALITY (4,90 EUR)Prodotto nostro, pagamento unico, ZIP di file di testo in inglese (pagina in inglese). Modelli per il tuo server, non un abbonamento VPN, e nessuna promessa che REALITY continui a passare un dato DPI. I file generati sopra funzionano anche senza.
Non hai ancora scelto il server? La nostra guida Miglior VPS per V2Ray e Xray confronta i provider su ciò che decide quanto dura un server anti-censura: posizione del datacenter, reputazione dell'IP, traffico incluso e rapidità nel sostituire un IP bloccato.
Che cosa cambia davvero Reality
I proxy convenzionali basati su TLS hanno una debolezza strutturale: il certificato appartiene a te. Un censore che ispeziona l'handshake vede un dominio e un certificato che non corrispondono a un sito web reale e popolare, e quella discrepanza è essa stessa il segnale.
L'approccio di Reality consiste nel prendere in prestito l'handshake di un sito terzo autentico. Il tuo server è configurato per puntare a un host esterno reale, e il traffico che non supera l'autenticazione viene inoltrato lì. Per un osservatore, la connessione somiglia a una connessione verso quel sito, perché in parte lo è.
Ecco perché la configurazione ha un blocco handshake. Non è un ornamento e la sua scelta conta più di qualsiasi altro valore che imposterai.
I tre campi Reality obbligatori sul server
Dentro l'oggetto tls, il blocco reality richiede esattamente tre cose secondo la documentazione:
handshake(oggetto), contenenteservereserver_port, il sito esterno da cui il tuo server prende in prestitoprivate_key(stringa), che secondo la documentazione viene generata dasing-box generate reality-keypairshort_id(stringa), descritta come una stringa esadecimale da zero a otto cifre
C'è anche un booleano enabled, e un campo facoltativo max_time_difference, che imposta la differenza di orologio tollerata tra le due estremità. La documentazione nota che il controllo è disabilitato quando questo campo è lasciato vuoto. Se lo imposti, tieni presente che ora dipendi dal fatto che entrambe le macchine mantengano l'ora esatta.
Generare le chiavi
Due valori vanno generati prima di scrivere qualsiasi cosa:
sing-box generate reality-keypair
sing-box generate uuid
La coppia di chiavi stampa una chiave privata e una chiave pubblica. La chiave privata resta sul server. La chiave pubblica va a ogni client. L'UUID è l'identità dell'utente VLESS.
Conserva la coppia insieme in un posto sicuro quando la generi. Se è rimasta solo la chiave privata, in una configurazione server per esempio, la pubblica non è persa: si ricava dalla privata, con xray x25519 -i "<chiave privata>" o incollandola nel nostro generatore di configurazione VLESS REALITY, che funziona in locale. Rigenerare la coppia, invece, invalida ogni client che hai già distribuito.
La maggior parte delle installazioni REALITY si rompe quando si ricopiano i valori. La nostra VLESS REALITY Cheat Sheet gratuita (PDF di 3 pagine in inglese, download diretto, senza registrazione) mette fianco a fianco il nome di ogni campo in Xray, sing-box e nel link vless://, con i controlli lato server e le cause di guasto più comuni. Scarica la scheda.

La parte server che segue gira su qualsiasi VPS con un IPv4 pubblico, accesso root e la porta 443 libera per l'inbound. Se non ne hai ancora uno:
★ Datacenter GDPR di Norimberga · ✓ IPv4 dedicato incluso · porta da 200 Mbit/s
Vedi i VPS Contabo →Cloud VPS 4 a 5,50 EUR/mese con IPv4 pubblico e accesso root completo, sufficiente per un server REALITY personale. Scegli una regione vicina ai tuoi utenti.→L'inbound del server
Un inbound VLESS richiede type, tag, i campi di ascolto e un array users. Ogni voce utente prende un uuid, facoltativamente un name, e facoltativamente un flow. La documentazione elenca esattamente un valore di flow disponibile: xtls-rprx-vision.
{
"type": "vless",
"tag": "vless-in",
"listen": "::",
"listen_port": 443,
"users": [
{
"name": "me",
"uuid": "PASTE-YOUR-GENERATED-UUID",
"flow": "xtls-rprx-vision"
}
],
"tls": {
"enabled": true,
"server_name": "your-handshake-host.example",
"reality": {
"enabled": true,
"handshake": {
"server": "your-handshake-host.example",
"server_port": 443
},
"private_key": "PASTE-YOUR-PRIVATE-KEY",
"short_id": "0123abcd"
}
}
}
Nota server_name e il server dell'handshake. Sono campi distinti che normalmente conterranno lo stesso host, e una discrepanza tra i due è una causa frequente di configurazioni che si avviano senza problemi e poi falliscono al momento della connessione.
La parte che quasi tutte le guide sbagliano
Ecco la differenza tra una configurazione del 2024 e una attuale. Questi tre campi dell'inbound sono stati deprecati nella versione 1.11.0:
sniffsniff_timeoutdomain_strategy
Sono usciti dall'inbound e sono diventati azioni delle regole di route. La guida alla migrazione fornisce gli equivalenti diretti:
{
"route": {
"rules": [
{ "inbound": "vless-in", "action": "sniff", "timeout": "1s" },
{ "inbound": "vless-in", "action": "resolve", "strategy": "prefer_ipv4" }
]
}
}
Quindi "sniff": true diventa un action di tipo sniff, sniff_timeout diventa il timeout di quell'azione, e domain_strategy diventa un action di tipo resolve con una strategy.
Per essere precisi sulla posta in gioco: la documentazione li segnala come deprecati e non annuncia una data di rimozione. Oggi non si rompe nulla. Ma una configurazione che li porta ancora è scritta su un'interfaccia da cui il progetto si è allontanato, e vale la pena saperlo quando scegli quale tutorial seguire.
Due campi correlati, sniff_override_destination e udp_disable_domain_unmapping, sono anch'essi segnati come deprecati nella documentazione attuale dei campi di ascolto.
Il lato client
Al client serve meno che al server. Reality sul client richiede:
public_key, la controparte della chiave privata del servershort_id, che deve corrispondere a un valore accettato dal server
L'oggetto utls si affianca a questi, con enabled e fingerprint. I valori di fingerprint documentati come accettati sono chrome, firefox, edge, safari, 360, qq, ios, android, random e randomized. La documentazione afferma che viene usato il fingerprint di Chrome quando il campo è vuoto.
Un punto di onestà qui, perché le guide tendono ad affermare il contrario: la documentazione di sing-box presenta utls come un'opzione TLS indipendente e non afferma che Reality lo richieda. La maggior parte delle configurazioni client lo attiva comunque.
Scegliere l'host di handshake
Nessun valore di configurazione incide di più sul risultato, e nessuna guida può sceglierlo al posto tuo, perché la risposta giusta dipende da dove si trova il tuo server e da dove si trovano i tuoi client.
Le proprietà che contano:
- Dovrebbe essere un host che supporta davvero TLS 1.3 sulla porta a cui punti
- Dovrebbe essere traffico plausibile dalla posizione di rete del tuo server
- Non dovrebbe essere un sito a sua volta bloccato nel paese da cui ti connetti, il che vanificherebbe completamente lo scopo
- Non dovrebbe essere un sito che controlli tu, dato che il punto è che sia traffico reale di qualcun altro
Un consiglio ripetuto di frequente è di scegliere qualcosa di grande e generico. Attenzione a questo ragionamento: un host che ogni tutorial raccomanda è, per definizione, un host che compare in ogni configurazione, e la popolarità all'interno della comunità dei proxy non è la stessa cosa che passare inosservati.
Prima di concludere che funziona
Due verifiche che vale la pena fare e che vanno oltre il "il client si è connesso".
Conferma che il fallback si comporti correttamente. Punta un normale browser all'indirizzo e alla porta del tuo server. Quello che dovresti vedere è il sito di handshake, non un errore e non un timeout. Se ottieni qualcos'altro, il passthrough non sta facendo il suo lavoro e la configurazione è più vistosa di un proxy ordinario.
Controlla entrambi gli orologi. Se imposti max_time_difference, uno scarto su una delle due macchine produrrà errori che sembrano problemi di autenticazione e ti manderà a modificare chiavi che non erano mai sbagliate.
Se stai ancora decidendo tra i motori invece di configurarne uno, i compromessi sono esposti nel nostro confronto tra sing-box e Xray.
La versione breve
Tre campi Reality obbligatori sul server: handshake, private_key, short_id. Due sul client: public_key, short_id. Le chiavi arrivano da sing-box generate reality-keypair. E se la guida che stai leggendo mette sniff o domain_strategy dentro l'inbound, è precedente alla versione 1.11 e l'equivalente attuale è un'azione di una regola di route.
I nomi dei campi, i requisiti e le deprecazioni citati in questo articolo provengono dalla documentazione ufficiale di sing-box e dalla guida alla migrazione, verificati sulla release 1.13.15 il 30 luglio 2026. Le interfacce di configurazione cambiano tra le versioni, quindi verifica sulla documentazione della release che stai usando. Aggirare la censura è limitato o illecito in alcune giurisdizioni: controlla che cosa si applica dove ti trovi.
Link di affiliazione
★ Datacenter GDPR di Norimberga · ✓ IPv4 dedicato incluso · porta da 200 Mbit/s
Un VPS che controlli completamente per tunneling e offuscamento → ContaboCloud VPS 4 · 5,50 €/mese · Carta o PayPal · ordini accettati anche fuori dall'UE→Prezzo verificato il 17/10/2026, durata 24 mesi


