Generador de configuración VLESS + REALITY
Introduce la dirección de tu servidor y el sitio del que REALITY debe tomar prestado el handshake TLS. El generador crea el par de claves X25519, el UUID y el short ID, y escribe las configuraciones de servidor y cliente para Xray-core o sing-box, un enlace vless:// para importar en v2rayN, v2rayNG, Hiddify o Shadowrocket, y los comandos de instalación. Las claves nunca salen de tu navegador.
Todo ocurre en tu navegador: claves, UUID y configuraciones se generan en local y no se envían a ningún sitio.
La IP pública de tu VPS (o un dominio que apunte a ella). Se usa en la configuración del cliente y en el enlace.
443 es lo habitual: REALITY imita HTTPS.
Un sitio de terceros con TLS 1.3 y HTTP/2, accesible desde tus clientes. Mira la lista de comprobación bajo la herramienta.
La huella TLS que imita el cliente. chrome es la opción habitual.
La clave privada va solo en el servidor. La pública va a cada cliente.
Hexadecimal, longitud par, hasta 16 caracteres.
- Faltan las claves o no son válidas (32 bytes, base64url, 43 caracteres). Genera un par o pega el tuyo.
Enlace vless:// para compartir
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
Impórtalo en v2rayN, v2rayNG, Hiddify, Streisand o Shadowrocket, o escanea el código 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"
}
]
}# Instalar Xray-core con el script oficial (servicio systemd incluido)
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
# Opcional: confirmar que la clave pública corresponde a la privada
xray x25519 -i ""
# Comprobar que el destino responde en TLS 1.3 y HTTP/2
xray tls ping www.example.com
# Abrir el puerto
sudo ufw allow 443/tcp
# Pegar la configuración del servidor, probarla y arrancar el servicio
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
# Seguir el registro mientras se conecta el primer cliente
sudo journalctl -u xray -f
REALITY necesita un servidor que controles
Un servidor REALITY es un VPS con IP pública y el puerto 443 libre, nada más. El VPS de entrada de Contabo incluye IPv4 pública, acceso root y mucho tráfico, y puedes elegir el datacenter más cercano a tus usuarios.
Enlace de afiliado: podemos recibir una comisión, sin coste extra para ti. El generador sigue siendo gratuito y no depende de ello.
Qué hace cada valor y por qué deben coincidir
REALITY sustituye al certificado TLS que normalmente necesitarías. Tu servidor responde en el puerto 443 como el sitio real que elegiste como destino: un censor que se conecta sin las credenciales correctas recibe el handshake y las páginas del sitio auténtico, reenviados por tu servidor. Solo un cliente que conoce la clave pública del servidor y un short ID válido completa el handshake del proxy.
Por eso cuatro valores deben coincidir en ambos lados. La clave privada se queda en el servidor y la pública va a cada cliente. El sitio destino debe aparecer como destino (target, o dest en guías antiguas; handshake.server en sing-box) y en los nombres de servidor aceptados, y el cliente lo envía como SNI. El short ID que envía el cliente debe estar en la lista del servidor. El UUID identifica al usuario, y xtls-rprx-vision debe configurarse en ambos extremos o la conexión se rechaza.
Las configuraciones de abajo se limitan a los campos documentados: sin opciones sniff obsoletas de sing-box en el inbound y sin transportes de más. Añade reglas de enrutamiento u otros usuarios cuando el túnel básico funcione.
Elegir el sitio destino: lista de comprobación
El destino importa más que cualquier otro campo, y ninguna herramienta puede elegirlo por ti. Estas son las propiedades que debes comprobar antes de decidir.
| Comprobación | Por qué importa | Cómo verificarlo |
|---|---|---|
| TLS 1.3 y HTTP/2 | REALITY necesita un handshake TLS 1.3 que imitar | xray tls ping <host>, o curl -I --tlsv1.3 --http2 |
| No bloqueado donde están tus clientes | Un destino bloqueado hace que tu servidor parezca un sitio bloqueado | Ábrelo desde la red del cliente sin proxy |
| Plausible desde la red de tu servidor | Un VPS pequeño que sirve la portada de un gigante llama la atención; un host del mismo proveedor o región pasa más desapercibido | Compara la ubicación IP del destino con el datacenter de tu VPS |
| Sin redirección a otro dominio | El SNI debe coincidir con el certificado que sirve realmente el destino | curl -sI https://<host> y busca una cabecera Location |
| No es tu propio dominio | La idea es parecer tráfico real de otra persona | Elige un sitio de terceros que no controles |
Eludir restricciones de red está restringido o es ilegal en algunas jurisdicciones. Comprueba qué se aplica donde estáis tú y tus usuarios.