---
title: "VLESS"
description: "Los transportes, flujos, cifrado, opciones TLS, enlaces y funciones de VLESS que admite Potatso."
---

> Documentation Index
> Fetch the complete documentation index at: https://potatso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# VLESS

Un servidor VLESS se describe con un **ID de usuario** (un UUID), su **seguridad** (ninguna, TLS o REALITY) y un **transporte** que lleva la conexión, como WebSocket o gRPC. También puede usar el **flujo Vision**, que oculta el patrón de «TLS dentro de TLS» del tráfico HTTPS que pasa por un proxy, y **VLESS Encryption**, la capa de cifrado poscuántico de Xray. Potatso se conecta a un servidor cuando admite todos estos ajustes. Usa las tablas siguientes para comprobar los ajustes de tu servidor, tal como los muestra tu proveedor o su enlace `vless://`.

Puedes añadir un servidor VLESS a mano, con un [enlace `vless://`](#links) o importándolo desde:

- una suscripción de Clash o Mihomo,
- una configuración de Xray o V2Ray.

Potatso todavía no importa servidores VLESS desde una configuración de sing-box. Usa en su lugar el enlace `vless://` del servidor.

Cada ajuste admitido de abajo se prueba con servidores reales de [Xray](https://github.com/XTLS/Xray-core) y [sing-box](https://sing-box.sagernet.org/).

## ID de usuario {#user-id}

El ID de usuario suele ser un UUID, como `3971e1b2-18a3-4f83-8fa6-bf9b142ee258`. Los servidores Xray también aceptan como ID cualquier otro texto de hasta 30 caracteres y lo convierten en un UUID de la misma forma que todos los clientes. Potatso también lo hace, así que usa el ID exactamente como te lo da tu proveedor.

## Transportes {#transports}

| Transporte | `type` del enlace | Admitido | Probado con |
| --- | --- | --- | --- |
| Sin transporte (TCP simple) | `tcp`, `raw`, o ninguno | ✅ | Xray, sing-box |
| WebSocket | `ws` | ✅ Con o sin early data | Xray, sing-box |
| gRPC | `grpc` | ✅ | Xray, sing-box |
| HTTP Upgrade | `httpupgrade` | ✅ | Xray, sing-box |
| [XHTTP](#xhttp) | `xhttp`, `splithttp` | ✅ En modo `stream-one` y `auto` | Xray |
| HTTP/2 | `http` o `h2` | ✅ | sing-box |
| mKCP | `kcp` | ❌ | |
| QUIC | `quic` | ❌ | |
| TCP con ofuscación de cabecera HTTP | `tcp` con `headerType=http` | ❌ | |

Todos los transportes funcionan con y sin TLS, y con UDP. Potatso no importa un servidor cuyo transporte no admite.

Xray ya no ofrece HTTP/2 ni QUIC: los servidores Xray que los usaban ahora usan XHTTP.

### XHTTP {#xhttp}

XHTTP (antes SplitHTTP) tiene varios modos. Potatso envía toda la conexión como una única petición HTTP (`stream-one`). Un servidor Xray lo acepta en su modo predeterminado `auto` y en los modos `stream-one` y `stream-up`, así que un enlace con `mode=auto`, o sin modo, funciona.

Potatso no admite los modos de cliente `packet-up` y `stream-up`, y no importa un enlace que los pida. El parámetro `extra` de un enlace XHTTP no se admite: Potatso lo ignora. Potatso edita servidores XHTTP con TLS o REALITY; un servidor XHTTP importado sin TLS sigue funcionando.

## Seguridad {#security}

| Seguridad | `security` del enlace | Admitida |
| --- | --- | --- |
| Ninguna | `none`, o ninguno | ✅ Tu tráfico no va cifrado salvo que el servidor use [VLESS Encryption](#encryption). |
| TLS | `tls` | ✅ |
| [REALITY](#reality) | `reality` | ✅ Sin transporte, con gRPC o con XHTTP |

### Ajustes TLS {#tls}

| Ajuste | Clave de Clash | Parámetro del enlace | Admitido |
| --- | --- | --- | --- |
| Nombre del servidor (SNI) | `servername` | `sni` | ✅ Sin él, Potatso usa la dirección del servidor. |
| ALPN | `alpn` | `alpn` | ✅ Sin él, Potatso envía `http/1.1` para WebSocket, `h2` para gRPC, HTTP/2 y XHTTP, y nada para los demás. |
| Omitir verificación del certificado | `skip-cert-verify` | `allowInsecure`, `insecure` | ✅ |
| Pin del certificado (SHA-256) | `fingerprint` | `pcs` | ✅ Un certificado |
| Verificar el certificado con otro nombre | | `vcn` | ❌ Potatso comprueba el certificado con el nombre del servidor. |
| Huella digital del navegador | `client-fingerprint` | `fp` | ✅ `chrome`, `firefox`, `safari`, `ios`, `android`, `edge` y `random`. Otros nombres se conectan con una negociación predeterminada. |
| Encrypted Client Hello (ECH) | `ech-opts` | `ech` | ✅ Con la configuración ECH en el enlace o la suscripción |
| Certificado de CA personalizado | | | ❌ |
| Certificado de cliente TLS | `certificate`, `private-key` | | ❌ |

Desactivar la verificación del certificado permite que cualquiera entre tú y el servidor lea tu tráfico. Si el servidor usa un certificado autofirmado, fija mejor su certificado: indica el SHA-256 de su certificado como pin del certificado. Potatso fija un solo certificado; no importa un enlace que enumere varios en `pcs`.

Una huella digital del navegador hace que la negociación TLS de la conexión parezca la de ese navegador. No cambia lo que debe admitir el servidor.

### REALITY {#reality}

Un servidor REALITY toma prestado el certificado TLS de otro sitio web, así que no necesita uno propio. Indica la **clave pública** y el **ID corto** del servidor tal como te los da tu proveedor, y como nombre del servidor el sitio web del que lo toma prestado. El `spx` del enlace (spider path) no hace falta para conectarse, y Potatso lo ignora.

REALITY necesita una huella digital del navegador: cuando tu enlace o tus ajustes no la tienen, Potatso usa `chrome`. Con REALITY, `android` y los nombres que Potatso no conoce también se conectan como `chrome`.

REALITY funciona sin transporte, con gRPC y con XHTTP.

## Flujo Vision {#vision}

| Flujo | `flow` del enlace | Admitido |
| --- | --- | --- |
| Ninguno | ninguno | ✅ |
| Vision | `xtls-rprx-vision` | ✅ |
| Vision, UDP 443 permitido | `xtls-rprx-vision-udp443` | ✅ |
| `xtls-rprx-direct`, `xtls-rprx-splice` y otros flujos XTLS antiguos | | ❌ Xray los eliminó |

Vision solo funciona sin transporte y con TLS o REALITY: Potatso no guarda ni importa un servidor Vision con otro transporte o sin TLS. También funciona con VLESS Encryption sobre TLS.

Con Vision, UDP se transporta como lo hace Xray, sobre Mux.Cool, que aceptan tanto los servidores Xray como los de sing-box. El propio cliente de Xray rechaza UDP al puerto 443 (QUIC) con `xtls-rprx-vision`, para que los navegadores recurran a TCP; Potatso lo transporta con ambos flujos.

## VLESS Encryption {#encryption}

VLESS Encryption (`mlkem768x25519plus`) es la capa de cifrado poscuántico de Xray: un intercambio de claves ML-KEM-768 y X25519 bajo la conexión VLESS. El ajuste `decryption` del servidor tiene un valor `encryption` equivalente para los clientes, que tiene este aspecto:

```text
mlkem768x25519plus.native.0rtt.<key>
```

| Ajuste | Admitido |
| --- | --- |
| Modos `native`, `xorpub` y `random` | ✅ |
| `1rtt` y `0rtt` (conexiones reanudadas) | ✅ |
| Servidor autenticado con una clave X25519 o ML-KEM-768 | ✅ |
| Sin transporte y sin TLS | ✅ |
| Sobre TLS | ✅ También con Vision |
| Vision sin TLS | ❌ |

Potatso conserva el valor `encryption` de un enlace, una suscripción de Clash o una configuración de Xray. Todavía no puedes escribir uno en los ajustes del servidor.

## Multiplexación {#mux}

Potatso puede ejecutar varias conexiones sobre una sola conexión VLESS, indicada con `smux` en una suscripción de Clash:

| Protocolo | `smux.protocol` de Clash | Servidores | Admitido |
| --- | --- | --- | --- |
| Mux.Cool (Xray) | `muxcool` | Xray, sing-box | ✅ TCP y UDP |
| Multiplexación de sing-box | `smux`, `yamux`, `h2mux` | sing-box, con la multiplexación activada | ✅ TCP y UDP, con o sin padding |

Con Vision, Mux.Cool solo transporta UDP y cada conexión TCP conserva su propia conexión, como en Xray. La multiplexación de sing-box no funciona con Vision, y Potatso no importa un servidor Vision que la pida.

Los ajustes `mux` de Xray en una configuración de Xray no se importan.

## UDP {#udp}

VLESS transporta UDP por la misma conexión que TCP. UDP está desactivado por defecto, como en Clash. Activa Retransmisión UDP en los ajustes del servidor si tu servidor retransmite UDP: Xray y sing-box lo hacen. Una suscripción de Clash lo activa con `udp: true`.

Cada flujo UDP obtiene su propia conexión con el servidor, y cada destino su propio flujo. Potatso no admite XUDP ni packetaddr (`packetEncoding` en un enlace, `packet-encoding` o `xudp` en una suscripción): los servidores aceptan el UDP de Potatso sin ellos, y Potatso ignora el ajuste.

## Compatibilidad de funciones {#features}

| Función | Admitida |
| --- | --- |
| [Protocolo VLESS](https://xtls.github.io/en/development/protocols/vless.html) versión 0: comandos TCP y UDP | ✅ |
| UUID y ID de usuario de texto | ✅ |
| Varios usuarios en un servidor | ✅ Cada uno con su propio ID |
| Flujo Vision (`xtls-rprx-vision`, `-udp443`) | ✅ Consulta [Vision](#vision) |
| VLESS Encryption (`mlkem768x25519plus`) | ✅ Consulta [VLESS Encryption](#encryption) |
| TLS, REALITY, ECH, pin de certificado, huellas digitales del navegador | ✅ Consulta [Seguridad](#security) |
| Transportes WebSocket, gRPC, HTTP Upgrade, HTTP/2 | ✅ Consulta [Transportes](#transports) |
| XHTTP | Modo `stream-one` y `auto` |
| mKCP, QUIC, ofuscación de cabecera HTTP de TCP | ❌ |
| Mux.Cool | ✅ |
| XUDP, packetaddr | ❌ UDP usa el comando UDP simple |
| Multiplexación de sing-box (smux, yamux, h2mux) | ✅ |
| Proxy inverso (`reverse` de VLESS) | ❌ Es una función del servidor |
| Enlaces `vless://` ([estándar de enlaces para compartir de Xray](https://github.com/XTLS/Xray-core/discussions/716)) | ✅ |

## Enlaces `vless://` {#links}

Un enlace `vless://` contiene un servidor completo en una sola línea:

```text
vless://id@host:port?type=…&security=…&…#name
```

| Parte | Descripción |
| --- | --- |
| `id` | El ID de usuario. |
| `host` | Dirección del servidor. Pon una dirección IPv6 entre corchetes, como `[2001:db8::1]`. |
| `port` | Puerto del servidor. |
| `encryption` | `none`, o un valor de [VLESS Encryption](#encryption). |
| `flow` | Opcional. `xtls-rprx-vision` o `xtls-rprx-vision-udp443`. |
| `type` | El [transporte](#transports). |
| `security` | `none`, `tls` o `reality`. |
| `sni`, `alpn`, `fp`, `pcs`, `ech`, `allowInsecure` | [Ajustes TLS](#tls). |
| `pbk`, `sid` | La clave pública y el ID corto de REALITY. |
| `host`, `path` | La cabecera `Host` y la ruta de WebSocket, HTTP Upgrade, HTTP/2 y XHTTP. Una ruta WebSocket puede incluir early data como `?ed=2048`. |
| `serviceName` | El nombre del servicio gRPC. |
| `mode` | El modo de XHTTP. |
| `name` | Opcional. El nombre del servidor en Potatso. |

Cuando Potatso comparte un servidor VLESS, escribe un enlace con esta forma.

### Ejemplos {#link-examples}

Cada ejemplo muestra el enlace que se importa. El ID de usuario es `3971e1b2-18a3-4f83-8fa6-bf9b142ee258`.

TLS sin transporte:

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&sni=vless.example.com&type=tcp#TLS
```

REALITY con Vision, tomando prestado `www.example.com`:

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=reality&sni=www.example.com&fp=chrome&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&type=tcp&flow=xtls-rprx-vision#REALITY-Vision
```

WebSocket sobre TLS a través de una CDN, con 2048 bytes de early data:

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=ws&host=cdn.example.com&path=%2Fws%3Fed%3D2048#WebSocket
```

gRPC sobre TLS:

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=grpc&serviceName=gun#gRPC
```

HTTP Upgrade sobre TLS:

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#HTTPUpgrade
```

XHTTP sobre TLS:

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=xhttp&host=cdn.example.com&path=%2Fxh&mode=auto#XHTTP
```

HTTP/2 sobre TLS:

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2
```

VLESS Encryption sin TLS:

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:8443?security=none&encryption=mlkem768x25519plus.native.0rtt.u7dtLE6KgE4mjeBK3oYdNMw6MJB47Ijr_9AG2avwSmY&type=tcp#Encryption
```

Source: https://potatso.com/docs/es/protocols/vless/index.mdx
