Skip to content

VMess

Los cifrados, transportes, enlaces y funciones de VMess que admite Potatso.

Updated Ver como Markdown

Un servidor VMess se describe con un UUID, un cifrado que protege el tráfico y un transporte que lleva la conexión, como WebSocket o gRPC, con o sin TLS. Potatso se conecta a un servidor cuando admite el cifrado, el transporte y los ajustes TLS de este. Usa las tablas siguientes para comprobar los ajustes de tu servidor, tal como los muestra tu proveedor o su enlace vmess://.

Puedes añadir un servidor VMess a mano, con un enlace vmess:// o importándolo desde:

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

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

Cifrados

Cifrado Admitido
auto ✅ Potatso elige aes-128-gcm, que todos los dispositivos Apple ejecutan por hardware.
aes-128-gcm ✅
chacha20-poly1305 ✅
none ✅
zero ❌
aes-128-cfb (heredado) ❌

none y zero envían tu tráfico sin cifrar. Usa none solo con TLS, que entonces cifra la conexión. Potatso no se conecta con zero, que además elimina la protección contra manipulaciones: elige otro cifrado en tu servidor.

alterId

Potatso siempre usa la autenticación VMess actual, que equivale a alterId 0. Los servidores cuyo usuario todavía tiene un alterId superior a 0 también la aceptan, así que puedes dejar el servidor como está. Potatso no admite la autenticación antigua que solo usaba un alterId superior a 0, que los servidores han dejado de recomendar desde 2022.

Transportes

Transporte net / type del enlace Admitido Probado con
Ninguno (TCP simple) tcp, o ninguno ✅ Con o sin TLS Xray, sing-box, V2Ray
WebSocket ws ✅ Con o sin TLS y early data Xray, sing-box, V2Ray
gRPC grpc ✅ Con o sin TLS Xray, sing-box, V2Ray
HTTP/2 h2 o http ✅ Con TLS sing-box, V2Ray
HTTP Upgrade httpupgrade ✅ Con o sin TLS Xray, sing-box
TCP con una cabecera HTTP tcp con type=http ❌
XHTTP xhttp ❌
mKCP, QUIC kcp, quic ❌

Todos los transportes admitidos funcionan con UDP. Potatso no importa un servidor cuyo transporte no admite.

El early data de WebSocket envía los primeros bytes de una conexión junto con la negociación WebSocket, ahorrando un viaje de ida y vuelta. Se indica con ?ed=2048 al final de la ruta del enlace, o con max-early-data en una suscripción de Clash.

Xray ya no ofrece HTTP/2: los servidores Xray que lo usaban ahora usan XHTTP, que Potatso todavía no admite.

TLS

Ajuste Clave de Clash Campo 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 y h2 para gRPC y HTTP/2.
Omitir verificación del certificado skip-cert-verify allowInsecure ✅
Huella digital del navegador client-fingerprint fp ✅ chrome, firefox, safari, ios, android, edge y random. Otros nombres se conectan con una negociación predeterminada.
Pin de certificado fingerprint pcs ❌
REALITY reality-opts security=reality ❌
Encrypted Client Hello (ECH) ech-opts ech ❌
Certificado de CA personalizado ❌

Desactivar la verificación del certificado permite que cualquiera entre tú y el servidor lea tu tráfico. Potatso no se conecta a un servidor VMess que necesite REALITY, ECH o un pin de certificado, porque conectarse sin ellos no daría la protección que pide el servidor. Usa VLESS o Trojan para REALITY.

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.

UDP

UDP está desactivado por defecto en los servidores VMess. Activa Retransmisión UDP en los ajustes del servidor, o indica udp: true en una suscripción de Clash.

Potatso envía cada flujo UDP por su propia conexión VMess, algo que aceptan todos los servidores VMess. No admite las codificaciones XUDP y PacketAddr (packetEncoding en un enlace, packet-encoding o xudp en una suscripción de Clash), que transportan muchos flujos UDP por una sola conexión: un servidor configurado con ellas sigue funcionando, y Potatso te avisa al importar de que usa en su lugar su propio UDP. Es posible que las apps que necesitan NAT full-cone, como algunos juegos, no funcionen con él.

Con la multiplexación activada, UDP viaja en cambio por la conexión compartida.

Multiplexación

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

Protocolo protocol de smux Servidores
Mux.Cool muxcool Xray, V2Ray y sing-box, sin ajuste en el servidor
sing-mux h2mux, smux, yamux sing-box con la multiplexación activada

Funcionan tanto TCP como UDP. Mux.Cool cierra a la vez ambas direcciones de una conexión, así que una app que deja de enviar y luego espera la respuesta debería usar un servidor sin multiplexación.

Opciones de petición

Un cliente VMess elige algunas opciones en cada conexión, y todos los servidores aceptan cualquiera de ellas. Potatso siempre envía su tráfico en fragmentos cifrados y marca el final de cada subida, y no activa las demás:

Opción Clave de Clash Potatso
Flujo de fragmentos Siempre activada
Enmascaramiento de fragmentos Desactivada
Padding global global-padding Desactivada. Potatso te avisa cuando importas un servidor que la activa.
Longitud autenticada authenticated-length Desactivada. Potatso te avisa cuando importas un servidor que la activa.

El enmascaramiento de fragmentos y el padding global ocultan el tamaño de cada fragmento a quien observe. Sin ellos, tu tráfico sigue sin poder leerse, pero su patrón es más fácil de reconocer.

Subidas grandes

Una sola conexión VMess puede subir unos 1 GiB. VMess numera sus fragmentos cifrados con un contador que se agota pasado ese límite, y seguir debilitaría el cifrado, así que Potatso cierra la conexión. Las descargas no tienen límite. Para subidas de más de 1 GiB en una sola conexión, usa un servidor VLESS o Trojan.

Compatibilidad de funciones

Función Admitida
Autenticación AEAD (alterId 0) ✅
Autenticación MD5 heredada (alterId superior a 0) ❌ Los servidores con alterId superior a 0 aceptan la autenticación AEAD.
Cifrados aes-128-gcm, chacha20-poly1305, none, auto ✅
Cifrados zero y el heredado aes-128-cfb ❌
Flujo de fragmentos, marcador de fin de subida ✅
Enmascaramiento de fragmentos, padding global, longitud autenticada ❌ Los servidores aceptan conexiones sin ellos
UDP ✅ Una conexión por flujo
Subidas de más de 1 GiB en una conexión ❌ Consulta Subidas grandes
XUDP, PacketAddr ❌
Mux.Cool ✅ TCP y UDP
sing-mux (h2mux, smux, yamux) ✅ TCP y UDP
Transportes Consulta Transportes
TLS Consulta TLS
Enlaces para compartir de v2rayN (versión 2) ✅
Enlaces para compartir de Xray ✅
Enlaces para compartir de Shadowrocket Solo importación

Un enlace vmess:// contiene un servidor completo en una sola línea. Potatso importa tres formas y comparte las dos primeras.

La forma de v2rayN, la más habitual, es un objeto JSON codificado en Base64:

vmess://base64({"v":"2","ps":"name","add":"host","port":"443","id":"uuid",…})
Campo Descripción
v Versión del formato, 2.
ps Opcional. El nombre del servidor en Potatso.
add Dirección del servidor.
port Puerto del servidor.
id El UUID.
aid alterId. Consulta alterId.
scy El cifrado. Sin él, auto.
net El transporte: tcp, ws, grpc, h2 o httpupgrade.
type none, o http para una cabecera HTTP de TCP, que Potatso no admite.
host La cabecera Host para WebSocket, HTTP/2 y HTTP Upgrade.
path La ruta para WebSocket, HTTP/2 y HTTP Upgrade, o el nombre del servicio para gRPC. Una ruta WebSocket puede terminar en ?ed=2048 para early data.
tls tls para usar TLS, o vacío.
sni, alpn, fp El nombre de servidor TLS, la lista ALPN y la huella digital del navegador.

La forma de Xray es una URL, con el cifrado en encryption y el transporte y los ajustes TLS como parámetros de consulta:

vmess://uuid@host:port?type=ws&security=tls&sni=…&host=…&path=…&encryption=auto#name
Parámetro Descripción
type El transporte.
encryption El cifrado. Sin él, auto.
security tls, o none.
sni, alpn, fp El nombre de servidor TLS, la lista ALPN y la huella digital del navegador.
host, path La cabecera Host y la ruta, como en la forma de v2rayN.
serviceName El nombre del servicio gRPC.
ed Early data de WebSocket, en bytes.

Potatso también importa la forma de Shadowrocket, vmess://base64(cipher:uuid@host:port)?remarks=…&obfs=websocket&….

Cada ejemplo muestra el enlace que se importa. El UUID es b831381d-6324-4d53-ad4f-8cda48b30811.

WebSocket con TLS y early data, a través de cdn.example.com, con la huella digital de Chrome:

vmess://eyJ2IjoiMiIsInBzIjoiV1MgVExTIiwiYWRkIjoidm1lc3MuZXhhbXBsZS5jb20iLCJwb3J0IjoiNDQzIiwiaWQiOiJiODMxMzgxZC02MzI0LTRkNTMtYWQ0Zi04Y2RhNDhiMzA4MTEiLCJhaWQiOiIwIiwic2N5IjoiYXV0byIsIm5ldCI6IndzIiwidHlwZSI6Im5vbmUiLCJob3N0IjoiY2RuLmV4YW1wbGUuY29tIiwicGF0aCI6Ii9yYXk/ZWQ9MjA0OCIsInRscyI6InRscyIsInNuaSI6ImNkbi5leGFtcGxlLmNvbSIsImFscG4iOiJodHRwLzEuMSIsImZwIjoiY2hyb21lIn0=

gRPC con TLS y aes-128-gcm, nombre de servicio vmess-grpc:

vmess://eyJ2IjoiMiIsInBzIjoiZ1JQQyIsImFkZCI6InZtZXNzLmV4YW1wbGUuY29tIiwicG9ydCI6IjQ0MyIsImlkIjoiYjgzMTM4MWQtNjMyNC00ZDUzLWFkNGYtOGNkYTQ4YjMwODExIiwiYWlkIjoiMCIsInNjeSI6ImFlcy0xMjgtZ2NtIiwibmV0IjoiZ3JwYyIsInBhdGgiOiJ2bWVzcy1ncnBjIiwidGxzIjoidGxzIiwic25pIjoidm1lc3MuZXhhbXBsZS5jb20ifQ==

TCP simple con chacha20-poly1305, en la forma de Xray:

vmess://b831381d-6324-4d53-ad4f-8cda48b30811@vmess.example.com:8080?type=tcp&encryption=chacha20-poly1305#Plain%20TCP

HTTP Upgrade con TLS, en la forma de Xray:

vmess://b831381d-6324-4d53-ad4f-8cda48b30811@vmess.example.com:443?type=httpupgrade&security=tls&sni=cdn.example.com&host=cdn.example.com&path=%2Fupgrade&encryption=auto#HTTP%20Upgrade

En una suscripción de Clash

proxies:
  - name: VMess WS
    type: vmess
    server: vmess.example.com
    port: 443
    uuid: b831381d-6324-4d53-ad4f-8cda48b30811
    alterId: 0
    cipher: auto
    udp: true
    tls: true
    servername: cdn.example.com
    network: ws
    ws-opts:
      path: /ray
      headers:
        Host: cdn.example.com
      max-early-data: 2048
      early-data-header-name: Sec-WebSocket-Protocol
Navegación

Type to search…

↑↓ navigate↵ selectEsc close